blob: cc779f7c2b7ca28701b741e7463ebcfb93e59a67 [file] [log] [blame]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" dir="ltr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="keywords" content="SMILA/Project Concepts/OntologyService,SMILA/Project Concepts/Data Model and XML representation" />
<link rel="shortcut icon" href="http://wiki.eclipse.org/SMILA/Project_Concepts/favicon.ico" />
<link rel="search" type="application/opensearchdescription+xml" href="http://wiki.eclipse.org/opensearch_desc.php" title="Eclipsepedia (English)" />
<link rel="alternate" type="application/rss+xml" title="Eclipsepedia RSS Feed" href="http://wiki.eclipse.org/index.php?title=Special:Recentchanges&amp;feed=rss" />
<link rel="alternate" type="application/atom+xml" title="Eclipsepedia Atom Feed" href="http://wiki.eclipse.org/index.php?title=Special:Recentchanges&amp;feed=atom" />
<title>SMILA/Project Concepts/OntologyService - Eclipsepedia</title>
<style type="text/css" media="screen,projection">/*<![CDATA[*/ @import "/skins/eclipsenova/novaWide.css?116"; /*]]>*/</style>
<link rel="stylesheet" type="text/css" media="print" href="http://wiki.eclipse.org/skins/eclipsenova/eclipsenovaPrint.css?116" />
<link rel="stylesheet" type="text/css" media="handheld" href="http://wiki.eclipse.org/skins/eclipsenova/handheld.css?116" />
<link rel="stylesheet" type="text/css" href="http://wiki.eclipse.org/skins/eclipsenova/Nova/css/header.css" media="screen" />
<link rel="stylesheet" type="text/css" href="http://wiki.eclipse.org/skins/eclipsenova/tabs.css" media="screen" />
<link rel="stylesheet" type="text/css" href="http://wiki.eclipse.org/skins/eclipsenova/Nova/css/visual.css" media="screen" />
<link rel="stylesheet" type="text/css" href="http://wiki.eclipse.org/skins/eclipsenova/Nova/css/layout.css" media="screen" />
<link rel="stylesheet" type="text/css" href="http://wiki.eclipse.org/skins/eclipsenova/Nova/css/footer.css" media="screen" />
<!--[if IE]><link rel="stylesheet" type="text/css" href="/skins/eclipsenova/IEpngfix.css" media="screen" /><![endif]-->
<!--[if lt IE 5.5000]><style type="text/css">@import "/skins/eclipsenova/IE50Fixes.css?116";</style> <![endif]-->
<!--[if IE 5.5000]><style type="text/css">@import "/skins/eclipsenova/IE55Fixes.css?116";</style><![endif]-->
<!--[if IE 6]><style type="text/css">@import "/skins/eclipsenova/IE60Fixes.css?116";</style><![endif]-->
<!--[if IE 7]><style type="text/css">@import "/skins/eclipsenova/IE70Fixes.css?116";</style><![endif]-->
<!--[if lt IE 7]><script type="text/javascript" src="/skins/common/IEFixes.js?116"></script>
<meta http-equiv="imagetoolbar" content="no" /><![endif]-->
<script type= "text/javascript">/*<![CDATA[*/
var skin = "eclipsenova";
var stylepath = "/skins";
var wgArticlePath = "/$1";
var wgScriptPath = "";
var wgScript = "/index.php";
var wgServer = "http://wiki.eclipse.org";
var wgCanonicalNamespace = "";
var wgCanonicalSpecialPageName = false;
var wgNamespaceNumber = 0;
var wgPageName = "SMILA/Project_Concepts/OntologyService";
var wgTitle = "SMILA/Project Concepts/OntologyService";
var wgAction = "view";
var wgRestrictionEdit = [];
var wgRestrictionMove = [];
var wgArticleId = "15168";
var wgIsArticle = true;
var wgUserName = null;
var wgUserGroups = null;
var wgUserLanguage = "en";
var wgContentLanguage = "en";
var wgBreakFrames = false;
var wgCurRevisionId = "112853";
var wgVersion = "1.12.0";
var wgEnableAPI = true;
var wgEnableWriteAPI = false;
/*]]>*/</script>
<script type="text/javascript" src="http://wiki.eclipse.org/skins/common/wikibits.js?116"><!-- wikibits js --></script>
<!-- Performance mods similar to those for bug 166401 -->
<script type="text/javascript" src="http://wiki.eclipse.org/index.php?title=-&amp;action=raw&amp;gen=js&amp;useskin=eclipsenova"><!-- site js --></script>
<!-- Head Scripts -->
<script type="text/javascript" src="http://wiki.eclipse.org/skins/common/ajax.js?116"></script>
<style type="text/css">/*<![CDATA[*/
.source-xml {line-height: normal; font-size: medium;}
.source-xml li {line-height: normal;}
/**
* GeSHi Dynamically Generated Stylesheet
* --------------------------------------
* Dynamically generated stylesheet for xml
* CSS class: source-xml, CSS id:
* GeSHi (C) 2004 - 2007 Nigel McNie (http://qbnz.com/highlighter)
*/
.source-xml .de1, .source-xml .de2 {font-family: 'Courier New', Courier, monospace; font-weight: normal;}
.source-xml {}
.source-xml .head {}
.source-xml .foot {}
.source-xml .imp {font-weight: bold; color: red;}
.source-xml .ln-xtra {color: #cc0; background-color: #ffc;}
.source-xml li {font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;}
.source-xml li.li2 {font-weight: bold;}
.source-xml .coMULTI {color: #808080; font-style: italic;}
.source-xml .es0 {color: #000099; font-weight: bold;}
.source-xml .br0 {color: #66cc66;}
.source-xml .st0 {color: #ff0000;}
.source-xml .nu0 {color: #cc66cc;}
.source-xml .sc0 {color: #00bbdd;}
.source-xml .sc1 {color: #ddbb00;}
.source-xml .sc2 {color: #339933;}
.source-xml .sc3 {color: #009900;}
.source-xml .re0 {color: #000066;}
.source-xml .re1 {font-weight: bold; color: black;}
.source-xml .re2 {font-weight: bold; color: black;}
/*]]>*/
</style>
<style type="text/css">/*<![CDATA[*/
@import "/index.php?title=MediaWiki:Geshi.css&usemsgcache=yes&action=raw&ctype=text/css&smaxage=18000";
/*]]>*/
</style><link rel="stylesheet" type="text/css" href="OntologyService.html" /> </head>
<body class="mediawiki ns-0 ltr page-SMILA_Project_Concepts_OntologyService">
<div id="globalWrapper">
<div id="column-one">
<!-- Eclipse Additions for the Top Nav start here M. Ward-->
<div id="header">
<div id="header-graphic">
<img src="http://wiki.eclipse.org/skins/eclipsenova/eclipse.png" alt="Eclipse Wiki">
</div>
<!-- Pulled 101409 Mward -->
<div class="portlet" id="p-personal">
<div class="pBody">
<ul>
<li id="pt-login"><a href="http://wiki.eclipse.org/index.php?title=Special:Userlogin&amp;returnto=SMILA/Project_Concepts/OntologyService">Log in</a></li>
</ul>
</div>
</div>
<div id="header-icons">
<div id="sites">
<ul id="sitesUL">
<li><a href="http://www.eclipse.org"><img src="http://dev.eclipse.org/custom_icons/eclipseIcon.png" width="28" height="28" alt="Eclipse Foundation" title="Eclipse Foundation" /><div>Eclipse Foundation</div></a></li>
<li><a href="http://marketplace.eclipse.org"><img src="http://dev.eclipse.org/custom_icons/marketplace.png" width="28" height="28" alt="Eclipse Marketplace" title="Eclipse Marketplace" /><div>Eclipse Marketplace</div></a></li>
<li><a href="https://bugs.eclipse.org/bugs"><img src="http://dev.eclipse.org/custom_icons/system-search-bw.png" width="28" height="28" alt="Bugzilla" title="Bugzilla" /><div>Bugzilla</div></a></li>
<li><a href="http://live.eclipse.org"><img src="http://dev.eclipse.org/custom_icons/audio-input-microphone-bw.png" width="28" height="28" alt="Live" title="Live" /><div>Eclipse Live</div></a></li>
<li><a href="http://planeteclipse.org"><img src="http://dev.eclipse.org/large_icons/devices/audio-card.png" width="28" height="28" alt="PlanetEclipse" title="Planet" /><div>Planet Eclipse</div></a></li>
<li><a href="http://portal.eclipse.org"><img src="http://dev.eclipse.org/custom_icons/preferences-system-network-proxy-bw.png" width="28" height="28" alt="Portal" title="Portal" /><div>My Foundation Portal</div></a></li>
</ul>
</div>
</div>
</div>
<!-- NEW HEADER STUFF HERE -->
<div id="header-menu">
<div id="header-nav">
<ul> <li><a class="first_one" href="http://wiki.eclipse.org/" target="_self">Home</a></li> <li><a href="http://www.eclipse.org/downloads/" target="_self">Downloads</a></li>
<li><a href="http://www.eclipse.org/users/" target="_self">Users</a></li>
<li><a href="http://www.eclipse.org/membership/" target="_self">Members</a></li>
<li><a href="http://wiki.eclipse.org/index.php/Development_Resources" target="_self">Committers</a></li>
<li><a href="http://www.eclipse.org/resources/" target="_self">Resources</a></li>
<li><a href="http://www.eclipse.org/projects/" target="_self">Projects</a></li>
<li><a href="http://www.eclipse.org/org/" target="_self">About Us</a></li>
</ul>
</div>
<div id="header-utils">
<!-- moved the search window here -->
<form action="http://wiki.eclipse.org/Special:Search" >
<input class="input" name="search" type="text" accesskey="f" value="" />
<input type='submit' onclick="this.submit();" name="go" id="searchGoButton" class="button" title="Go to a page with this exact name if one exists" value="Go" />&nbsp;
<input type='submit' onclick="this.submit();" name="fulltext" class="button" id="mw-searchButton" title="Search Eclipsepedia for this text" value="Search" />
</form>
</div>
</div>
<!-- Eclipse Additions for the Header stop here -->
<!-- Additions and mods for leftside nav Start here -->
<!--Started nav rip here-->
<!-- these are the nav controls main page, changes etc -->
<div id="novaContent" class="faux">
<div id="leftcol">
<ul id="leftnav">
<!-- these are the page controls, edit history etc -->
<li class="separator"><a class="separator">Navigation &#160;&#160;</li>
<li id="n-mainpage"><a href="http://wiki.eclipse.org/Main_Page">Main Page</a></li>
<li id="n-portal"><a href="http://wiki.eclipse.org/Eclipsepedia:Community_Portal">Community portal</a></li>
<li id="n-currentevents"><a href="http://wiki.eclipse.org/Eclipsepedia:Current_events">Current events</a></li>
<li id="n-recentchanges"><a href="http://wiki.eclipse.org/Special:Recentchanges">Recent changes</a></li>
<li id="n-randompage"><a href="http://wiki.eclipse.org/Special:Random">Random page</a></li>
<li id="n-help"><a href="http://wiki.eclipse.org/Help:Contents">Help</a></li>
<li class="separator"><a class="separator">Toolbox &#160;&#160;</a></li>
<li id="t-whatlinkshere"><a href="http://wiki.eclipse.org/Special:Whatlinkshere/SMILA/Project_Concepts/OntologyService">What links here</a></li>
<li id="t-recentchangeslinked"><a href="http://wiki.eclipse.org/Special:Recentchangeslinked/SMILA/Project_Concepts/OntologyService">Related changes</a></li>
<!-- This is the toolbox section -->
<li id="t-upload"><a href="http://wiki.eclipse.org/Special:Upload">Upload file</a></li>
<li id="t-specialpages"><a href="http://wiki.eclipse.org/Special:Specialpages">Special pages</a></li>
<li id="t-print"><a href="http://wiki.eclipse.org/index.php?title=SMILA/Project_Concepts/OntologyService&amp;printable=yes">Printable version</a></li> <li id="t-permalink"><a href="http://wiki.eclipse.org/index.php?title=SMILA/Project_Concepts/OntologyService&amp;oldid=112853">Permanent link</a></li> </ul>
</div>
<!-- Additions and mods for leftside nav End here -->
<div id="column-content">
<div id="content">
<a name="top" id="top"></a>
<div id="tabs">
<ul class="primary">
<li class="active"><a href="OntologyService.html"><span class="tab">Page</span></a></li>
<li><a href="http://wiki.eclipse.org/index.php?title=Talk:SMILA/Project_Concepts/OntologyService&amp;action=edit"><span class="tab">Discussion</span></a></li>
<li><a href="http://wiki.eclipse.org/index.php?title=SMILA/Project_Concepts/OntologyService&amp;action=edit"><span class="tab">View source</span></a></li>
<li><a href="http://wiki.eclipse.org/index.php?title=SMILA/Project_Concepts/OntologyService&amp;action=history"><span class="tab">History</span></a></li>
<li><a href="http://wiki.eclipse.org/index.php?title=Special:Userlogin&amp;returnto=SMILA/Project%20Concepts/OntologyService"><span class="tab">Edit</span></a></li>
</ul>
</div>
<script type="text/javascript"> if (window.isMSIE55) fixalpha(); </script>
<h1 class="firstHeading">SMILA/Project Concepts/OntologyService</h1>
<div id="bodyContent">
<h3 id="siteSub">From Eclipsepedia</h3>
<div id="contentSub"><span class="subpages">&lt; <a href="../../SMILA.html" title="SMILA">SMILA</a> | <a href="../Project_Concepts.1.html" title="SMILA/Project Concepts">Project Concepts</a></span></div>
<div id="jump-to-nav">Jump to: <a href="OntologyService.html#column-one">navigation</a>, <a href="OntologyService.html#searchInput">search</a></div> <!-- start content -->
<table id="toc" class="toc" summary="Contents"><tr><td><div id="toctitle"><h2>Contents</h2></div>
<ul>
<li class="toclevel-1"><a href="OntologyService.html#Putting_the_Semantics_in_SMILA"><span class="tocnumber">1</span> <span class="toctext">Putting the Semantics in SMILA</span></a>
<ul>
<li class="toclevel-2"><a href="OntologyService.html#Introduction"><span class="tocnumber">1.1</span> <span class="toctext">Introduction</span></a></li>
<li class="toclevel-2"><a href="OntologyService.html#About_SMILA.27s_Data_Model"><span class="tocnumber">1.2</span> <span class="toctext">About SMILA's Data Model</span></a></li>
<li class="toclevel-2"><a href="OntologyService.html#About_SMILA.27s_ID"><span class="tocnumber">1.3</span> <span class="toctext">About SMILA's ID</span></a></li>
<li class="toclevel-2"><a href="OntologyService.html#Adding_an_Ontology_to_SMILA"><span class="tocnumber">1.4</span> <span class="toctext">Adding an Ontology to SMILA</span></a></li>
<li class="toclevel-2"><a href="OntologyService.html#Representing_RDF_descriptions_in_SMILA_data_model"><span class="tocnumber">1.5</span> <span class="toctext">Representing RDF descriptions in SMILA data model</span></a></li>
<li class="toclevel-2"><a href="OntologyService.html#Summary_of_Meeting_with_DFKI.2FAperture_on_2008-07-22"><span class="tocnumber">1.6</span> <span class="toctext">Summary of Meeting with DFKI/Aperture on 2008-07-22</span></a></li>
<li class="toclevel-2"><a href="OntologyService.html#References"><span class="tocnumber">1.7</span> <span class="toctext">References</span></a></li>
</ul>
</li>
</ul>
</td></tr></table><script type="text/javascript"> if (window.showTocToggle) { var tocShowText = "show"; var tocHideText = "hide"; showTocToggle(); } </script>
<a name="Putting_the_Semantics_in_SMILA"></a><h2> <span class="mw-headline"> Putting the Semantics in SMILA </span></h2>
<p>This is a collection of ideas to initiate some brain storming. It may be a bit chaotic in parts (-;
</p>
<a name="Introduction"></a><h3> <span class="mw-headline"> Introduction </span></h3>
<p>Currently the SMILA implementation is free of any predefined semantics. This is intentional: We do not want to force users to any semantic scheme which might make it complicated to adopt the framework if no real ontology is needed. They can just put any data they want into the records and do not have to care about being consistent to an ontology that does not even meet their needs. The main purpose of SMILA is to provide a stable, reliable, scalable and performant infrastructure for enterprise information logistics application that might or might not use any formalized ontology as their basis.
</p><p>The other thing is that we do not want to restrict a user to a certain kind of ontology (SKOS, OWL, NEPOMUK, XESAM, ...), because we do not feel in a position to decide which one might be the best (or even acceptable) choice for all users. Also we have the impression that the Semantic Web community (is there a single one?) has not yet settled to a common accepted standard yet, that would be safe to use.
</p><p>So, the "SeMantic web" part in the name SMILA is currently not justified. We know this&nbsp;;-) Now that the first SMILA milestone has been done we want to move on and really add the SeMantic web to SMILA. This paper is intended to collect and discuss ideas how to do this.
</p><p>But first: Two issues have been criticized about SMILA: That it's data model is not RDF based and that it uses complex ID objects instead of URLs to identify records. Here are some more detailed explanations about the reasons for both of this.
</p>
<a name="About_SMILA.27s_Data_Model"></a><h3> <span class="mw-headline"> About SMILA's Data Model </span></h3>
<p>The SMILA data model is therefore free of any predefined semantics, it just defines container objects for services to put their data in such that other services can be configured to read it without having to know anything about other services (like specific data formats). It is not based on RDF because, despite of all generality, we wanted to have a distinction of different parts of data:
</p>
<ul><li> attributes: descriptions of documents, which might or might not be backed by an explicit ontology. This is the part of a SMILA record that matches a RDF description of a resource (see end of this page).
</li><li> annotations: additional data about the attributes and their values, used to control operation of processing services or to represent additional result data of services. This will be usually not be affected by the use of ontologies at all. Such annotations can be attached to each part of the metadata. Examples for annotations are (taken from IAS, we do not have much examples in current SMILA services yet):
<ul><li> filters, dynamic query weights and similar things to modify a search query.
</li><li> additional information produced by textminer about concepts recognized in fulltext (positions, PoS-tags, stemming info...)
</li></ul>
</li><li> attachments: raw binary document data, usually.
</li></ul>
<p>(Note that though we are talking about "documents" here, SMILA does not identify "records" with "documents", this is just the most common use case. SMILA records can also represent general database entities, persons and other document-unlike objects.)
</p><p>We think that it makes sense to distinguish between metadata attributes and annotations: attributes are defined by the application ontology (explicit or ad-hoc, with consistency checks or without - it does not matter), while annotations are defined by the used services (no ontology definition necessary, no consistence checking). This way the application developer can focus on designing the application ontology while the services can attach extra data to any part of the metadata they might need without forcing the developer to care about defining or including always the same placeholders.
</p><p>In other words: The idea of the data model is to wrap the RDF-like object that describe a document in conformance to the application ontology in another object that allows services to attach addidional data necessary for processing, but which no designer of an application ontology wants to care about. E.g., an OWL ontology still can define a datatype property with a simple string range, but services can do more with this attribute. The alternative would be to force the ontology use object properties with ranges of some "AnnotatableString" class. This would seem quite unnatural to us.
</p><p>A question is if we can make this "wrapping" more explicit in the naming of the SMILA data model element such that the relation between pure RDF objects and SMILA records becomes more obvious.
</p><p><br />
</p>
<a name="About_SMILA.27s_ID"></a><h3> <span class="mw-headline"> About SMILA's ID </span></h3>
<p>SMILA IDs are not just URIs. They need to be complex to be able to
</p>
<ul><li> identify objects with the same ID in consecutive "incremental update" runs.
</li><li> identify objects from all kinds of data sources - the key relative to a source could be a URI itself or consist of multiple key values (DB tables without single PK columns)
</li><li> identify objects contained in containers (which again could be part of a container, etc)
</li><li> it should be possible to access the original object using only data from the ID (and knowing about how to apply them to the data source, of course).
</li></ul>
<p>We did not find a possibility to express all this in a single URI. Ideas are appreciated (;
</p><p><br />
</p>
<a name="Adding_an_Ontology_to_SMILA"></a><h3> <span class="mw-headline"> Adding an Ontology to SMILA </span></h3>
<p>Aside from all this, SMILA will of course have a default "Ontology model" that users can use that need ontology support for their services but do not want to develop their own ontology model.
</p><p>Ontologies will be used to replace the IAS notions of "Models" as far as possible. I.e. they are used to store the declarative knowledge which semantic services can use for their operations. This includes (IAS-biased view!)
</p>
<ul><li> defining possible attributes and their value ranges.
</li><li> defining resources with names and synonyms or other expressions that can be used to detect them in full text (textminer model)
</li><li> annotate properties to define more special structures like taxonomies or other ordering for filtering and query expansion
</li><li> annotate properties to derive similarity measures
</li><li> express rules for query completion of adaptation
</li></ul>
<p>In contrast to the IAS models, Ontologies must allow much more dynamics and must scale much more better. Also the consuming service must be based on the assumption that the ontology changes and can contain a very large number of resources. This means
</p>
<ul><li> the ontology service cannot keep the complete ontology in memory, but must be based on a efficient database
</li><li> It must possibly support a change management such that clients that create internal structures from the ontology for more efficient computation (e.g. Textminer) can express their interest to changes in certain parts of the ontology such that they can update their internal structures instead of having to rebuild them.
</li><li> ontology changes are also done by SMILA services - the ontology is not read-only to SMILA.
</li></ul>
<p><a href="http://wiki.eclipse.org/Image:SMILA-Ontology-Service.png" class="image" title="Image:SMILA-Ontology-Service.png"><img alt="Image:SMILA-Ontology-Service.png" src="http://wiki.eclipse.org/images/1/1b/SMILA-Ontology-Service.png" width="800" height="600" border="0" /></a>
</p><p>The idea is to add an "Ontology background service" to SMILA that can be used by all services (and crawlers?) that need access to an ontology. Services that do not need ontology access can still use the data objects produced by other services by accessing the produced attributes. This service could have three components:
</p>
<ul><li> Ontology Store: an efficient database based storage for ontologies, e.g. an RDF triple store based on RDBMS. In-memory triple container are not appropriate in distributed, high-volume scenarios.
</li><li> API: easy-to-use API on Ontology Store to access and manipulate the stored triples. Should support a query language like SPARQL.
</li><li> Reasoner: Adds "intelligence" to the ontology by using the semantics of the ontology (whatever this means).
</li></ul>
<p>Services can use the API or SPARQL directly to access the ontology data as well as access the Reasoner to do more sophisticated computations.
</p><p>Issues:
</p>
<ul><li> Base of SMILA ontology
<ul><li> just RDF? to simplistic.
</li><li> OWL? which version?
</li><li> NRL?
</li></ul>
</li><li> Query Language:
<ul><li> SPARQL, probably.
</li></ul>
</li><li> Are there standard APIs for Ontology access, querying or reasoners that could be implemented? That would it make easier to switch the Ontology implementation.
<ul><li> <a href="http://owlapi.sourceforge.net/" class="external text" title="http://owlapi.sourceforge.net/" rel="nofollow">OWL API</a>? Is it relevant?
</li><li> SPARQL also defines a XML serialization format of results and a Web Service interface definition.
</li></ul>
</li><li> What must be can or must be provided by an Ontology Reasoner?
</li><li> Do we need an "upper ontology", i.e. a "common ontology" defining a set of classes and properties that are available generally? Or is it all user-definable (as in IAS)?
<ul><li> NEPOMUK ontologies (NFO, NMO)?
</li><li> XESAM?
</li><li> They could be helpful to simplify the configuration of crawlers (apart from serving as the base of an application ontology, of course): A certain crawler implementation could define fixed attribute names for the data that it produces: Instead of having to configure the output attributes for a crawler in each application a crawler implementation could use fixed attribute names (e.g. the file system crawler could use a subset of NFO property names as attributes) and, if necessary, Connectivity could define a mapping of those fixed names to application ontology names. This would collect all mapping configuration in a single place instead of distributing it among the crawler configs (defining output attributes for the crawler data is nothing else than defining a mapping from some implicit internal crawler ontology to the application ontology). It could even enable us to integrate non-SMILA RDF based crawlers (like Aperture?) that send RDF objects (based on their own ontologies) to Connectivity which converts them to records conforming to the SMILA application ontology.
</li></ul>
</li></ul>
<p><br />
</p>
<a name="Representing_RDF_descriptions_in_SMILA_data_model"></a><h3> <span class="mw-headline"> Representing RDF descriptions in SMILA data model </span></h3>
<p>Though the SMILA data model is not explicitly RDF based, a mapping of RDF objects to SMILA records is easily possible. A document's metadata could be represented in RDF as follows
</p>
<div dir="ltr" style="text-align: left;"><pre class="source-xml"><span class="sc3"><span class="re1">&lt;f:Document</span> <span class="re0">rdf:about</span>=<span class="st0">&quot;document-uri&quot;</span><span class="re2">&gt;</span></span>
<span class="sc3"><span class="re1">&lt;f:mimeType<span class="re2">&gt;</span></span></span>text/html<span class="sc3"><span class="re1">&lt;/f:mimeType<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;f:size</span> <span class="re0">rdf:datatype</span>=<span class="st0">&quot;http://www.w3.org/2001/XMLSchema#integer&quot;</span><span class="re2">&gt;</span></span>12345<span class="sc3"><span class="re1">&lt;/f:size<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;f:modificationDate</span> <span class="re0">rdf:datatype</span>=<span class="st0">&quot;http://www.w3.org/2001/XMLSchema#date&quot;</span><span class="re2">&gt;</span></span>2008-01-01<span class="sc3"><span class="re1">&lt;/f:modificationDate<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;f:keyword<span class="re2">&gt;</span></span></span>short<span class="sc3"><span class="re1">&lt;/f:keyword<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;f:keyword<span class="re2">&gt;</span></span></span>nothing<span class="sc3"><span class="re1">&lt;/f:keyword<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;f:author</span> <span class="re0">rdf:resource</span>=<span class="st0">&quot;author-uri&quot;</span><span class="re2">/&gt;</span></span>
<span class="sc3"><span class="re1">&lt;f:plaintext<span class="re2">&gt;</span></span></span>This is a very short text about nothing at all<span class="sc3"><span class="re1">&lt;/f:plaintext<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;/f:Document<span class="re2">&gt;</span></span></span></pre></div>
<p>would be represented as SMILA as (just an informative example):
</p>
<div dir="ltr" style="text-align: left;"><pre class="source-xml"><span class="sc3"><span class="re1">&lt;Record</span> <span class="re0">xmlns</span>=<span class="st0">&quot;&amp;rec;&quot;</span><span class="re2">&gt;</span></span>
<span class="sc3"><span class="re1">&lt;id:Id<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;id:Source<span class="re2">&gt;</span></span></span>source-uri<span class="sc3"><span class="re1">&lt;/id:Source<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;id:Key<span class="re2">&gt;</span></span></span>document-uri<span class="sc3"><span class="re1">&lt;/id:Key<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;/id:Id<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;A</span> <span class="re0">n</span>=<span class="st0">&quot;&amp;rdf;ID&quot;</span><span class="re2">&gt;</span></span> <span class="sc3"><span class="coMULTI">&lt;!-- if URI is needed as attribute --&gt;</span></span>
<span class="sc3"><span class="re1">&lt;L<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;V<span class="re2">&gt;</span></span></span>document-uri<span class="sc3"><span class="re1">&lt;/V<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;/L<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;/A<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;A</span> <span class="re0">n</span>=<span class="st0">&quot;&amp;rdf;type&quot;</span><span class="re2">&gt;</span></span> <span class="sc3"><span class="coMULTI">&lt;!-- just as an example --&gt;</span></span>
<span class="sc3"><span class="re1">&lt;L</span> <span class="re0">st</span>=<span class="st0">&quot;&amp;owl;Class&quot;</span><span class="re2">&gt;</span></span>
<span class="sc3"><span class="re1">&lt;V<span class="re2">&gt;</span></span></span><span class="sc1">&amp;f;</span>Document<span class="sc3"><span class="re1">&lt;/V<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;/L<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;/A<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;A</span> <span class="re0">n</span>=<span class="st0">&quot;&amp;f;mimeType&quot;</span><span class="re2">&gt;</span></span>
<span class="sc3"><span class="re1">&lt;L<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;V<span class="re2">&gt;</span></span></span>text/html<span class="sc3"><span class="re1">&lt;/V<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;/L<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;/A<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;A</span> <span class="re0">n</span>=<span class="st0">&quot;&amp;f;size&quot;</span><span class="re2">&gt;</span></span>
<span class="sc3"><span class="re1">&lt;L<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;V</span> <span class="re0">t</span>=<span class="st0">&quot;int&quot;</span><span class="re2">&gt;</span></span>12345<span class="sc3"><span class="re1">&lt;/V<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;/L<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;/A<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;A</span> <span class="re0">n</span>=<span class="st0">&quot;&amp;f;modificationDate&quot;</span><span class="re2">&gt;</span></span>
<span class="sc3"><span class="re1">&lt;L</span> <span class="re2">&gt;</span></span>
<span class="sc3"><span class="re1">&lt;V</span> <span class="re0">t</span>=<span class="st0">&quot;date&quot;</span><span class="re2">&gt;</span></span>2008-01-01<span class="sc3"><span class="re1">&lt;/V<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;/L<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;/A<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;A</span> <span class="re0">n</span>=<span class="st0">&quot;&amp;f;keyword&quot;</span><span class="re2">&gt;</span></span>
<span class="sc3"><span class="re1">&lt;L<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;V<span class="re2">&gt;</span></span></span>short<span class="sc3"><span class="re1">&lt;/V<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;V<span class="re2">&gt;</span></span></span>nothing<span class="sc3"><span class="re1">&lt;/V<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;/L<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;/A<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;A</span> <span class="re0">n</span>=<span class="st0">&quot;&amp;f;author&quot;</span><span class="re2">&gt;</span></span>
<span class="sc3"><span class="re1">&lt;L</span> <span class="re0">st</span>=<span class="st0">&quot;&amp;p;Author&quot;</span><span class="re2">&gt;</span></span>
<span class="sc3"><span class="re1">&lt;V<span class="re2">&gt;</span></span></span>author-uri<span class="sc3"><span class="re1">&lt;/V<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;/L<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;/A<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;A</span> <span class="re0">n</span>=<span class="st0">&quot;&amp;f;plaintext&quot;</span><span class="re2">&gt;</span></span>
<span class="sc3"><span class="re1">&lt;L<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;V<span class="re2">&gt;</span></span></span>This is a very short text about nothing at all<span class="sc3"><span class="re1">&lt;/V<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;/L<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;/A<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;/Record<span class="re2">&gt;</span></span></span></pre></div>
<p>Ok, so far this does not have any advantage over using RDF directly. But remember, we want to able to attach service specific extra data to this record. E.g. the keywords could have been extracted by some intelligent service and it wants to provide information about the occurrences of the keywords in the text to make it possible for some other service to create markup. And this other services wants to attach the text decorated with the markup:
</p>
<div dir="ltr" style="text-align: left;"><pre class="source-xml"><span class="sc3"><span class="re1">&lt;Record</span> <span class="re0">xmlns</span>=<span class="st0">&quot;&amp;rec;&quot;</span><span class="re2">&gt;</span></span>
<span class="sc3"><span class="re1">&lt;id:Id<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;id:Source<span class="re2">&gt;</span></span></span>source-uri<span class="sc3"><span class="re1">&lt;/id:Source<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;id:Key<span class="re2">&gt;</span></span></span>document-uri<span class="sc3"><span class="re1">&lt;/id:Key<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;/id:Id<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="coMULTI">&lt;!-- some attributes not repeated here --&gt;</span></span>
<span class="sc3"><span class="re1">&lt;A</span> <span class="re0">n</span>=<span class="st0">&quot;&amp;f;keyword&quot;</span><span class="re2">&gt;</span></span>
<span class="sc3"><span class="re1">&lt;L<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;V<span class="re2">&gt;</span></span></span>short<span class="sc3"><span class="re1">&lt;/V<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;An</span> <span class="re0">n</span>=<span class="st0">&quot;sourceRef&quot;</span><span class="re2">&gt;</span></span>
<span class="sc3"><span class="re1">&lt;V</span> <span class="re0">n</span>=<span class="st0">&quot;attribute&quot;</span><span class="re2">&gt;</span></span><span class="sc1">&amp;f;</span>plaintext<span class="sc3"><span class="re1">&lt;/V<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;V</span> <span class="re0">n</span>=<span class="st0">&quot;startPos&quot;</span><span class="re2">&gt;</span></span>16<span class="sc3"><span class="re1">&lt;/V<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;V</span> <span class="re0">n</span>=<span class="st0">&quot;endPos&quot;</span><span class="re2">&gt;</span></span>21<span class="sc3"><span class="re1">&lt;/V<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;V</span> <span class="re0">n</span>=<span class="st0">&quot;partOfSpeech&quot;</span><span class="re2">&gt;</span></span>adjective<span class="sc3"><span class="re1">&lt;/V<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;/An<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;/L<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;L<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;V<span class="re2">&gt;</span></span></span>nothing<span class="sc3"><span class="re1">&lt;/V<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;An</span> <span class="re0">n</span>=<span class="st0">&quot;sourceRef&quot;</span><span class="re2">&gt;</span></span>
<span class="sc3"><span class="re1">&lt;V</span> <span class="re0">n</span>=<span class="st0">&quot;attribute&quot;</span><span class="re2">&gt;</span></span><span class="sc1">&amp;f;</span>plaintext<span class="sc3"><span class="re1">&lt;/V<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;V</span> <span class="re0">n</span>=<span class="st0">&quot;startPos&quot;</span><span class="re2">&gt;</span></span>33<span class="sc3"><span class="re1">&lt;/V<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;V</span> <span class="re0">n</span>=<span class="st0">&quot;endPos&quot;</span><span class="re2">&gt;</span></span>40<span class="sc3"><span class="re1">&lt;/V<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;V</span> <span class="re0">n</span>=<span class="st0">&quot;partOfSpeech&quot;</span><span class="re2">&gt;</span></span>noun<span class="sc3"><span class="re1">&lt;/V<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;/An<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;/L<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;/A<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;A</span> <span class="re0">n</span>=<span class="st0">&quot;&amp;f;plaintext&quot;</span><span class="re2">&gt;</span></span>
<span class="sc3"><span class="re1">&lt;L<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;V<span class="re2">&gt;</span></span></span>This is a very short text about nothing at all<span class="sc3"><span class="re1">&lt;/V<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;An</span> <span class="re0">n</span>=<span class="st0">&quot;markup&quot;</span><span class="re2">&gt;</span></span>
<span class="sc3"><span class="re1">&lt;V<span class="re2">&gt;</span></span></span><span class="sc2">&lt;![CDATA[This is a very &lt;b&gt;short&lt;/b&gt; text about &lt;b&gt;nothing&lt;/b&gt; at all]]&gt;</span><span class="sc3"><span class="re1">&lt;/V<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;/An<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;/L<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;/A<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;/Record<span class="re2">&gt;</span></span></span></pre></div>
<p>Or in a retrieval we could want to add annotations to define filters that restrict the possible result set: The following object describes a query for a document about "short" and "nothing" (with "nothing" being more important for the ranking than "short"), but restricts the results to documents with mime types "text/html" or "text/plain". Not that there is not even a value for attribute f:mimeType, because we do no want to search for documents with certain mime types but only want to filter a search result (a very important difference in similarity-based retrieval).
</p>
<div dir="ltr" style="text-align: left;"><pre class="source-xml"><span class="sc3"><span class="re1">&lt;Record</span> <span class="re0">xmlns</span>=<span class="st0">&quot;&amp;rec;&quot;</span><span class="re2">&gt;</span></span>
<span class="sc3"><span class="re1">&lt;id:Id<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;id:Source<span class="re2">&gt;</span></span></span>query<span class="sc3"><span class="re1">&lt;/id:Source<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;id:Key<span class="re2">&gt;</span></span></span>1<span class="sc3"><span class="re1">&lt;/id:Key<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;/id:Id<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;A</span> <span class="re0">n</span>=<span class="st0">&quot;&amp;f;mimeType&quot;</span><span class="re2">&gt;</span></span>
<span class="sc3"><span class="re1">&lt;An</span> <span class="re0">n</span>=<span class="st0">&quot;filter&quot;</span><span class="re2">&gt;</span></span>
<span class="sc3"><span class="re1">&lt;V</span> <span class="re0">n</span>=<span class="st0">&quot;type&quot;</span><span class="re2">&gt;</span></span>exclude<span class="sc3"><span class="re1">&lt;/V<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;An</span> <span class="re0">n</span>=<span class="st0">&quot;values&quot;</span><span class="re2">&gt;</span></span>
<span class="sc3"><span class="re1">&lt;V<span class="re2">&gt;</span></span></span>text/plain<span class="sc3"><span class="re1">&lt;/V<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;V<span class="re2">&gt;</span></span></span>text/html<span class="sc3"><span class="re1">&lt;/V<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;/An<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;/An<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;/A<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;A</span> <span class="re0">n</span>=<span class="st0">&quot;&amp;f;keyword&quot;</span><span class="re2">&gt;</span></span>
<span class="sc3"><span class="re1">&lt;L<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;V<span class="re2">&gt;</span></span></span>short<span class="sc3"><span class="re1">&lt;/V<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;/L<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;L<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;V<span class="re2">&gt;</span></span></span>nothing<span class="sc3"><span class="re1">&lt;/V<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;An</span> <span class="re0">n</span>=<span class="st0">&quot;boost&quot;</span><span class="re2">&gt;</span></span>
<span class="sc3"><span class="re1">&lt;V<span class="re2">&gt;</span></span></span>2.0<span class="sc3"><span class="re1">&lt;/V<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;/An<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;/L<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;/A<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;/Record<span class="re2">&gt;</span></span></span></pre></div>
<p><br />
How could we represent something like this in pure RDF? Remeber, we still want to use something like OWL to naturally define an application ontology without forcing the user to have to think about this annotation stuff.
</p><p><br />
</p>
<a name="Summary_of_Meeting_with_DFKI.2FAperture_on_2008-07-22"></a><h3> <span class="mw-headline"> Summary of Meeting with DFKI/Aperture on 2008-07-22 </span></h3>
<p>We (Igor, Daniel, Jürgen and Ralph Traphoener (empolis)) met with <a href="http://www.dfki.uni-kl.de/~sauermann/" class="external text" title="http://www.dfki.uni-kl.de/~sauermann/" rel="nofollow">Leo Sauermann</a> from the <a href="http://aperture.sourceforge.net/" class="external text" title="http://aperture.sourceforge.net/" rel="nofollow">Aperture</a> and <a href="http://www.semanticdesktop.org/ontologies/" class="external text" title="http://www.semanticdesktop.org/ontologies/" rel="nofollow">NEPOMUK</a> project of DFKI to discuss how Aperture and SMILA can cooperate and to get feedback on SMILA from the point of view of the Semantic Web community. The main proposals were:
</p>
<ul><li> Record IDs should be URLs
<ul><li> Problem: How to express complex IDs as a single URL.
</li><li> Alternatively: Reduce IDs to Data source, key and Parent container key to reduce redundancy. A single key could be a URL in this case.
<ul><li> Problem: need to look up parents of parents of... to actually locate a record source.
</li></ul>
</li><li> Additionally: add hints about container type to &lt;Element&gt; (e.g. mime type), such that an locator knows that the container must be e.g. unzipped to access the element.
<ul><li> Could be helpful. We are not completely sure yet, if it is really necessary.
</li></ul>
</li></ul>
</li></ul>
<ul><li> The data model should be based on RDF
<ul><li> problems
<ul><li> How to process RDF objects with BPEL? There is no XSD that could used for the WSDL definition.
</li><li> What would the resulting API look like?
</li><li> Actual data could get more diverse because each service can add its own "ontology" (e.g. textminer tokens, retrieval filters) to add service specific annotations -&gt; decreased interoperability?
</li></ul>
</li><li> We have to think about it because the data model API is pretty cetral to the system and cannot be changed easily.
</li></ul>
</li></ul>
<p>As an experiment: Something similar to the above example record with annotations in RDF:
</p>
<div dir="ltr" style="text-align: left;"><pre class="source-xml"><span class="sc3"><span class="re1">&lt;smila:Record</span> <span class="re0">rdf:about</span>=<span class="st0">&quot;$URL&quot;</span><span class="re2">&gt;</span></span>
<span class="sc3"><span class="re1">&lt;smila:datasource</span> <span class="re0">rdf:resource</span>=<span class="st0">&quot;$SOURCE_URL&quot;</span><span class="re2">/&gt;</span></span>
<span class="sc3"><span class="re1">&lt;smila:parent</span> <span class="re0">rdf:resource</span>=<span class="st0">&quot;$PARENT_URL&quot;</span><span class="re2">/&gt;</span></span>
<span class="sc3"><span class="re1">&lt;dc:format<span class="re2">&gt;</span></span></span>text/html<span class="sc3"><span class="re1">&lt;/dc:format<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;dc:subject<span class="re2">&gt;</span></span></span>short<span class="sc3"><span class="re1">&lt;/dc:subject<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;dc:subject<span class="re2">&gt;</span></span></span>nothing<span class="sc3"><span class="re1">&lt;/dc:subject<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;retrieval:filter<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;retrieval:EnumFilter<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;smila:attribute</span> <span class="re0">rdf:resource</span>=<span class="st0">&quot;&amp;dc;format&quot;</span><span class="re2">/&gt;</span></span>
<span class="sc3"><span class="re1">&lt;retrieval:filterMode<span class="re2">&gt;</span></span></span>inclusive<span class="sc3"><span class="re1">&lt;/retrieval:filterMode<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;retrieval:filterValue<span class="re2">&gt;</span></span></span>text/html<span class="sc3"><span class="re1">&lt;/retrieval:filterValue<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;retrieval:filterValue<span class="re2">&gt;</span></span></span>text/plain<span class="sc3"><span class="re1">&lt;/retrieval:filterValue<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;retrieval:EnumFilter<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;/retrieval:filter<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;retrieval:boost<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;retrieval:Boost<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;smila:attribute</span> <span class="re0">rdf:resource</span>=<span class="st0">&quot;&amp;dc;subject&quot;</span><span class="re2">/&gt;</span></span>
<span class="sc3"><span class="re1">&lt;retrieval:boostFactor<span class="re2">&gt;</span></span></span>2<span class="sc3"><span class="re1">&lt;/retrieval:boostFactor<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;/retrieval:Boost<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;/retrieval:boost<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;textmining:tokenlist<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;textmining:TokenList<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;smila:attribute</span> <span class="re0">rdf:resource</span>=<span class="st0">&quot;&amp;smila;fulltext&quot;</span><span class="re2">/&gt;</span></span> <span class="sc3"><span class="coMULTI">&lt;!-- source attribute --&gt;</span></span>
<span class="sc3"><span class="re1">&lt;textmining:token<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;textmining:Token<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;smila:attribute</span> <span class="re0">rdf:resource</span>=<span class="st0">&quot;&amp;dc;subject&quot;</span><span class="re2">/&gt;</span></span> <span class="sc3"><span class="coMULTI">&lt;!-- target attribute --&gt;</span></span>
<span class="sc3"><span class="re1">&lt;textmining:tokenSource<span class="re2">&gt;</span></span></span>short<span class="sc3"><span class="re1">&lt;/textmining:source<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;textmining:tokenStart<span class="re2">&gt;</span></span></span>13<span class="sc3"><span class="re1">&lt;/textmining:tokenStart<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;textmining:tokenEnd<span class="re2">&gt;</span></span></span>17<span class="sc3"><span class="re1">&lt;/textmining:tokenEnd<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;textmining:tokenPos<span class="re2">&gt;</span></span></span>ADJECTIVE<span class="sc3"><span class="re1">&lt;/textmining:tokenPos<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;/textmining:Token<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;textmining:Token<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;smila:attribute</span> <span class="re0">rdf:resource</span>=<span class="st0">&quot;&amp;dc;subject&quot;</span><span class="re2">/&gt;</span></span> <span class="sc3"><span class="coMULTI">&lt;!-- target attribute --&gt;</span></span>
<span class="sc3"><span class="re1">&lt;textmining:tokenSource<span class="re2">&gt;</span></span></span>nothing<span class="sc3"><span class="re1">&lt;/textmining:source<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;textmining:tokenStart<span class="re2">&gt;</span></span></span>27<span class="sc3"><span class="re1">&lt;/textmining:tokenStart<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;textmining:tokenEnd<span class="re2">&gt;</span></span></span>32<span class="sc3"><span class="re1">&lt;/textmining:tokenEnd<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;textmining:tokenPos<span class="re2">&gt;</span></span></span>NOUN<span class="sc3"><span class="re1">&lt;/textmining:tokenPos<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;/textmining:Token<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;/textmining:token<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;/textmining:TokenList<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;/textmining:tokenlist<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;/smila:Record<span class="re2">&gt;</span></span></span></pre></div>
<p>Note that I have found no way yet to attach the Boost annotation only to one value of property dc:subject. In this example the complete attribute is "boosted". This could be another major problem with RDF as a SMILA data model: Something expressable in IAS is not representable in RDF.
</p>
<ul><li> SMILA application ontologies should be based on existing "standards":
<ul><li> <a href="http://dublincore.org/" class="external text" title="http://dublincore.org/" rel="nofollow">Dublin Core</a>, <a href="http://www.adobe.com/products/xmp/" class="external text" title="http://www.adobe.com/products/xmp/" rel="nofollow">XMP</a> to describe documents
</li><li> <a href="http://www.semanticdesktop.org/ontologies/" class="external text" title="http://www.semanticdesktop.org/ontologies/" rel="nofollow">NEPOMUK</a> for different kinds of information objects.
</li><li> <a href="http://www.w3.org/2004/02/skos/" class="external text" title="http://www.w3.org/2004/02/skos/" rel="nofollow">SKOS</a> to model taxonomies
</li><li> maybe <a href="http://xmlns.com/foaf/spec/" class="external text" title="http://xmlns.com/foaf/spec/" rel="nofollow">FOAF</a> for persons?
</li><li> Properties not covered by standards but also common to typical SMILA application should be pre-defined and published by SMILA.
</li></ul>
</li></ul>
<p><br />
</p>
<a name="References"></a><h3> <span class="mw-headline"> References </span></h3>
<ol><li> <a href="Data_Model_and_XML_representation.html" title="SMILA/Project Concepts/Data Model and XML representation">SMILA/Project Concepts/Data Model and XML representation</a>
</li><li> <a href="http://www.semanticdesktop.org/ontologies/" class="external text" title="http://www.semanticdesktop.org/ontologies/" rel="nofollow">NEPOMUK Ontologies</a>
</li><li> <a href="http://xesam.org/main/XesamIteration1" class="external text" title="http://xesam.org/main/XesamIteration1" rel="nofollow">XESAM Ontology</a>
</li></ol>
<!--
NewPP limit report
Preprocessor node count: 24/1000000
Post-expand include size: 0/2097152 bytes
Template argument size: 0/2097152 bytes
#ifexist count: 0/100
-->
<!-- Saved in parser cache with key wikidb:pcache:idhash:15168-0!1!0!!en!2!edit=0 and timestamp 20120202201916 -->
<div class="printfooter">
Retrieved from "<a href="OntologyService.html">http://wiki.eclipse.org/SMILA/Project_Concepts/OntologyService</a>"</div>
<div id="catlinks"><p class='catlinks'><a href="http://wiki.eclipse.org/Special:Categories" title="Special:Categories">Category</a>: <span dir='ltr'><a href="http://wiki.eclipse.org/Category:SMILA" title="Category:SMILA">SMILA</a></span></p></div> <!-- end content -->
<div class="visualClear"></div>
</div>
</div>
</div>
<!-- Yoink of toolbox for phoenix moved up -->
</div>
</div>
<div id="clearFooter"/>
<div id="footer" >
<ul id="footernav">
<li class="first"><a href="http://www.eclipse.org/">Home</a></li>
<li><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></li>
<li><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></li>
<li><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></li>
<li><a href="http://www.eclipse.org/org/foundation/contact.php">Contact</a></li>
<li><a href="http://wiki.eclipse.org/Eclipsepedia:About" title="Eclipsepedia:About">About Eclipsepedia</a></li>
</ul>
<span id="copyright">Copyright &copy; 2012 The Eclipse Foundation. All Rights Reserved</span>
<p id="footercredit">This page was last modified 15:04, 7 August 2008 by <a href="http://wiki.eclipse.org/User:Juergen.schumacher.empolis.com" title="User:Juergen.schumacher.empolis.com">Juergen Schumacher</a>. </p>
<p id="footerviews">This page has been accessed 2,589 times.</p>
</div>
<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
var pageTracker = _gat._getTracker("UA-910670-4");
pageTracker._trackPageview();
</script>
<!-- <div class="visualClear"></div> -->
<script type="text/javascript">if (window.runOnloadHook) runOnloadHook();</script>
</div>
<!-- Served in 0.060 secs. --></body></html>