diff options
author | Sebastian Trueg <trueg@kde.org> | 2009-07-10 19:14:43 +0000 |
---|---|---|
committer | Sebastian Trueg <trueg@kde.org> | 2009-07-10 19:14:43 +0000 |
commit | 49bbb0d6261e4a4d1a33297d05efc5a72af034b5 (patch) | |
tree | 76cad157d221a6108d2a92bdde73937a0c2c6321 | |
parent | f1ba0ce2e784601c0acb7a4e82b52613dcf1d154 (diff) |
Added doc headers for NRL and NAO - extracted from the web page. It would be better to get the original from DERI - will do that next week.
-rw-r--r-- | nao/doc/nao-header.html | 3466 | ||||
-rw-r--r-- | nrl/doc/nrl-header.html | 11143 | ||||
-rw-r--r-- | nrl/nrl.trig | 291 |
3 files changed, 14900 insertions, 0 deletions
diff --git a/nao/doc/nao-header.html b/nao/doc/nao-header.html new file mode 100644 index 0000000..d4694cc --- /dev/null +++ b/nao/doc/nao-header.html @@ -0,0 +1,3466 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html style="direction: ltr;" xmlns="http://www.w3.org/1999/xhtml" lang="en-us"> +<head> + + + + + + + + + + + + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> + + + + + + + + + + + + <link rel="stylesheet" type="text/css" href="nepomuk-ontology-docs.css" /> + + + + + + + + + + + + + + + + + + <title>NEPOMUK Annotation Ontology (NAO)</title> + <meta content="Simon Scerri" name="author" /> + + + + + + + + + + + + <meta content="Specifications for the NEPOMUK Annotation Ontology, including Graph Metadata Vocabulary" name="description" /> +</head> + + +<body> + + + + + + +<div class="head"> +<div class="nav"> <a href="http://nepomuk.semanticdesktop.org"> <img src="nepomuk1.png" /></a><a href="http://nepomuk.semanticdesktop.org/"><img style="border: 0px solid ; width: 180px; height: 88px;" alt="NEPOMUK Logo" src="nepomuk.png" /></a></div> + + + + + + +<h1>NEPOMUK Annotation Ontology Specification</h1> + + + + + + +<big style="color: rgb(0, 90, 156);">Task-Force Ontologies</big> +<dl> + + + + + + + <dt>Latest Version:</dt> + + + + + + + <dd><a href="http://www.semanticdesktop.org/ontologies/2007/08/15/nao">http://www.semanticdesktop.org/ontologies/nao</a></dd> + + + + + + + <dt></dt> + + + + + + + <dt>This Version:</dt> + + + + + + + <dd><a href="http://www.semanticdesktop.org/ontologies/2007/08/15/nao">http://www.semanticdesktop.org/ontologies/2007/08/15/nao</a></dd> + + + + + + +</dl> + + + + + + +<dl> + + + + + + + <dt>Authors:</dt> + + + + + + + <dd>Simon Scerri, DERI/NUIG, <a href="mailto:simon.scerri@deri.org">simon.scerri@deri.org</a></dd> + + + + + + + <dd>Michael Sintek, DFKI, <a href="mailto:michael.sintek@dfki.de">michael.sintek@dfki.de</a></dd> + + + + + + + <dd>Ludger van Elst, DFKI, <a href="mailto:elst@dfki.uni-kl.de">elst@dfki.uni-kl.de</a></dd> + + + + + + + <dd>Siegfried Handschuh, DERI/NUIG, <a href="siegfried.handschuh@deri.org">siegfried.handschuh@deri.org</a></dd> + + + + + + +</dl> + + + + + + +<span style="font-weight: bold;">Editor:</span> <br /> + + + + + + +<div style="margin-left: 40px;">Simon Scerri, DERI/NUIG, <a href="mailto:simon.scerri@deri.org">simon.scerri@deri.org</a> +</div> + + + + + + +<dl> + + + + + + + <dt>Contributors:</dt> + + + + + + + <dd>Leo Sauermann, DFKI, <a href="mailto:leo.sauermann@dfki.de">leo.sauermann@dfki.de</a></dd> + + + + + + + <dd>Max Völkel, FZI, <a href="mailto:voelkel@fzi.de">voelkel@fzi.de</a></dd> + + + + + + + <dd>Sebastian Trüg, EDGE-IT, <span class="wikiexternallink"><a href="mailto:strueg@mandriva.com">strueg@mandriva.com</a></span></dd> + + + + + + + <dd>Knud Möller, DERI/NUIG, <a href="mailto:knud.moeller@deri.org">knud.moeller@deri.org</a></dd> + + + + + + + <dd>Julien Gaugaz, L3S, <a href="mailto:gaugaz@l3s.de">gaugaz@l3s.de</a> </dd> + + + + + + + <dd>Antoni Mylka, DFKI, <a href="mailto:antoni.mylka@dfki.de">antoni.mylka@dfki.de</a> <br /> + + + + + + + </dd> + + + + + + +</dl> + + + + + + +<dl> + + + + + + + <dt><span style="font-weight: bold;">Ontology:</span></dt> + + + + + + + <dd>XML/RDFS Serialization: <a href="http://www.semanticdesktop.org/ontologies/2007/08/15/nao/nao_data.rdfs">NAO +(Data Graph Only)</a></dd> + + + + + + + <dd>XML/RDFS Serialization: <a href="http://www.semanticdesktop.org/ontologies/2007/08/15/nao/nao_metadata.rdfs">NAO +(Metadata Graph Only)</a></dd> + + + + + + + <dd>TriG Serialization: <a href="http://www.semanticdesktop.org/ontologies/2007/08/15/nao/nao.trig">NAO +(Graph Set)</a><span class="wikiexternallink"></span></dd> + + + + + + +</dl> + + + + + + +<dl> + + + + + + + <dd></dd> + + + + + + +</dl> + + + + + + +</div> + + + + + + +<p class="copyright"> Copyright © 2007 <a href="http://nepomuk.semanticdesktop.org/">NEPOMUK Consortium</a><sup>®</sup> +This work is made available under the terms of NEPOMUK <a href="LICENSE.txt">software license</a> +</p> + + + + + + +<hr /> +<h2><a class="mozTocH2" name="mozTocId474323"></a>Abstract</h2> + + + + + + +<p style="text-align: justify;">The annotation ontology +provides +vocabulary that enables users to attach custom descriptions, +identifiers, tags and ratings to resources on their desktop. Via other +properties, the user is also able to make generic relationships between +related resources explicit. Some relationships between resources are +too general to be included at the domain ontology level. Instead, these +properties are also defined in the annotation ontology. Given the +high-level status of this ontology, these propreties can be +used +to link any related resources on the user's desktop, as well +as +provide custom human-readable textual annotations.</p> + + + + + + +<h2><a class="mozTocH2" name="mozTocId596458"></a>Status +of this document</h2> + + + + + + +<div id="sotd"> +<p style="text-align: justify;"> This document arose from +the work of the Task-Force ontologies within the [<a href="http://nepomuk.semanticdesktop.org/">NEPOMUK Project</a>]. +It presents the specifications for the first version of the NAO +vocabulary. The ontology is still being tested, which means that the +ontology and this specification document are prone to +change. The +document itself is pending a review by the general NEPOMUK consortium, +upon which it might be promoted from a draft to an official form. +Subsequent versions of NAO might mean that the specification documents +of the later versions render this document obsolete, with respect to +the version of NAO in use, but not with respect to this version. </p> + + + + + + +</div> + + + + + + +<div class="toc"> +<h2 id="contents"><a class="mozTocH2" name="mozTocId577732"></a>Contents</h2> + + + + + + +</div> + + + + + + +<div> +<ul id="mozToc"> + + + + +<!--mozToc h2 1 h3 2 h4 3 h5 4--><li><a href="#mozTocId474323">Abstract</a></li> + + + + + <li><a href="#mozTocId596458">Status +of this document</a></li> + + + + + <li><a href="#mozTocId577732">Contents</a></li> + + + + + <li><a href="#mozTocId738538">1. Introduction</a></li> + + + + + <li><a href="#mozTocId127057">2. Generic +Annotation Vocabulary</a> + + + + + <ul> + + + + + <li><a href="#mozTocId775195">2.1. +Basic Annotation</a> + + + + + <ul> + + + + + <li><a href="#mozTocId991277">2.1.1. nao:annotation + + </a></li> + + + + + <li><a href="#mozTocId95916">2.1.2. rdfs:label + + </a></li> + + + + + <li><a href="#mozTocId231785">2.1.3. rdfs:comment + + </a></li> + + + + + <li><a href="#mozTocId827817">2.1.4. nao:hasSymbol + + </a></li> + + + + + <li><a href="#mozTocId309849">2.1.5. nao:rating + + </a></li> + + + + + <li><a href="#mozTocId802441">2.1.6. nao:identifier + + </a></li> + + + + + <li><a href="#mozTocId554293">2.1.7. nao:Symbol + + </a></li> + + + + + <li><a href="#mozTocId323566">2.1.8. nao:Tag + + </a></li> + + + + + <li><a href="#mozTocId540464">2.1.9. nao:Party + + </a></li> + + + + + + + + + </ul> + + + + + </li> + + + + + <li><a href="#mozTocId187157">2.2. More +Specific Annotation</a> + + + + + <ul> + + + + + <li><a href="#mozTocId17438">2.2.1. nao:isRelated + + </a></li> + + + + + <li><a href="#mozTocId953268">2.2.2. nao:hasTopic + + </a></li> + + + + + <li><a href="#mozTocId682683">2.2.3. nao:isTopicOf + + </a></li> + + + + + <li><a href="#mozTocId292538">2.2.4. nao:hasTag</a></li> + + + + + <li><a href="#mozTocId891981">2.2.5. +nao:isTagFor</a></li> + + + + + <li><a href="#mozTocId460510">2.2.6. nao:prefLabel + + </a></li> + + + + + <li><a href="#mozTocId337732">2.2.7. nao:altLabel + + </a></li> + + + + + <li><a href="#mozTocId418437">2.2.8. +nao:pluralPrefLabel + + </a></li> + + + + + <li><a href="#mozTocId541375">2.2.9. nao:prefSymbol + + </a></li> + + + + + <li><a href="#mozTocId27440">2.2.10. nao:altSymbol</a></li> + + + + + <li><a href="#mozTocId845316">2.2.11. +nao:description + + </a></li> + + + + + <li><a href="#mozTocId591601">2.2.12. +nao:personalIdentifier + + </a></li> + + + + + <li><a href="#mozTocId4771">2.2.13. +nao:numericRating</a></li> + + + + + <li><a href="#mozTocId430224">2.2.14. nao:creator</a></li> + + + + + <li><a href="#mozTocId321643">2.2.15. +nao:contributor</a></li> + + + + + <li><a href="#mozTocId287675">2.2.16. nao:modified</a></li> + + + + + <li><a href="#mozTocId288437">2.2.17. nao:created</a></li> + + + + + <li><a href="#mozTocId412121">2.2.18. +nao:lastModified</a></li> + + + + + <li><a href="#mozTocId601106">2.2.19. +nao:score</a></li> + + + + + <li><a href="#mozTocId105820">2.2.20. +nao:scoreParameter</a></li> + + + + + <li><a href="#mozTocId400559">2.2.21. +nao:FreeDesktopIcon</a></li> + + + + + <li><a href="#mozTocId232585">2.2.22. +nao:iconName</a></li> + + + + + <li><a href="#mozTocId880189">2.2.23. +nao:hasSubResource</a></li> + + + + + <li><a href="#mozTocId693750">2.2.24. +nao:hasSuperResource</a></li> + + + + + + + + + </ul> + + + + + </li> + + + + + <li><a href="#mozTocId620976">2.3. +Tagging as Annotation + + </a></li> + + + + + <li><a href="#mozTocId873837">2.4. +Generic Annotation Example</a></li> + + + + + + + + + </ul> + + + + + </li> + + + + + <li><a href="#mozTocId836701">3. Graph +Metadata Vocabulary</a> + + + + + <ul> + + + + + <li><a href="#mozTocId215877">3.1 +General Graph Metadata</a> + + + + + <ul> + + + + + <li><a href="#mozTocId925972">3.1.4. +nao:hasDefaultNamespace</a></li> + + + + + <li><a href="#mozTocId505129">3.1.5. +nao:hasDefaultNamespaceAbbreviation</a></li> + + + + + <li><a href="#mozTocId297228">3.1.6. +nao:engineeringTool + + </a></li> + + + + + <li><a href="#mozTocId652689">3.1.7. nao:version</a></li> + + + + + <li><a href="#mozTocId642918">3.1.8. nao:status</a></li> + + + + + + + + + </ul> + + + + + </li> + + + + + <li><a href="#mozTocId370287">3.2. Document +Graph Metadata</a> + + + + + <ul> + + + + + <li><a href="#mozTocId89753">3.3.1. +nao:serializationLanguage</a></li> + + + + + + + + + </ul> + + + + + </li> + + + + + <li><a href="#mozTocId785190">3.3. Graph +Metadata Example</a></li> + + + + + + + + + </ul> + + + + + </li> + + + + + <li><a href="#mozTocId760420">References</a></li> + + + + + <li><a href="#mozTocId78171">Appendix +A. NAO Vocabulary Summary + + </a> + + + + + <ul> + + + + + <li><a href="#mozTocId177728">A1: +Ontology Classes Description</a></li> + + + + + <li><a href="#mozTocId918756">A2: +Ontology Properties Description</a></li> + + + + + + + + + </ul> + + + + + </li> + + + + +</ul> + + + + + + +<hr style="width: 100%; height: 2px;" /> +<h1>NAO Vocabulary Specification</h1> + + + + + + +<p style="text-align: justify;">This document presents the +specifications for the NEPOMUK Annotation Ontology, a vocabulary for +resource annotation that is based on the NEPOMUK Representational +Language [<a href="#References">NRL SPECIFICATION</a>]. +The ontology is available for general and individual use and +is independent of the domain for which it was initially designed for, +namely the [<a href="http://nepomuk.semanticdesktop.org/">NEPOMUK +Social Semantic Desktop</a>] initiative. The +NEPOMUK in +the ontology name (NAO) has been +retained only for historic purposes. </p> + + + + + + +<p style="text-align: justify;">The document is +structured as follows. +Section 1 provides an insight of what we consider to be annotation +within the context of NRL and the social semantic desktop. Section 2 +introduces vocabulary for generic annotation, i.e. general annotation +of resources, with a particular emphasis on how conventional tagging +can also be represented using this ontology. Section 3 introduces +vocabulary that supports annotation for graphs, or graph metadata. +Given the important role that named graphs have in NRL, +annotation for graphs is also consideted part of this +ontology. Finallya summary of all the NAO +vocabulary elements is given in [ <a href="#Appendix_A._NAO_Vocabulary_Summary">Appendix A</a>]. +</p> + + + + + + +<h2><a class="mozTocH2" name="mozTocId738538"></a><a name="1._Introduction"></a>1. Introduction</h2> + + + + + + +<div style="text-align: justify;"> +<p>The meaning of the term annotation is highly contextual. +Depending +on the context, anything or nothing can be considered as annotation +within a data set (or named graph). On the social semantic +desktop, the average user is frequently seen creating representations +of objects on their desktop, while the more experienced user is also +frequently creating representations of concepts and their +relationships. Sharing and creating relationships between all +these resources across multiple desktops is what makes a user's desktop +social and semantic. Within this context, we consider annotation to be +anything that goes further than creating resources and +defining +their elementary relationships. A user can create an instance of a +'Person', and provide values for all the elementary properties that an +instance of 'Person' can have. The user can then go one step ahead and +annotate the resources with more information, of a textual (e.g. custom +human-readable descriptions) or non-textual (e.g. links to related +resources) +nature. In a typical scenario there may be a +number of domain-centric properties for the classes 'Person' (e.g. +name, address, knows etc.) and 'Document' (e.g. author, title etc.). +Via vocabulary in the annotation ontology the user can provide +personalized, user-friendly labels and descriptions for a resource, as +well as other things like tags and ratings. Generic +relationships may exist between resources across multiple domains, and +making these relationships explicit would be of great benefit for the +user. For example, a user wants to state that a +'Document' is about some instance of 'Person'. This relationship is too +general to be applied at the domain +ontology level, since such a relationship may exist between +other concepts in other domains e.g. between 'Conference' and +'Technology'. Vocabulary that is able to express these generic +relationships are therefore provided by the annotation +ontology. Although this information is optional and does not reflect +the elementary nature of a 'Document', it contributes to +improved +data unification and eases user search. </p> + + + + + + +<p style="text-align: justify;">We model annotation via +properties, rather than classes, since +we +believe that annotation is a relationship and not a concept. This was +also the idea for the rdfs:label and rdfs:comment properties in the +RDFS vocabulary, which we consider as textual annotation. These +properties are in fact included in our specifications, especially since +in the context of this ontology and that of the social semantic desktop +they have a slightly different meaning. Generic annotation is +represented at its highest level with the abstract nao:annotation +property. Although it is not meant to be used, it is the superproperty +of many other annotation properties in this ontology. Vocabulary for +generic annotation is introduced in <a href="#2._Generic_Annotation_Vocabulary">Section 2</a>.</p> + + + + + + +<p style="text-align: justify;">Graph Metadata is also a +form of annotation, where instead +of annotating general resources, one annotates Named +Graphs. Therefore graph metadata properties can be modelled +under the general annotation property <a href="#2.1.1._nao:annotation">nao:annotation</a>, +where the resource being annotated is a graph role (instance +of nrl:Data) and the annotations are provided via the graph metadata +properties. The major difference is +that while generic annotation can be stored within any graph the user +is working with (e.g. the graph where the annotated resource is +defined), +metadata about a graph should always be stored outside that +graph, +in a separate special named graph that is aptly represented in NRL +by <span style="background-color: rgb(255, 255, 255);">[<a href="http://www.semanticdesktop.org/ontologies/2007/08/15/nrl.html#3.2.7._nrl:GraphMetadata">nrl:GraphMetadata</a>]. +Graph Metadat Vocabulary is introduced in <a href="#3._Graph_Metadata_Vocabulary">Section 3</a>. +</span></p> + + + + + + +</div> + + + + + + +<span style="background-color: rgb(255, 255, 0);"></span> +<h2 style="text-align: justify;"><a class="mozTocH2" name="mozTocId127057"></a><a name="2._Generic_Annotation_Vocabulary"></a>2. Generic +Annotation Vocabulary</h2> + + + + + + +<p style="text-align: justify;">In this section we +introduce vocabulary that serves generic annotation, i.e., +vocabulary that models general, common relationships between things. <a href="#2.1._Basic_Annotation">Section 2.1</a> presents +the basic annotation vocabulary. All other vocabulary in the annotation +ontology will require or derive from these basic terms. <a href="#2.2._More_Specific_Annotation">Section 2.2</a> +introduces richer annotation relationships that derive from the basic +annotation properties presented in Section 2.1. In <a href="#2.3._Tagging_as_Annotation">Section 2.3</a> we +discuss how we also model tagging as a form of annotation and finally +in <a href="#2.4._Generic_Annotation_Example">Section 2.4</a> +we present a concise example of how the vocabulary presented in this +section can be employed.<br /> + + + + + + +</p> + + + + + + +<h3><a class="mozTocH3" name="mozTocId775195"></a><a name="2.1._Basic_Annotation"></a>2.1. +Basic Annotation</h3> + + + + + + +<p style="text-align: justify;">The most basic annotation +property is nao:annotation, which simply defines a +descriptive +property for a resource. Given that an annotation's nature can be +textual or non-textual (i.e. semantic annotation pointing to +a resource), the range of this abstract high-level property is left +undefined. Specific subproperties +can have richer semantics (e.g. symmetric properties), but in order to +abstract over all annotation properties, no such semantics are defined +for <a href="#2.1.1._nao:annotation">nao:annotation</a>. </p> + + + + + + +<p style="text-align: justify;">rdfs:label and +rdfs:comment are also (indirectly) considered as part of our annotation +ontology, as they provide textual annotations for a resource. Although +we do not define them as being subproperties of +nao:annotation, we also include them in these specifications, in order +to define their meaning in the context of the social semantic +desktop. </p> + + + + + + +<p style="text-align: justify;">These and other annotation +properties and required classes are specified below. The annotation +properties defined in this section are also illustrated in <a href="#Fig_1">Fig.1</a>.<br /> + + + + + + +</p> + + + + + + +<div style="text-align: center;"><img src="basic.png" alt="basic" style="width: 425px; height: 173px;" /><br /> + + + + + + +<a name="Fig_1"></a> +Figure1. Basic annotation properties<br /> + + + + + + +</div> + + + + + + +<h4><a class="mozTocH4" name="mozTocId991277"></a><a name="2.1.1._nao:annotation"></a>2.1.1. nao:annotation<br /> + + + + + + +</h4> + + + + + + +<p style="text-align: justify;">An abstract property +representing a +general annotation for a resource. Given its abstract nature +and its undefined range, this property is not meant to be used directly.</p> + + + + + + +<h4><a class="mozTocH4" name="mozTocId95916"></a><a name="2.1.2._rdfs:label"></a>2.1.2. rdfs:label<br /> + + + + + + +</h4> + + + + + + +<p style="text-align: justify;">We consider this RDFS +property as part of our annotation +ontology, since it provides a textual annotation which relates a +resource to +a literal. In the context of the social semantic desktop this property +provides technical labels for a resource, i.e, a +non-user +customizable label that is not meant to be seen by the user. +User-customizable labels are possible via the use of our own +sub-properties <a href="#2.2.6._nao:prefLabel">nao:prefLabel</a> +and <a href="#2.2.7._nao:altLabel">nao:altLabel</a>.</p> + + + + + + +<h4><a class="mozTocH4" name="mozTocId231785"></a><a name="2.1.3._rdfs:comment"></a>2.1.3. rdfs:comment<br /> + + + + + + +</h4> + + + + + + +<p style="text-align: justify;">This RDFS property is also +considered as part of our +annotation ontology, +since it provides a textual annotation which relates a resource to +a literal. +In the context of the social semantic desktop, this property +provides technical descriptions for a +resource. Non-technical, custom user descriptions can be +provided by our own subproperty, <a href="#2.2.11._nao:description">nao:description</a>.</p> + + + + + + +<h4><a class="mozTocH4" name="mozTocId827817"></a><a name="2.1.4._nao:hasSymbol"></a>2.1.4. nao:hasSymbol<br /> + + + + + + +</h4> + + + + + + +<p style="text-align: justify;">A resource can be +annotated with an instance of <a href="#2.1.7._nao:Symbol">nao:Symbol</a> +via +subproperties of this abstract property, <a href="#2.2.9._nao:prefSymbol">nao:prefSymbol</a> and <a href="#2.2.10._nao:altSymbol">nao:altSymbol</a>.</p> + + + + + + +<h4><a class="mozTocH4" name="mozTocId309849"></a><a name="2.1.5._nao:rating"></a>2.1.5. nao:rating<br /> + + + + + + +</h4> + + + + + + +<p style="text-align: justify;">Users can rate a resource +via subproperties of this property, +which is not meant to be used directly. Specific subproperties can +extend it and be used to rate resources, e.g. an audio file. +The range of this property is undefined. Numeric ratings can be +assigned via <a href="#2.2.13._nao:numericRating">nao:numericRating</a> +(maximum cardinality 1). +If other kinds of ratings are needed, this property can +arbitrarily and easily extend be extended (e.g. with a property that +has as range a class for which a number of instances can be enumerated).</p> + + + + + + +<h4><a class="mozTocH4" name="mozTocId802441"></a><a name="2.1.6._nao:identifier"></a>2.1.6. nao:identifier<br /> + + + + + + +</h4> + + + + + + +<p style="text-align: justify;">This property enables +further types of identifiers for a +resource, apart from its standard URI. The property itself +is not meant to be directly used since it is an abstract property and +does not have a defined range. The annotation ontology +provides a subproperty for this property, <a href="#2.2.12._nao:personalIdentifier">nao:personalIdentifier</a>. + Although this property is not applied any form of +restriction, all its subproperties, including <a href="#2.2.12._nao:personalIdentifier">nao:personalIdentifier</a>, +are meant to be inverse functional. <span style="font-weight: bold;"></span></p> + + + + + + +<div style="text-align: center;"> +<div style="text-align: left;"> +<h4><a class="mozTocH4" name="mozTocId554293"></a><a name="2.1.7._nao:Symbol"></a>2.1.7. nao:Symbol<br /> + + + + + + +</h4> + + + + + + +<p style="text-align: justify;">This +class represents a symbol, which can be an icon +or an image for example, that is used to annotate a resource. +Resources can be annotated with a standard graphical symbol via the +subproperties of <a href="#2.1.4._nao:hasSymbol">nao:hasSymbol</a>, <a href="#2.2.9._nao:prefSymbol">nao:prefSymbol</a> and <a href="#2.2.10._nao:altSymbol">nao:altSymbol</a>. Any +such graphical symbol that is in this way used to annotate a resource +automatically becomes an instance of this class.</p> + + + + + + +<h4><a class="mozTocH4" name="mozTocId323566"></a><a name="2.1.8._nao:Tag"></a>2.1.8. <span style="background-color: rgb(255, 255, 0);"></span>nao:Tag<br /> + + + + + + +</h4> + + + + + + +<p style="text-align: justify;">This class is useful for +modelling conventional tagging practices. The user can tag resources in +conventional ways, automatically creating an instance of this tag, +which is then related to the annotated resource via the <a href="#2.2.4._nao:hasTag">nao:hasTag</a> property. For +more on tagging as annotation see <a href="#2.3._Tagging_as_Annotation">Section 2.3</a>.</p> + + + + + + +<h4><a class="mozTocH4" name="mozTocId540464"></a><a name="2.1.9._nao:Party"></a>2.1.9. nao:Party<br /> + + + + + + +</h4> + + + + + + +<p style="text-align: justify;"><span style="background-color: rgb(255, 255, 255);">Annotations +are provided by an individual or a group of individuals. Some +annotations are contained in a separate named graph whose role is to +provide annotations about another named graph (e.g. graph metadata for +a graph, See <a href="#3._Graph_Metadata_Vocabulary">Graph +Metadata Vocabulary</a>). In such cases it is useful to +state the contributor(s) for the set of annotations. This +class +is provided to represent a party who created such a set of annotations, +where a party can be either one individual or a group of individuals +(e.g. an organization). Once a user or an group provides these +annotations, they automatically become an instance of this +class. </span></p> + + + + + + +</div> + + + + + + +</div> + + + + + + +<h3><a class="mozTocH3" name="mozTocId187157"></a><a name="2.2._More_Specific_Annotation"></a>2.2. More +Specific Annotation</h3> + + + + + + +<p style="text-align: justify;">The Annotation Ontology +provides more specific vocabulary that +extends the description power of the basic annotation vocabulary +presented in +the previous section. Vocabulary in this category consists +solely of properties which extend properties given in <a href="#2.1._Basic_Annotation">Section 2.1</a>. An +overview of these properties is illustrated in <a href="#Fig_2">Fig.2</a>. The +specifications for this vocabulary are given below. </p> + + + + + + +<span style="font-weight: bold;"></span> +<div style="text-align: center;"><img style="width: 664px; height: 271px;" alt="lower level properties" src="lowerLevel.png" /><br /> + + + + + + +<a name="Fig_2"></a> +Figure 2. More specific annotation properties<br /> + + + + + + +</div> + + + + + + +<h4><a class="mozTocH4" name="mozTocId17438"></a><a name="2.2.1._nao:isRelated"></a>2.2.1. nao:isRelated<br /> + + + + + + +</h4> + + + + + + +<p style="text-align: justify;">This property defines a +symmetric relation between any two resources. A subproperty of +<a href="#2.1.1._nao:annotation">nao:annotation</a>, +one can use this property to annotate a resource with pointers +to related resources. For example, a blog entry for an event +may +be linked to an image of the same event via this property. In +order for this property to be used legally, the relationship must be +symmetric. </p> + + + + + + +<h4><a class="mozTocH4" name="mozTocId953268"></a><a name="2.2.2._nao:hasTopic"></a>2.2.2. nao:hasTopic<br /> + + + + + + +</h4> + + + + + + +<p style="text-align: justify;">A subproperty of <a href="#2.2.1._nao:isRelated">nao:isRelated</a>, +this property does not inherit its symmetric nature. It further defines +the relationship given by its superproperty, stating that a resource is +about some concept. Instead, this vocabulary provides an inverse +property for this property, <a href="#2.2.3._nao:isTopicOf">nao:isTopicOf</a>.</p> + + + + + + +<h4><a class="mozTocH4" name="mozTocId682683"></a><a name="2.2.3._nao:isTopicOf"></a>2.2.3. nao:isTopicOf<br /> + + + + + + +</h4> + + + + + + +<p style="text-align: justify;">This property is also a +subproperty of <a href="#2.2.1._nao:isRelated">nao:isRelated</a> +and is the inverse property of <a href="#2.2.2._nao:hasTopic">nao:hasTopic</a>. +It is used to create a relationship between two resources, where the +subject resource is said to be the topic of the object. It is +not +a symmetric property.</p> + + + + + + +<h4><a class="mozTocH4" name="mozTocId292538"></a><a name="2.2.4._nao:hasTag"></a>2.2.4. nao:hasTag</h4> + + + + + + +<p style="text-align: justify;">Used to model conventional +tagging practices, this property annotates a resource with a tag, +represented by an instance of <a href="#2.1.8._nao:Tag">nao:Tag</a>. +For +more on tagging as annotation see <a href="#2.3._Tagging_as_Annotation">Section 2.3</a>.</p> + + + + + + +<h4><a class="mozTocH4" name="mozTocId891981"></a><a name="2.2.5._nao:isTagFor"></a>2.2.5. +nao:isTagFor</h4> + + + + + + +<p style="text-align: justify;">This property is the +inverse of <a href="#2.2.4._nao:hasTag">nao:hasTag</a>. +It links an instance of <a href="#2.1.8._nao:Tag">nao:Tag</a> +to resources that are tagged with it. For more on tagging as annotation +see <a href="#2.3._Tagging_as_Annotation">Section 2.3</a>.</p> + + + + + + +<h4><a class="mozTocH4" name="mozTocId460510"></a><a name="2.2.6._nao:prefLabel"></a>2.2.6. nao:prefLabel<br /> + + + + + + +</h4> + + + + + + +<p style="text-align: justify;">This property is one of +two provided by this ontology to handle +custom user labels. Alternative +labels can be provided via <a href="#2.2.7._nao:altLabel">nao:altLabel</a>. +Both properties are subproperties of <a href="#2.1.2._rdfs:label">rdfs:labe</a>l +and expect a +literal as value. Given that the domain of this property is +rdfs:Resource, it is not applied +any cardinality restrictions. Where required, such +properties +can be defined by extending this property via appropriate +subproperties. However, it is intended that at most one +value per (natural) language is defined via this property and +that at most one literal without any +defined language exists. Other usages, although legal, are considered +invalid NAO data and are strongly discouraged as +they may generate errors.</p> + + + + + + +<h4><a class="mozTocH4" name="mozTocId337732"></a><a name="2.2.7._nao:altLabel"></a>2.2.7. nao:altLabel<br /> + + + + + + +</h4> + + + + + + +<p style="text-align: justify;">Via this property a user +can provide further custom labels for +resources on their desktop, alongside the required, unique value given +by <a href="#2.2.6._nao:prefLabel">nao:prefLabel</a>. Both +properties are subproperties of <a href="#2.1.2._rdfs:label">rdfs:labe</a>l +and expect a literal as value.</p> + + + + + + +<h4><a class="mozTocH4" name="mozTocId418437"></a><a name="2.2.8._nao:pluralPrefLabel"></a>2.2.8. +nao:pluralPrefLabel<br /> + + + + + + +</h4> + + + + + + +<p style="text-align: justify;">This property supplements <a href="#2.2.6._nao:prefLabel">nao:prefLabel</a> +to provide plural forms for custom user resource labels. In particular +it is useful to refer to multiple instances of a calss. It is also a +subproperty of <a href="#2.1.2._rdfs:label">rdfs:labe</a>l +and expects a +literal as value. No cardinality restrictions are +imposed. +</p> + + + + + + +<h4><a class="mozTocH4" name="mozTocId541375"></a><a name="2.2.9._nao:prefSymbol"></a>2.2.9. nao:prefSymbol<br /> + + + + + + +</h4> + + + + + + +<p style="text-align: justify;">A subproperty of <a href="#2.1.4._nao:hasSymbol">nao:hasSymbol</a>, this +property specifies a preferred symbol for resource annotation, given by +an instance of <a href="#2.1.7._nao:Symbol">nao:Symbol</a>. +Resources can be +annotated with alternative symbols via nao:altSymbol. </p> + + + + + + +<h4><a class="mozTocH4" name="mozTocId27440"></a><a name="2.2.10._nao:altSymbol"></a>2.2.10. nao:altSymbol</h4> + + + + + + +<p style="text-align: justify;">This property is used to +annotate a resource with alternative symbols, given by instances +of <a href="#2.1.7._nao:Symbol">nao:Symbol</a>, +alongside the preferred symbol that is linked via <a href="#2.2.9._nao:prefSymbol">nao:prefSymbol</a>. It +is a subproperty of <a href="#2.1.4._nao:hasSymbol">nao:hasSymbol</a>.</p> + + + + + + +<h4><a class="mozTocH4" name="mozTocId845316"></a><a name="2.2.11._nao:description"></a>2.2.11. +nao:description<br /> + + + + + + +</h4> + + + + + + +<p style="text-align: justify;">A subproperty of <a href="#2.1.3._rdfs:comment">rdfs:comment</a>, the +purpose of this property is similar to <a href="#2.2.6._nao:prefLabel">nao:prefLabel</a> and <a href="#2.2.7._nao:altLabel">nao:altLabel</a>. However +this property is also a subproperty of <a href="#2.1.1._nao:annotation">nao:annotation</a>. +Whereas +in the context of the social semantic desktop the textual annotation +provided via <a href="#2.1.3._rdfs:comment">rdfs:comment</a> +is meant for technical users, the textual annotation here +is aimed +at average users and is meant to be used to define custom descriptions +of resources on their desktop. The maximum cardinality is 1, and the +property expects a literal value.<br /> + + + + + + +</p> + + + + + + +<h4><a class="mozTocH4" name="mozTocId591601"></a><a name="2.2.12._nao:personalIdentifier"></a>2.2.12. +nao:personalIdentifier<br /> + + + + + + +</h4> + + + + + + +<p>This property should be used to provide alternative values +that identify a +resource +alongside the default URI. A subproperty of the abstract <a href="#2.1.6._nao:identifier">nao:identifier</a>, +the range of this property is a literal. The property is inverse +functional, which effectively means that personal identifiers for +resources should be unique, and two resources cannot have the same +personal identifier.</p> + + + + + + +<h4><a class="mozTocH4" name="mozTocId4771"></a><a name="2.2.13._nao:numericRating"></a>2.2.13. +nao:numericRating</h4> + + + + + + +<p>This property extends <a href="#2.1.5._nao:rating">nao:rating</a>, +to restrict the range to an XSD float datatype. Values must be between +'1' and '10' whereas a value of '0' is interpreted as not +set. Furthermore, +resources can only be given at most one numeric rating, thus the +maximum cardinality is 1. </p> + + + + + + +<h4><a class="mozTocH4" name="mozTocId430224"></a><a name="2.2.14._nao:creator"></a>2.2.14. nao:creator</h4> + + + + + + +<div style="text-align: justify;"> +<p>Via this property the creator/s of a resource can be +specified graph. The creator +can be a an individual or a group as represented by an instance of the +<a href="#2.1.9._nao:Party">nao:Party</a> +class. </p> + + + + + + +<h4><a class="mozTocH4" name="mozTocId321643"></a><a name="2.2.15._nao:contributor"></a>2.2.15. +nao:contributor</h4> + + + + + + +<p>This property +refers to additional contributors for a resource and is +otherwise similar to <a href="#2.2.14._nao:creator">nao:creator</a>.</p> + + + + + + +<h4><a class="mozTocH4" name="mozTocId287675"></a><a name="2.2.16._nao:modified"></a>2.2.16. nao:modified</h4> + + + + + + +<p>Represents the modification date/time [<a href="http://www.w3.org/TR/xmlschema-2/#dateTime">xsd:dateTime</a>] +for a resource. More of an abstract class, its subproperties <a href="#2.2.17._nao:created">nao:created</a> and <a href="#2.2.18._nao:lastModified">nao:lastModified</a> +prove to be more useful.</p> + + + + + + +<h4><a class="mozTocH4" name="mozTocId288437"></a><a name="2.2.17._nao:created"></a>2.2.17. nao:created</h4> + + + + + + +<p>Via this property the creation date/time for a resource can be +defined. A subproperty of nao:modified, the expected value is of +type [<a href="http://www.w3.org/TR/xmlschema-2/#dateTime">xsd:dateTime</a>] +and a typical value is of the form +"2007-08-15T23:59:55.329Z". The maximum cardinality for this property +is set to 1.</p> + + + + + + +</div> + + + + + + +<h4><a class="mozTocH4" name="mozTocId412121"></a><a name="2.2.18._nao:lastModified"></a>2.2.18. +nao:lastModified</h4> + + + + + + +<div style="text-align: justify;"> +<p>This property defines the date/time when a resource was most +recently modified. It is a subproperty of <a href="#2.2.16._nao:modified">nao:modified</a>. The +maximum cardinality +for this property is also set to 1.</p> + + + + + + +<h4><a class="mozTocH4" name="mozTocId601106"></a><a name="2.2.19._nao:score"></a>2.2.19. +nao:score</h4> + + + + + + +<div style="text-align: justify;"> + + +<p>This property refers to an authorative score for an item +(resource), valued between [0, 1]. A score is a weight of a +resource compared to all other resources, and it is computed via a +mathematical combination of score +parameters e.g. nao:numericRating, +nao:lastModified as well external parameters. For this purpose, +parameters +that go into the score need to be marked as being sub-properties of <a href="#2.2.20._nao:scoreParameter">nao:scoreParameter</a>. Allowed values +for this property are of the [<a href="http://www.w3.org/TR/xmlschema-2/#float">xsd:float</a>] +datatype.</p> + + + + + + +<h4><a class="mozTocH4" name="mozTocId105820"></a><a name="2.2.20._nao:scoreParameter"></a>2.2.20. +nao:scoreParameter</h4> + + + + + + +<p>Multiple score parameters +(e.g. nao:numericRating, +nao:lastModified) can be input to a mathematical +algorithm that +computes an overall <a href="#2.2.19._nao:score">nao:score</a> +for a resource. The score parameters in question need to be +defined as a subproperty of this property - thus effectively +nao:scoreParamter is a marker property. Ranking algorithms +will compute the values of multiple subproperties of scoreParameter and +then compute the nao:score based on a mathematical combination of score +parameters. The allowed range is a float number. The exact algorithm is +open to implementations. Allowed values for this property are +of the [<a href="http://www.w3.org/TR/xmlschema-2/#float">xsd:float</a>] +datatype.</p> + + + + + + +<h4><a class="mozTocH4" name="mozTocId400559"></a><a name="2.2.21._nao:FreeDesktopIcon"></a>2.2.21. +nao:FreeDesktopIcon</h4> + + + + + + +<p>This class represents a desktop icon as defined +in the <a href="http://standards.freedesktop.org/icon-naming-spec/icon-naming-spec-latest.html">FreeDesktop +Icon Naming standard</a> and it is a subclass of <a href="#2.1.7._nao:Symbol">nao:Symbol</a>. <a href="#2.2.22._nao:iconName">nao:iconName</a> is a +required property referring to the name of the icon.</p> + + + + + + +<h4><a class="mozTocH4" name="mozTocId232585"></a><a name="2.2.22._nao:iconName"></a>2.2.22. +nao:iconName</h4> + + + + + + +<p>Values of this property contain the FreeDesktop standard icon +name (literal) as +defined in the <a href="http://standards.freedesktop.org/icon-naming-spec/icon-naming-spec-latest.html">FreeDesktop +Naming Specification</a>. The use of the property is required for +every instance of <a href="#2.2.21._nao:FreeDesktopIcon">nao:FreeDesktopIcon</a> +since its minimum cardinality is set to 1.</p> + + + + +<h4><a class="mozTocH4" name="mozTocId880189"></a><a name="2.2.23._nao:hasSubResource"></a>2.2.23. +nao:hasSubResource</h4> + + + + + + +<p>This property defines a super-sub relationship between two instances +of rdfs:Resource - whereby one resource can be treated as dependent on +another. Thus if a resource is deleted or removed from a system, all +its subresources can also be automatically removed, unless they have +other superresources still existant on the system. This property is the +inverse property of <a href="#2.2.24._nao:hasSuperResource">nao:hasSuperResource</a>. This property is transitive in nature. +</p> + + + + +<h4><a class="mozTocH4" name="mozTocId693750"></a><a name="2.2.24._nao:hasSuperResource"></a>2.2.24. +nao:hasSuperResource</h4> + + + + + + +<p>This property is the inverse of <a href="#2.2.23._nao:hasSubResource">nao:hasSubResource</a>. +It defines a dependency relationship between two resources such that, +when the superresource is removed from a system, the defined +subresources should also be removed unless they are also subresources +of other remaining superresources. This property is transitive in +nature.<span style="text-decoration: underline;"></span><br /> + + + + +</p> + + + + +<p> + +</p> + + + + + + +</div> + + + + + + +</div> + + + + + + +<h3><a class="mozTocH3" name="mozTocId620976"></a><a name="2.3._Tagging_as_Annotation"></a>2.3. +Tagging as Annotation<br /> + + + + + + +</h3> + + + + + + +<p style="text-align: justify;">Given tagging is a popular +Web 2.0 +concept which we want to adopt and retain in our semantic approach to +data modelling, in this section we provide an example of how semantic +tagging can be performed using our annotation ontology. <a href="#Fig_3">Fig.3</a> shows how +nao:Tag can +be used as a special case of the nao:annotation relation given in +<a href="#Fig_2">Fig.2</a>. The unique +default name given by the user when creating a +tag is defined by <a href="#2.2.6._nao:prefLabel">nao:prefLabel</a>. +Other custom names for the tag can be defined using <a href="#2.2.7._nao:altLabel">nao:altLabel</a> while a +custom user description can be provided via <a href="#2.2.11._nao:description">nao:description</a>. A +custom default icon or image can be attached to the tag via <a href="#2.2.9._nao:prefSymbol">nao:prefSymbol</a>, +making the icon in question an instance of <a href="#2.1.7._nao:Symbol">nao:Symbol</a>. +This icon, like any other resource, can also be annotated. The newly +created tag is then linked to the resource being tagged (or annotated) +via <a href="#2.2.4._nao:hasTag">nao:hasTag</a>. An +automatic inverse relationship is created to link the new tag with the +resource via <a href="#2.2.5._nao:isTagFor">nao:isTagFor</a>.<br /> + + + + + + +</p> + + + + + + +<div style="text-align: center;"><img style="width: 533px; height: 174px;" alt="tag class" src="tagClass.png" /><br /> + + + + + + +<a name="Fig_3"></a> +Figure 3. Modelling conventional tagging<span style="font-weight: bold;"></span></div> + + + + + + +<br /> + + + + + + +<h3><a class="mozTocH3" name="mozTocId873837"></a><a name="2.4._Generic_Annotation_Example"></a>2.4. +Generic Annotation Example</h3> + + + + + + +<div style="text-align: justify;"> +<p>A person wants to annotate a file of type +image/photo on their personal desktop. The photo depicts a friend, +Claudia, drinking coffee in the +SAP offices. The user states that the photo 'is related' (via +nao:isRelated - a symmetric property) to the following resources:</p> + + + + + + +<ul> + + + + + + + <li>[1] a resource representing Claudia on the user's desktop +(ex:Claudia) </li> + + + + + + + <li>[2] a resource representing the organisation SAP on the +user's desktop (ex:SAP)</li> + + + + + + +</ul> + + + + + + +Furthermore, the user states that the photo 'is about' (via +nao:hasTopic) the following resources: +<ul> + + + + + + + <li>[3] a concept from a Work ontology defining a colleague at +work (work:Colleague)</li> + + + + + + + <li>[4] a concept from a Work ontology defining a +working office (work:Office)</li> + + + + + + +</ul> + + + + + + +[5] The user defines a custom personal identifier for the photo, +'ClaudiaOffice20070815'.<br /> + + + + + + +[6] Finally, the user also tags the photo with an instance of nao:Tag +they create:<br /> + + + + + + +<ul> + + + + + + + <li>[7],[8] The user labels the new tag 'Work', with the +alternative labels 'SAP' and 'WorkPlace'.</li> + + + + + + + <li>[9],[10] The user also selects an icon for the new tag that +they +find on their desktop, and creates a custom description for the new tag.</li> + + + + + + +</ul> + + + + + + +<p>The resulting statements are generated and stored +within a +named graph 'ex:i1'. Apart from the obvious statements, +note the +following automatically generated statements </p> + + + + + + +<ul> + + + + + + + <li>[11] Since nao:hasTag has the inverse property +nao:isTagFor, the +newly generated tag is also related to the tagged resource via this +inverse property.<br /> + + + + + + + </li> + + + + + + + <li>[12] The icon used as a symbol for the tag (ex:WorkIcon) is +now also an instance of nao:Symbol.</li> + + + + + + + <li>Since nao:isRelated is symmetric the resources related to +the +photo via this property (ex:SAP and ex:Claudia) are themselves defined +as related to the photo.</li> + + + + + + +</ul> + + + + + + +<p> </p> + + + + + + +</div> + + + + + + +<br /> + + + + + + +<table style="text-align: left; font-family: monospace; width: 100%;" border="1" cellpadding="2" cellspacing="2"> + + + + + + + <tbody> + + + + + + + <tr> + + + + + + + <td><span style="font-family: monospace;"> + ex:i1 {</span><br style="font-family: monospace;" /> + + + + + + + <span style="font-family: monospace;">[1] ex:DSCF001 </span><span style="font-family: monospace;">nao:isRelated ex:Claudia ,</span><br style="font-family: monospace;" /> + + + + + + + <span style="font-family: monospace;">[2] + + + + + ex:SAP ;</span><br style="font-family: monospace;" /> + + + + + + + <span style="font-family: monospace;">[3] + + nao:hasTopic work:Colleague ,</span><br style="font-family: monospace;" /> + + + + + + + <span style="font-family: monospace;">[4] + + + + work:Office ;<br /> + + + + + + + </span><span style="font-family: monospace;">[5] + + nao:personalIdentifier "ClaudiaOffice20070815" ;</span><br style="font-family: monospace;" /> + + + + + + + <span style="font-family: monospace;">[6] + nao:hasTag +ex:Work .</span><br style="font-family: monospace;" /> + + + + + + + <br style="font-family: monospace;" /> + + + + + + + <span style="font-family: monospace;"> + +ex:Work a nao:Tag ;</span><br style="font-family: monospace;" /> + + + + + + + <span style="font-family: monospace;">[7] + + nao:prefLabel "Work" ;</span><br style="font-family: monospace;" /> + + + + + + + <span style="font-family: monospace;">[8] + nao:altLabel +"WorkPlace" ,</span><br style="font-family: monospace;" /> + + + + + + + <span style="font-family: monospace;"> + + + "SAP" ;</span><span style="font-family: monospace;"><br /> + + + + + + +[9] + </span><span style="font-family: monospace;">nao:hasSymbol ex:WorkIcon ;</span><span style="font-family: monospace;"> </span><br style="font-family: monospace;" /> + + + + + + + <span style="font-family: monospace;">[10] + </span><span style="font-family: monospace;"></span><span style="font-family: monospace;">nao:description "Represents +all about my work, workplace, workmates +etc" ;</span><br style="font-family: monospace;" /> + + + + + + + <span style="font-family: monospace;">[11] + nao:isTagFor ex:DSCF001 .</span><br style="font-family: monospace;" /> + + + + + + + <span style="font-family: monospace;"> + </span><br style="font-family: monospace;" /> + + + + + + + <span style="font-family: monospace;">[12] +ex:WorkIcon a nao:Symbol . </span><br style="font-family: monospace;" /> + + + + + + + <span style="font-family: monospace;"> + </span><br style="font-family: monospace;" /> + + + + + + + <span style="font-family: monospace;">[13] ex:SAP +nao:isRelated ex:DSCF001 .</span><br style="font-family: monospace;" /> + + + + + + + <br style="font-family: monospace;" /> + + + + + + + <span style="font-family: monospace;">[14] +ex:Claudia nao:isRelated ex:DSCF001 . }</span> </td> + + + + + + + </tr> + + + + + + + + + + + + </tbody> +</table> + + + + + + +<br /> + + + + + + +<h2><a class="mozTocH2" name="mozTocId836701"></a><a name="3._Graph_Metadata_Vocabulary"></a>3. Graph +Metadata Vocabulary</h2> + + + + + + +<div style="text-align: center;"> +<div style="text-align: justify;"> +<p>In this section we +provide the +description and specifications for the subpart of the annotation +ontology dealing with Graph Metadata. Graph metadata +is a form of annotation where the subject of the annotations +are +named graphs, as specified in [<a href="#References">NRL +SPECIFICATION</a>]. +Given the important and central role that named graphs have in the NRL +concept, this graph metadata, or graph annotation, vocabulary is +considered to be part of the +annotation ontology, and the properties are subproperties +of nao:annotation. </p> + + + + + + +<p>NRL already provides vocabulary +that is +used to define essential graph metadata [See <a href="http://www.semanticdesktop.org/ontologies/2007/08/15/nrl.html#3.2._Graph_Roles_Vocabulary">Graph +Roles Vocabulary</a>], +including graph role speficiation and whether the graph is a document +graph (see <a href="#Fig_4">Fig.4.</a>), whether +a graph is updatable or otherwise (via <a href="http://www.semanticdesktop.org/ontologies/2007/08/15/nrl/#mozTocId379929">nrl:updatable</a>) +and specification of the declarative +semantics for a graph (via <a href="http://www.semanticdesktop.org/ontologies/2007/08/15/nrl/#mozTocId737534">nrl:hasSemantics</a>).</p> + + + + + + +<p>Generic annotation vocabulary given in this ontology is also +applicable to named graphs (which are in fact special cases of a +resource). In particular, <a href="#2.2.14._nao:creator">nao:creator</a>, +<a href="#2.2.15._nao:contributor">nao:contributor</a>, +<a href="#2.2.17._nao:created">nao:created </a>and <a href="#2.2.18._nao:lastModified">nao:lastModified</a> +are of special relevance when it comes to providing metadata for a +named graph. The vocabulary provided in this section enables additional +graph annotations to those provided by NRL and by the NAO generic +annotation vocabulary. An example that makes full use of all the +relevant vocabulary is given in <a href="#3.3._Graph_Metadata_Example">Section 3.3</a>.<br /> + + + + + + +</p> + + + + + + +<p> +In +contrast to vocabularies like the Ontology Metadata Vocabulary [<a href="#References">OMV REPORT</a>], +which was a major source of inspiration for this vocabulary, our +vocabulary +is applicable to all Graph Roles as defined in NRL (<a href="#Fig_4">Fig.4.</a>), +and not +just ontologies. The majority of graph metadata properties thus have +nrl:Data as their domain. Other properties apply specifically +to nrl:DocumentGraph (documents that encode +named graphs). <span style="background-color: rgb(255, 255, 255);"></span></p> + + + + + + +<span style="background-color: rgb(255, 255, 255);"></span></div> + + + + + + +<div style="text-align: center;"><img style="width: 602px; height: 349px;" alt="roles" src="NamedGraphs.png" /><br /> + + + + + + +</div> + + + + + + +<div style="text-align: center;"><a name="Fig_4"></a> +Figure 4. Graph Roles Hierarchy</div> + + + + + + +<br /> + + + + + + +<div style="text-align: justify;"> +<p>While generic annotation +for a resource is usually stored within the graph where the resource is +defined, +metadata about a graph is stored outside that graph, in a +separate but associated metadata graph. <span style="background-color: rgb(255, 255, 255);">These special +graphs +are marked using the [<a href="http://www.semanticdesktop.org/ontologies/2007/08/15/nrl.html#3.2.7._nrl:GraphMetadata">nrl:GraphMetadata</a>] +role, also shown in <a href="#Fig_4">Fig.4.</a> and +linked to their respective graphs via [<a href="http://www.semanticdesktop.org/ontologies/2007/08/15/nrl.html#3.2.8._nrl:graphMetadataFor">nrl:graphMetadataFor</a>]. +The unique metadata graph that defines the non-subjective attributes +(graph role, semantics, +namespace, etc) for a graph is instead linked to that graph +via [<a href="http://www.semanticdesktop.org/ontologies/2007/08/15/nrl.html#3.2.9._nrl:coreGraphMetadataFor">nrl:coreGraphMetadataFor</a>].</span></p> + + + + + + +</div> + + + + + + +<h3><a class="mozTocH3" name="mozTocId215877"></a><a name="3.1_General_Graph_Metadata_Vocabulary"></a>3.1 +General Graph Metadata</h3> + + + + + + +<div style="text-align: justify;"> +<p>The following vocabulary +applies to +all NRL Graph Roles. Although some of them appear to be +ontology-specific, +properties which apply to e.g. both +nrl:InstanceBase and nrl:Ontology are listed here, since their common +superclass is nrl:Data. Given that graph metadata is considered to be a +special case of annotation, most of the vocabulary consists of +subproperties of nao:annotation. These properties are depicted +in +<a href="#Fig_5">Fig.5.</a> and described +individually in the following subsections. +Although the use of none of these properties is compulsory, their use +is recommended as a best practice.</p> + + + + + + +</div> + + + + + + +<br /> + + + + + + +<div style="text-align: center;"><img style="width: 706px; height: 264px;" alt="Data Properties" src="DataProperties.png" /><br /> + + + + + + +<br /> + + + + + + +<a name="Fig_5"></a> +Figure 5. General Graph Metadata properties<br /> + + + + + + +</div> + + + + + + +<br /> + + + + + + +<h4><a class="mozTocH4" name="mozTocId925972"></a><a name="3.1.4._nao:hasDefaultNamespace"></a>3.1.4. +nao:hasDefaultNamespace</h4> + + + + + + +<div style="text-align: justify;">This property +explicitally defines the default namespace for a +named graph. The value for this property should therefore be a valid +URI ending with the '#' sign.<br /> + + + + + + +</div> + + + + + + +<h4><a class="mozTocH4" name="mozTocId505129"></a><a name="3.1.5._nao:hasDefaultNamespaceAbbreviation"></a>3.1.5. +nao:hasDefaultNamespaceAbbreviation</h4> + + + + + + +<div style="text-align: justify;">A default namespace +abbreviation for a named graph can be defined via the use of this +property. This prevents a scenario where different random +abbreviations are generated from different applications for the same +graph.<br /> + + + + + + +</div> + + + + + + +<h4><a class="mozTocH4" name="mozTocId297228"></a><a name="3.1.6._nao:engineeringTool"></a>3.1.6. +nao:engineeringTool<br /> + + + + + + +</h4> + + + + + + +<div style="text-align: justify;">Graphs that are +generated via a specific graph engineering tool can make use of this +property. +The value is a string stating the name of the editing tool.<br /> + + + + + + +</div> + + + + + + +<h4><a class="mozTocH4" name="mozTocId652689"></a><a name="3.1.7._nao:version"></a>3.1.7. nao:version</h4> + + + + + + +<div style="text-align: justify;">This property specifies +version +information for the graph role and is particularly useful +for tracking, +comparing and +merging data. Legal values for this property are of the [<a href="http://www.w3.org/TR/xmlschema-2/#float">xsd:float</a>] +datatype. A graph can have at most one version, hence the +maximum cardinality is 1. +</div> + + + + + + +<h4><a class="mozTocH4" name="mozTocId642918"></a><a name="3.1.8._nao:status"></a>3.1.8. nao:status</h4> + + + + + + +<div style="text-align: justify;">Tracking +information for the contents of a graph can be specified via this +property. Typical values, of type string, +include "Stable", "Unstable" and "Testing". +</div> + + + + + + +<br /> + + + + + + +<h3><a class="mozTocH3" name="mozTocId370287"></a><a name="3.2._Document_Graph_Metadata"></a>3.2. Document +Graph Metadata</h3> + + + + + + +<div style="text-align: justify;"> +A special class in the NRL specifications, [<a href="http://www.semanticdesktop.org/ontologies/2007/08/15/nrl.html#3.1.2._nrl:DocumentGraph">nrl:DocumentGraph</a>], +is defined to mark graphs that are completely represented within a +document which can be accessed via a URL, which effectively also +becomes the name of the graph. The following property, also shown in +<a href="Fig_6">Fig.6.</a>, applies only to +instances of such graphs.<br /> + + + + + + +</div> + + + + + + +<br /> + + + + + + +<div style="text-align: center;"><img style="width: 476px; height: 84px;" alt="Document Graph" src="DocumentGraph.png" /><br /> + + + + + + +<a name="Fig_6"></a> +Figure 6. Graph Metadata for Graphs encoded in documents<br /> + + + + + + +</div> + + + + + + +<h4><a class="mozTocH4" name="mozTocId89753"></a><a name="3.3.1._nao:serializationLanguage"></a>3.3.1. +nao:serializationLanguage</h4> + + + + + + +<div style="text-align: justify;"> +This property states the graph serialization +language for the document, e.g. XML/RDFS, RDFS/N3, TriG etc.<br /> + + + + + + +</div> + + + + + + +<br /> + + + + + + +<h3><a class="mozTocH2" name="mozTocId785190"></a><a name="3.3._Graph_Metadata_Example"></a>3.3. Graph +Metadata Example</h3> + + + + + + +<div style="text-align: justify;"> +<p>The following example demonstrates the use and best practice +for the Graph Metadata Vocabulary given in this section.</p> + + + + + + +</div> + + + + + + +<div style="text-align: justify;">[1] In this example we +assume that a named graph with the role of an ontology exists and is +given by ex:o1.<br /> + + + + + + +[2] Graph metadata for this ontology is provided by the metadata graph +ex:o1_metadata. This graph consists of annotations for the +ontology stored in graph ex:o1. These annotations are defined using the +graph metadata vocabulary specified in this document. <br /> + + + + + + +[3],[4] The metadata graph includes first and foremost a description +about itself, stating that it is indeed a named graph with a +nrl:GraphMetadata role. It is further stated that this is the core +graph +metadata that defines the core properties for the graph +ex:o1, via <a href="http://www.semanticdesktop.org/ontologies/2007/08/15/nrl.html#3.2.9._nrl:coreGraphMetadataFor">nrl:coreGraphMetadataFor</a>.<br /> + + + + + + +[5] Metadata for the actual graph being described is then provided. +This metadata includes the following:<br /> + + + + + + +<ul> + + + + + + + <li>[6] The creator of the ontology is defined to be ex:SAP, +with two +separate contributors being ex:Dirk and ex:Claudia. This automatically +generates the statement <span style="background-color: rgb(255, 255, 255);">(usually not +within this +graph)</span> that ex:SAP, ex:Dirk +and ex:Claudia are annotators and therefore instances of nao:Party.</li> + + + + + + + <li>[7] The ontology is defined to be 'Stable' at version 1.2. +The last modified time is also represented.</li> + + + + + + + <li>[8] A static, standard namespace and namespace +abbreviation are defined.</li> + + + + + + + <li>[9] The graph is said to be non-updatable, meaning that if +the +ontology needs to be changed, a new version needs to be generated while +leaving the original unchanged. See <a href="http://www.semanticdesktop.org/ontologies/2007/08/15/nrl.html#3.2.14._nrl:updatable">nrl:updatable</a>.</li> + + + + + + +</ul> + + + + + + +</div> + + + + + + +<table style="text-align: left; width: 100%;" border="1" cellpadding="2" cellspacing="2"> + + + + + + + <tbody> + + + + + + + <tr> + + + + + + + <td><span style="font-family: monospace;">[1] </span><span style="font-family: monospace;">ex:o1 {<br /> + + + + + + + # Work Ontology +provided in this named graph<br /> + + + + + + + </span><span style="font-family: monospace;"> + </span><span style="font-family: monospace;"> }<br /> + + + + + + + <br /> + + + + + + + </span><span style="font-family: monospace;">[2] +ex:o1/metadata { </span><br style="font-family: monospace;" /> + + + + + + + <span style="font-family: monospace;">[3] + </span><span style="font-family: monospace;">ex:o1/metadata +a nrl:GraphMetadata ;<br /> + + + + + + +[4] + nrl:coreGraphMetadataFor +ex:o1 .</span><span style="font-family: monospace;"> } </span><span style="font-family: monospace;"> <br /> + + + + + + + <br /> + + + + + + +[5] </span><span style="font-family: monospace;">ex:o1 a +nrl:Ontology ;</span><br style="font-family: monospace;" /> + + + + + + + <span style="font-family: monospace;">[6] + + nao:creator +ex:SAP ;<br /> + + + + + + + + nao:contributor ex:Dirk ,<br /> + + + + + + + + + ex:Claudia ;<br /> + + + + + + + </span><span style="font-family: monospace;">[7] + nao:version "1.2" ;</span><br style="font-family: monospace;" /> + + + + + + + <span style="font-family: monospace;"></span><span style="font-family: monospace;"> + + nao:lastModified "2007-08-15T23:59:55.329Z" .<br /> + + + + + + + </span><span style="font-family: monospace;"> + nao:status "Stable" ;<br /> + + + + + + + </span><span style="font-family: monospace;">[8] + +nao:hasNamespace "http://www.example.org/ontologies/work#" ;</span><br style="font-family: monospace;" /> + + + + + + + <span style="font-family: monospace;"> + nao:hasNamespaceAbbreviation "work" ;<br /> + + + + + + + </span><span style="font-family: monospace;">[9] + nrl:updatable "0" . }<br /> + + + + + + + </span><span style="font-family: monospace;"></span><span style="font-family: monospace;"><br /> + + + + + + + </span></td> + + + + + + + </tr> + + + + + + + + + + + + </tbody> +</table> + + + + + + +</div> + + + + + + +<h2><a class="mozTocH2" name="mozTocId760420"></a><a name="References"></a>References</h2> + + + + + + +<dl> + + + + + + + <dt>[NRL SPECIFICATIONS]</dt> + + + + + + + <dd><a href="http://www.semanticdesktop.org/ontologies/nrl">NEPOMUK Representation +Language (NRL) Vocabulary Specification</a><cite></cite>.</dd> + + + + + + + <dd>NEPOMUK., Task-Force Ontologies.</dd> + + + + + + + <dd><small style="font-family: monospace;"><a href="http://www.semanticdesktop.org/ontologies/nrl">http://www.semanticdesktop.org/ontologies/nrl</a>.</small></dd> + + + + + + +</dl> + + + + + + +<span style="font-weight: bold;">[OMV Report] +<br /> + + + + + + +</span> +<div style="margin-left: 40px;"><a href="http://ontoware.org/projects/omv/">Ontology Metadata +Vocabulary for the Semantic. Web</a>. Jens Hartmann (University +of Karlsruhe), Raul Palma (Universidad Politecnica de Madrid) and Elena +Paslaru Bontas (Free University of Berlin).<small style="font-family: monospace;"><br /> + + + + + + +<a href="http://ontoware.org/projects/omv/">http://ontoware.org/projects/omv/</a>.</small><br /> + + + + + + +<small style="font-family: monospace;"> +</small></div> + + + + + + +<dl> + + + + + + +</dl> + + + + + + +</div> diff --git a/nrl/doc/nrl-header.html b/nrl/doc/nrl-header.html new file mode 100644 index 0000000..6d9f543 --- /dev/null +++ b/nrl/doc/nrl-header.html @@ -0,0 +1,11143 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html style="direction: ltr;" xmlns="http://www.w3.org/1999/xhtml" lang="en-us"> +<head> + + + + + + + + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> + + + + + + + + <link rel="stylesheet" type="text/css" href="nepomuk-ontology-docs.css" /> + + + + + + + + + + + + <title>NEPOMUK Representational Language (NRL)</title> + <meta content="Simon Scerri" name="author" /> + + + + + + + + <meta content="Specifications for the NEPOMUK Representational Language" name="description" /> +</head> + + +<body style="width: 900px; color: rgb(0, 0, 0);" alink="#ee0000" link="#0000ee" vlink="#551a8b"> + + + + +<div class="head"> +<div class="nav"> <a href="http://nepomuk.semanticdesktop.org"> </a><a href="http://nepomuk.semanticdesktop.org"><img style="border: 0px solid ; width: 180px; height: 88px;" alt="NEPOMUK Logo" src="nepomuk.png" /></a><br /> + + + + +<h1>Nepomuk Representational Language Specification</h1> + + + + +<big style="color: rgb(0, 90, 156);">Task-Force Ontologies</big> +</div> + + + + +<dl> + + + + + <dt>Latest Version:</dt> + + + + + <dd><a href="http://www.semanticdesktop.org/ontologies/2007/08/15/nrl">http://www.semanticdesktop.org/ontologies/nrl</a></dd> + + + + + <dt></dt> + + + + + <dt>This Version:</dt> + + + + + <dd><a href="http://www.semanticdesktop.org/ontologies/2007/08/15/nrl">http://www.semanticdesktop.org/ontologies/2007/08/15/nrl</a></dd> + + + + +</dl> + + + + +<dl> + + + + + <dt>Authors:</dt> + + + + + <dd>Michael Sintek, DFKI, <a href="mailto:michael.sintek@dfki.de">michael.sintek@dfki.de</a></dd> + + + + + <dd>Ludger van Elst, DFKI, <a href="mailto:elst@dfki.uni-kl.de">elst@dfki.uni-kl.de</a></dd> + + + + + <dd>Simon Scerri, DERI/NUIG, <a href="mailto:simon.scerri@deri.org">simon.scerri@deri.org</a></dd> + + + + + <dd>Siegfried Handschuh, DERI/NUIG, <a href="../htmlinformal/siegfried.handschuh@deri.org">siegfried.handschuh@deri.org</a></dd> + + + + + <dt></dt> + + + + + <dt>Editor:</dt> + + + + + <dd>Simon Scerri, DERI/NUIG, <a href="mailto:simon.scerri@deri.org">simon.scerri@deri.org</a></dd> + + + + + <dt></dt> + + + + + <dt>Contributors:</dt> + + + + + <dd>Julien Gaugaz, L3S, <a href="mailto:gaugaz@l3s.de">gaugaz@l3s.de</a> </dd> + + + + + <dd>Leo Sauermann, DFKI, <a href="mailto:leo.sauermann@dfki.de">leo.sauermann@dfki.de</a></dd> + + + + + <dd>Max Völkel, FZI, <a href="mailto:voelkel@fzi.de">voelkel@fzi.de</a><br /> + + + + + </dd> + + + + +</dl> + + + + +<dl> + + + + + <dt><span style="font-weight: bold;">Ontology:</span></dt> + + + + + <dd>XML/RDFS Serialization: <a href="http://www.semanticdesktop.org/ontologies/2007/08/15/nrl/nrl_data.rdfs">NRL +(Data Graph Only)</a></dd> + + + + + <dd>XML/RDFS Serialization: <a href="http://www.semanticdesktop.org/ontologies/2007/08/15/nrl/nrl_metadata.rdfs">NRL +(Metadata Graph Only)</a></dd> + + + + + <dd>TriG Serialization: <a href="http://www.semanticdesktop.org/ontologies/2007/08/15/nrl/nrl.trig">NRL +(Graph Set)</a></dd> + + + + +</dl> + + + + +</div> + + + + +<p class="copyright">Copyright © 2007 <a href="http://nepomuk.semanticdesktop.org/">Nepomuk Consortium</a><sup>®</sup> +This work is made available under the terms of Nepomuk <a href="LICENSE.txt">software license</a> +</p> + + + + +<hr /> +<h2><a class="mozTocH2" name="mozTocId48135"></a><a name="Abstract"></a>Abstract</h2> + + + + +<p style="text-align: justify; background-color: rgb(255, 255, 255);">NRL +was designed for knowledge representation in NEPOMUK Social Semantic +Desktop applications. While being built on top of the Resource +Description Framework (RDF) and the associated RDF Schema (RDFS), it +addresses several limitations of current Semantic Web languages, +especially with respect to modularization and costumization. These +questions seem to be important not only in Semantic Desktop scenarios +but also on the general Semantic Web. NRL tackles these questions by +including support for two main additional concepts: <a href="#3._NRL_Named_Graph_Extensions">Named Graphs</a> +and <a href="#4._Graph_Views_Extensions">Graph Views</a>. +Named graphs help coping with the heterogeneity of knowledge models and +ontologies, esp. multiple knowledge modules with potentially different +interpretations. The view concept allows for the tailoring of +ontologies towards different needs in various exploiting applications. +This view concept provides also the basic mechanism to impose different +semantics on thesame syntactical structure. <br /> + + + + +</p> + + + + +<p style="text-align: justify; background-color: rgb(255, 255, 255);"> +</p> + + + + +<h2 style="background-color: rgb(255, 255, 255);"><a class="mozTocH2" name="mozTocId695723"></a><a name="Status_of_this_document"></a>Status +of this document</h2> + + + + +<div style="background-color: rgb(255, 255, 51);" id="sotd"> +<p style="text-align: justify; background-color: rgb(255, 255, 255);"><span style="background-color: rgb(255, 255, 255);"> This document +arose from +the work of the Task-Force ontologies within the </span><a style="background-color: rgb(255, 255, 255);" href="http://nepomuk.semanticdesktop.org">Nepomuk project</a><span style="background-color: rgb(255, 255, 255);">. +It presents the specifications for the second version of the NRL +vocabulary. The document has been promoted from a draft form to this +official form upon reviewing by the general NEPOMUK consortium. +Subsequent versions of NRL might mean that the specification documents +of the later versions render this document obsolete, with respect to +the version of NRL in use, but not with respect to this versio</span>n.</p> + + + + +</div> + + + + +<div class="toc"> +<h2 id="contents"><a class="mozTocH2" name="mozTocId537771"></a><a name="Contents"></a>Contents<span style="text-decoration: underline;"></span><span style="text-decoration: underline;"></span><br /> + + + + +</h2> + + + + +<ul id="mozToc"> + + + + +<!--mozToc h2 1 h3 2 h4 3 h5 4--><li><a href="#mozTocId48135">Abstract</a></li> + + + + + <li><a href="#mozTocId695723">Status +of this document</a></li> + + + + + <li><a href="#mozTocId537771">Contents </a></li> + + + + + <li><a href="#mozTocId131741">1. +Introduction</a> + + + + <ul> + + + + + <li><a href="#mozTocId401341">1.1 +Requirements</a></li> + + + + + <li><a href="#mozTocId545385">1.2 +RDF/S and NRL +Compatibility</a></li> + + + + + <li><a href="#mozTocId290714">1.3 +Naming</a></li> + + + + + <li><a href="#mozTocId950739">1.4 +Persistence</a></li> + + + + + <li><a href="#mozTocId607548">1.5 +Social Semantic Desktop Ontologies</a></li> + + + + + <li><a href="#mozTocId976485">1.6 External +Ontology +Synchronisation</a></li> + + + + + <li><a href="#mozTocId561958">1.7 +NRL and Closed World Vs. Open World Assumptions</a></li> + + + + + + + + </ul> + + + + + </li> + + + + + <li><a href="#mozTocId154049">2. +Representing Domain Knowledge: RDF(S) and NRL Extensions to RDF(S)</a> + + + + <ul> + + + + + <li><a href="#mozTocId866477">2.1 +Resource Description +Framework +(RDF) Elements</a> + + + + <ul> + + + + + <li><a href="#mozTocId302034">2.1.1 +Classes</a></li> + + + + + <li><a href="#mozTocId861838">2.1.2 +Properties</a></li> + + + + + <li><a href="#mozTocId355985">2.1.3 +Other +Vocabulary</a></li> + + + + + + + + </ul> + + + + + </li> + + + + + <li><a href="#mozTocId794884">2.2. +RDF Schema (RDFS) +Elements</a> + + + + <ul> + + + + + <li><a href="#mozTocId679335">2.2.1 Classes</a></li> + + + + + <li><a href="#mozTocId295955">2.2.2 +Properties</a></li> + + + + + + + + </ul> + + + + + </li> + + + + + <li><a href="#mozTocId589481">2.3. +Recommendations for and +against the use of RDF/S elements</a> + + + + <ul> + + + + + <li><a href="#mozTocId522073">2.3.1 +rdfs:domain, rdfs:range</a></li> + + + + + <li><a href="#mozTocId332366">2.3.2 +Blank Nodes</a></li> + + + + + <li><a href="#mozTocId397156">2.3.3 +Collections +and Containers</a></li> + + + + + <li><a href="#mozTocId220340">2.3.4 +rdfs:isDefinedBy</a></li> + + + + + <li><a href="#mozTocId361071">2.3.5 +Reification</a></li> + + + + + + + + </ul> + + + + + </li> + + + + + <li><a href="#mozTocId932814">2.4. +Constraint Extensions</a> + + + + <ul> + + + + + <li><a href="#mozTocId770989">2.4.1. +nrl:TransitiveProperty</a></li> + + + + + <li><a href="#mozTocId779070">2.4.2. +nrl:SymmetricProperty</a></li> + + + + + <li><a href="#mozTocId832124">2.4.3. +nrl:AsymmetricProperty</a></li> + + + + + <li><a href="#mozTocId890283">2.4.4. +nrl:ReflexiveProperty</a></li> + + + + + <li><a href="#mozTocId687239">2.4.5. +nrl:FunctionalProperty</a></li> + + + + + <li><a href="#mozTocId86301">2.4.6. +nrl:InverseFunctionalProperty</a></li> + + + + + <li><a href="#mozTocId97363">2.4.7. +nrl:cardinality</a></li> + + + + + <li><a href="#mozTocId435982">2.4.8. +nrl:minCardinality</a></li> + + + + + <li><a href="#mozTocId297991">2.4.9. +nrl:maxCardinality</a></li> + + + + + <li><a href="#mozTocId72221">2.4.10. +nrl:inverseProperty</a></li> + + + + + + + + </ul> + + + + + </li> + + + + + + + + </ul> + + + + + </li> + + + + + <li><a href="#mozTocId929002">3. +Handling +Multiple Models: NRL Named Graph Extensions</a> + + + + <ul> + + + + + <li><a href="#mozTocId549245">3.1. +Graph Core Vocabulary</a> + + + + <ul> + + + + + <li><a href="#mozTocId991762">3.1.1. +nrl:Graph</a></li> + + + + + <li><a href="#mozTocId246095">3.1.2. +nrl:DocumentGraph</a></li> + + + + + <li><a href="#mozTocId178125">3.1.3. +nrl:subGraphOf</a></li> + + + + + <li><a href="#mozTocId972506">3.1.4. +nrl:superGraphOf</a></li> + + + + + <li><a href="#mozTocId503632">3.1.5. +nrl:equivalentGraph</a></li> + + + + + <li><a href="#mozTocId858885">3.1.6. +nrl:imports</a></li> + + + + + <li><a href="#mozTocId337127">3.1.7. +nrl:DefaultGraph</a></li> + + + + + + + + </ul> + + + + + </li> + + + + + <li><a href="#mozTocId787923">3.2. +Graph +Roles Vocabulary </a> + + + + <ul> + + + + + <li><a href="#mozTocId792849">3.2.1. +nrl:Data</a></li> + + + + + <li><a href="#mozTocId420122">3.2.2. +nrl:Schema</a></li> + + + + + <li><a href="#mozTocId196061">3.2.3. +nrl:InstanceBase</a></li> + + + + + <li><a href="#mozTocId287595">3.2.4. +nrl:Ontology</a></li> + + + + + <li><a href="#mozTocId372280">3.2.5. +nrl:KnowledgeBase</a></li> + + + + + <li><a href="#mozTocId379616">3.2.6. +nrl:Configuration</a></li> + + + + + <li><a href="#mozTocId781665">3.2.7. +nrl:GraphMetadata</a></li> + + + + + <li><a href="#mozTocId159397">3.2.8. +nrl:graphMetadataFor</a></li> + + + + + <li><a href="#mozTocId728175">3.2.9. +nrl:coreGraphMetadataFor</a></li> + + + + + <li><a href="#mozTocId465236">3.2.10. +nrl:Semantics</a></li> + + + + + <li><a href="#mozTocId737534">3.2.11. +nrl:hasSemantics</a></li> + + + + + <li><a href="#mozTocId331701">3.2.12. +nrl:semanticsDefinedBy</a></li> + + + + + <li><a href="#mozTocId704028">3.2.13. +nrl:semanticsLabel</a></li> + + + + + <li><a href="#mozTocId379929">3.2.14. +nrl:updatable</a></li> + + + + + + + + </ul> + + + + + </li> + + + + + <li><a href="#mozTocId54895">3. +Named Graph Example</a></li> + + + + + + + + </ul> + + + + + </li> + + + + + <li><a href="#mozTocId172834">4. Imposing +Semantics on and Tailoring of Graphs: NRL Graph Views Extensions</a> + + + + <ul> + + + + + <li><a href="#mozTocId238972">4.1. Views +Core Vocabulary</a> + + + + <ul> + + + + + <li><a href="#mozTocId304281">4.1.1. +nrl:GraphView </a></li> + + + + + <li><a href="#mozTocId595657">4.1.2. +nrl:viewOn</a></li> + + + + + <li><a href="#mozTocId124884">4.1.3. +nrl:hasSpecification </a></li> + + + + + + + + </ul> + + + + + </li> + + + + + <li><a href="#mozTocId648959">4.2. +Views Specification Vocabulary</a> + + + + <ul> + + + + + <li><a href="#mozTocId925367">4.2.1. +nrl:ViewSpecification</a></li> + + + + + <li><a href="#mozTocId162918">4.2.2. +nrl:realizes</a></li> + + + + + <li><a href="#mozTocId266518">4.2.3. +nrl:RuleViewSpecification </a></li> + + + + + <li><a href="#mozTocId718088">4.2.4. +nrl:ruleLanguage</a></li> + + + + + <li><a href="#mozTocId518283">4.2.5. +nrl:rule</a></li> + + + + + <li><a href="#mozTocId968780">4.2.6. +nrl:ExternalViewSpecification </a></li> + + + + + <li><a href="#mozTocId745751">4.2.7. +nrl:externalRealizer</a></li> + + + + + + + + </ul> + + + + + </li> + + + + + <li><a href="#mozTocId227803">4.3 +Graph Views Example</a></li> + + + + + + + + </ul> + + + + + </li> + + + + + <li><a href="#mozTocId943672">5. +Deprecated Elements</a></li> + + + + + <li><a href="#mozTocId225357">6. NRL +Semantics</a></li> + + + + + <li><a href="#mozTocId501171">References </a></li> + + + + + <li><a href="#mozTocId193273">Appendix +A. NRL Vocabulary Summary</a> + + + + <ul> + + + + + <li><a href="#mozTocId292715">A1: +Ontology Classes Description</a></li> + + + + + <li><a href="#mozTocId612656">A2: +Ontology Properties Description </a></li> + + + + + + + + </ul> + + + + + </li> + + + + +</ul> + + + + +<hr style="width: 100%; height: 2px;" /> +<h1>NRL Vocabulary Specification</h1> + + + + +<p style="text-align: justify;">This +document presents the +NEPOMUK +Representational Language (NRL), a language built on top of +RDF/S. The language is available for global use and +is independent of the domain for which it was initially designed for, +namely the [<a href="http://nepomuk.semanticdesktop.org/">NEPOMUK +Social Semantic Desktop</a>] initiative. The +NEPOMUK in +the language name (NRL) has been +retained only for historic purposes. Information regarding other +NEPOMUK ontologies can be found in [<a href="#1.5_Semantic_Desktop_Ontologies">Section +1.5</a>]. </p> + + + + +<p style="text-align: justify;">The +document stucture is as +follows. [<a href="#1._Introduction">Section 1</a>] gives +an insight +on the motivation for this work, the approaches taken, some resulting +assumptions and the specificatin of general naming and persistance +policies. [<a href="#2._Imported_Vocabulary_Elements">Section +2</a>] +gives an overview of the imported RDF/S vocabulary elements, +some of which have been restricted, and the NRL <span style="font-style: italic;">Constraint Extensions</span> +to +RDF/S. <span style="font-style: italic;"></span></p> + + + + +<p style="text-align: justify;"><span style="font-style: italic;">Named +Graph Extensions </span>[<a href="#3._NRL_Named_Graph_Extensions">Section +3</a>] gives an overview <span style="font-style: italic;"></span>of +the NRL +vocabulary to model the handling of multiple models, while <span style="font-style: italic;">Graph +View Extensions</span> +[<a href="#4._Graph_Views_Extensions">Section +4</a>] presents the vocabulary available to tailor and impose +semantics on named graphs.</p> + + + + +<p style="text-align: justify;">[<a href="#5._Deprecated_Elements">Section 5</a>] +is dedicated to deprecated elements whereas [<a href="#6._NRL_Semantics">Section +6</a>] +defines +the formal semantics of NRL (to be completed). A summary of all the NRL +vocabulary elements is given in [<a href="#Appendix_A._NRL_Vocabulary_Summary">Appendix A</a>].</p> + + + + +<h2><a class="mozTocH2" name="mozTocId131741"></a><a name="1._Introduction"></a>1. +Introduction</h2> + + + + +<span style="font-weight: bold;"></span> +<p style="text-align: justify;"><span style="font-weight: normal;"></span><span style="background-color: rgb(255, 255, 255);">NRL +is based on a number of key concepts, some of which +are +identical to concepts defined in earlier work. Other concepts +are +fundamentally the same to ones in existant work, but differ slightly in +definition, while some concepts are a fresh approach to data +representation. The key concepts are <span style="font-style: italic;">RDF +triple</span>, <span style="font-style: italic;">Named +Graph</span> +and <span style="font-style: italic;">Graph Views</span> and +they are introduced in this section.</span></p> + + + + +<p style="text-align: justify;"><span style="background-color: rgb(255, 255, 255);"></span><span style="background-color: rgb(255, 255, 255);"></span><span style="background-color: rgb(255, 255, 255);">The basic +concept is the <span style="font-style: italic;">RDF +triple</span> and the definition is fundamentally similar to the +one given in [</span><a style="background-color: rgb(255, 255, 255);" href="#References">RDF +Specification - CONCEPTS</a><span style="background-color: rgb(255, 255, 255);">] where a +triple consists of three components:</span></p> + + + + +<ul style="text-align: justify;"> + + + + + <li><span style="background-color: rgb(255, 255, 255);"></span><span style="background-color: rgb(255, 255, 255);"></span>a +subject - in the form of a URI Reference</li> + + + + + <li>a predicate - in the form of a URI Reference</li> + + + + + <li>an object - in the form of either a URI Reference or a +literal</li> + + + + +</ul> + + + + +<div style="text-align: justify;"><span style="background-color: rgb(255, 255, 255);">where +the predicate denotes the relationship between the subject and the +object. The only difference is that in NRL it is not expected +that +a blank node manifests itself as either a subject or an object +of +a triple [See <a href="#2.3.2_Blank_Nodes">Recommendation2.3.2</a>]. +</span><span style="background-color: rgb(255, 255, 255);"></span><br /> + + + + +<span style="background-color: rgb(255, 255, 255);"></span></div> + + + + +<p style="text-align: justify;"><span style="background-color: rgb(255, 255, 255);">An <span style="font-style: italic;">RDF Graph</span> +consists of a set of triples. The definition is similar to +the one given in [</span><a style="background-color: rgb(255, 255, 255);" href="#References">RDF +Specification - +CONCEPTS</a><span style="background-color: rgb(255, 255, 255);">].</span><span style="background-color: rgb(255, 255, 255);"> A </span><span style="font-style: italic; background-color: rgb(255, 255, 255);">Named +Graph </span><span style="background-color: rgb(255, 255, 255);">is +an RDF Graph identified by a name. In NRL, all RDF triples +must be assigned +to at least one named graph. Triples that are not, are automatically +assigned to a special named graph, the [<a href="#3.1.7._nrl:DefaultGraph">nrl:DefaultGraph</a>]. +Therefore, NRL +data handling is usually defined in terms of named graphs rather than +RDF triples. The formal definition for a named graph is the same as +that +given in [</span><a style="background-color: rgb(255, 255, 255);" href="#References">NAMED +GRAPHS</a><span style="background-color: rgb(255, 255, 255);">] +but excludes the open-world assumption [See <a href="#1.7_NRL_and_Closed_World_Vs._Open_World">Section 1.7</a>]. +Named graphs differ in content and purpose, +and for this reason <span style="font-style: italic;">Graph +Roles </span>have +been introduced, representing general roles like simple data, ontology, +knowledge base, plus other less generic roles. Graph roles carry <span style="font-style: italic;">Declarative Semantics</span>, +which means that their semantics are implicit and have not necessarily +been realized (in the form of inferred triples). A more elaborate +definition, syntax +specification and example section for named graphs is given in +</span><span style="font-style: italic; background-color: rgb(255, 255, 255);">Named +Graph Extensions </span><span style="background-color: rgb(255, 255, 255);">[</span><a style="background-color: rgb(255, 255, 255);" href="#3._NRL_Named_Graph_Extensions">Section +3</a><span style="background-color: rgb(255, 255, 255);">].</span></p> + + + + +<p style="text-align: justify;"><span style="background-color: rgb(255, 255, 255);"></span><span style="background-color: rgb(255, 255, 255);"></span><span style="background-color: rgb(255, 255, 255);">A named graph +consists of the corresponding triple set as is, and retrieving +RDF triples from a named graph, will simply return the enumerated +triples +in the set. However </span><span style="background-color: rgb(255, 255, 255);">it +is frequently required to work with graphs having realized +semantics in +the form of entailment triples, according to some declared +semantics. Additionaly, it is sometimes required to work with +more +abstract, simplified forms of a graph. In general, it is useful to work +with various interpretations of a named graph in different situations.</span><span style="background-color: rgb(255, 255, 255);"> +However, in order to preserve the integrity and consistency of named +graphs, an original named graph should be independent of +its interpretations. To model +this, one can +define arbitrary views which realize different +interpretations for an established named graph. We call these +interpretations </span><span style="font-style: italic; background-color: rgb(255, 255, 255);">Graph +Views </span><span style="background-color: rgb(255, 255, 255);">and +they +are formally defined in </span><span style="font-style: italic; background-color: rgb(255, 255, 255);">Graph +Views Extensions </span><span style="background-color: rgb(255, 255, 255);">[</span><a style="background-color: rgb(255, 255, 255);" href="#4._Graph_Views_Extensions">Section +4</a><span style="background-color: rgb(255, 255, 255);">]. +Graph views are themselves named +graphs, so it +is possible for a view to be applied on top of another graph +view. <span style="font-style: italic;">View +Specifications</span> define how a view </span>is +to be computed and they can refer either to a set of rules in some rule +language, or to an external application. Some view specifications +realize the <span style="font-style: italic;">Procedural +Semantics</span> of a graph, and the result is a <span style="font-style: italic;">Semantic View</span>, +having both declarative and procedural semantics. <span style="background-color: rgb(255, 255, 255);">Conceptually, +a graph <span style="font-style: italic;">g</span> </span><span style="background-color: rgb(255, 255, 255);">can be given a +semantics by applying a semantic realizing view</span><span style="font-style: italic; background-color: rgb(255, 255, 255);"> v</span><span style="background-color: rgb(255, 255, 255);">,</span><span style="font-style: italic; background-color: rgb(255, 255, 255);"> +</span><span style="background-color: rgb(255, 255, 255);">which +is linked to some semantic specifications. Practically, if the +semantics specifications are those for NRL, and these state that some +of the applied semantics </span><span style="background-color: rgb(255, 255, 255);">are +transitive (e.g. rdfs:subClass) this would imply that <span style="font-style: italic;">v</span></span><span style="font-style: italic; background-color: rgb(255, 255, 255);"> +</span><span style="background-color: rgb(255, 255, 255);">will +be the extension of </span><span style="background-color: rgb(255, 255, 255); font-style: italic;">g</span><span style="background-color: rgb(255, 255, 255);"> with the +inferred triples generated by performing the transitive closure.</span></p> + + + + +<p style="text-align: justify;"><span style="background-color: rgb(255, 255, 255);"></span><span style="background-color: rgb(255, 255, 255);"></span> +<span style="background-color: rgb(255, 255, 255);">The +following +figure </span><span style="background-color: rgb(255, 255, 255);"></span><span style="background-color: rgb(255, 255, 255);">presents the +important aspects of the NRL language, including the key concepts just +described and their relationships. The +diagram is partitioned in the (abstract) +syntax on which it is defined (right), and the formal semantics (left) +to which it is linked to. </span><span style="background-color: rgb(255, 255, 255);">The +NRL domain is depicted by the grey shaded part. Notice that NRL is not +limited to the syntax partition, since it includes NRL formal semantics +defined in [<a href="#6._NRL_Semantics">Section +6</a>]. </span><span style="background-color: rgb(255, 255, 255);">The +NRL syntax +is +composed of a base langugage and a schema language. The base +language refers to the specification of the key concepts in +the +language, including named graphs, graph roles and graph views +while </span><span style="background-color: rgb(255, 255, 255);">t</span><span style="background-color: rgb(255, 255, 255);">he schema +language (NRL Schema) provides the means to define schemas (especially +information models and ontologies). </span><span style="background-color: rgb(255, 255, 255);">The semantics +partition mainly distinguishes between abstract declarative semantics, +and realized procedural semantics.</span><br /> + + + + +</p> + + + + +<div style="text-align: center;"> +<div style="text-align: justify; margin-left: 40px;"> +<div style="text-align: center;"><img style="width: 547px; height: 330px;" alt="Overview of NRL: AbstractSyntax, Concepts and Semantics" src="NRLoverview.png" /><br /> + + + + +</div> + + + + +<div style="text-align: center;"><a name="Fig1"></a>Figure +1: Overview of NRL - +Abstract Syntax, Concepts and Semantics<br /> + + + + +</div> + + + + +<br /> + + + + +</div> + + + + +<div style="text-align: justify;"> +<p>The syntax schema consists of the NRL Schema, which is based +on an +extended RDFS (RDFS'). The syntax base presents the key +concepts of NRL as a set abstraction. Named graphs, consisting of RDF +Triples, are the most general set (red) since both graph roles and +graph views are special kinds of named graphs. Graph Roles (yellow) are +tied to declarative semantics that they assume (e.g. an ontology using +elements from RDF/S). Graph Views (green) are tied to view +specifications which execute the view's realization. The +intersection between graph roles and graph views refers to semantic +views. These special views realize the declarative semantics of the +graph role they are interpreting (e.g. by extending an ontology that +uses <span style="font-style: italic;">rdfs:subClassOf</span> +by its transitive closure as defined in RDF/S Semantics). Thus, as +shown on the left hand side of the figure, semantic view specifications +carry the realized procedural semantics for a view, which are +linked to the abstract declarative semantics of a language.<span style="background-color: rgb(255, 255, 255);"><br /> + + + + +</span></p> + + + + +</div> + + + + +<div style="text-align: justify;"> +<p><span style="background-color: rgb(255, 255, 255);"><a href="#Fig2">Figure 2</a></span><span style="background-color: rgb(255, 255, 255);"> shows how the +theoritical basis of NRL can be +applied in practice to handle RDF data. Data handling includes +creation, merging, interpretation and presentation of RDF data. It +presents the dataflow for some typical NRL data and how the various +concepts introduced earlier can be effectively used to model RDF data +and use it in different scenarios in a sound but intuitive way. The +example sections for the Named Graph extensions [<a href="#3.3._Named_Graph_Example">Section 3.3</a>] and +the Graph Views extensions [<a href="#4.3_Graph_Views_Example">Section +4.3</a>] present examples that model the dataflow in this figure +in TriG syntax </span>[<a href="#References">TRIG</a>]. +TriG is a straight-forward +extension of Turtle +[<a href="#References">TURTLE</a>]. Turtle itself +is an extension of N-Triples [<a href="#References">N-TRIPLES</a>] +which carefully takes the most useful and appropriate things added from +Notation3 +[<a href="#References">NOTATION3</a>] +while keeping it in the RDF model. TriG is a plain text +format created for serializing NGs and RDF Datasets.<br /> + + + + +</p> + + + + +</div> + + + + +<div style="text-align: justify;"> +<p><span style="background-color: rgb(255, 255, 255);">The +dataflow is based on four existing named graphs, two having the +role of [<a href="#3.2.4._nrl:Ontology">nrl:Ontology</a>] +(ontologies </span><span style="background-color: rgb(255, 255, 255);"><span style="font-style: italic;">O</span><small style="font-style: italic;"><small><small>1</small></small></small> +and <span style="font-style: italic;">O</span><small style="font-style: italic;"><small><small>2</small></small></small></span><span style="background-color: rgb(255, 255, 255);">) and the +other two that of [<a href="#3.2.3._nrl:InstanceBase">nrl:InstanceBase</a>] +(instance bases </span><span style="background-color: rgb(255, 255, 255);"><span style="font-style: italic;">I</span><small style="font-style: italic;"><small><small>1</small></small></small> +and <span style="font-style: italic;">I</span><small style="font-style: italic;"><small><small>2</small></small></small></span><span style="background-color: rgb(255, 255, 255);">). A new named +graph, <span style="font-style: italic;">O</span>, +is also defined as having the role of </span><span style="background-color: rgb(255, 255, 255);">[<a href="#3.2.4._nrl:Ontology">nrl:Ontology</a>]</span><span style="background-color: rgb(255, 255, 255);"> and by using +the property [<a href="#3.1.6._nrl:imports">nrl:imports</a>] +it is defined as being the supergraph of both </span><span style="background-color: rgb(255, 255, 255);"><span style="font-style: italic;">O</span><small style="font-style: italic;"><small><small>1</small></small></small> +and <span style="font-style: italic;">O</span><small style="font-style: italic;"><small><small>2</small></small></small></span><span style="background-color: rgb(255, 255, 255);">. This +constitutes an ontology merge for <span style="font-style: italic;">O</span></span><span style="background-color: rgb(255, 255, 255);"><span style="font-style: italic;"></span><small style="font-style: italic;"><small><small>1</small></small></small> +and <span style="font-style: italic;">O</span><small style="font-style: italic;"><small><small>2</small></small></small></span><span style="background-color: rgb(255, 255, 255);"> into <span style="font-style: italic;">O</span>.</span><span style="background-color: rgb(255, 255, 255);"></span> +Similarly, a new named graph, <span style="font-style: italic;">KB</span>, +is defined to have the role of [<a href="#3.2.5._nrl:KnowledgeBase">nrl:KnowledgeBase</a>] +and is defined as the supergraph of <span style="font-style: italic;">O</span>, <span style="font-style: italic;">I</span><small style="font-style: italic;"><small>1</small></small> +and <span style="font-style: italic;">I</span><small style="font-style: italic;"><small>2</small></small>. +Therefore,<span style="font-style: italic;"> KB </span>consists +of all RDF triples in <span style="background-color: rgb(255, 255, 255);"></span><span style="background-color: rgb(255, 255, 255);"></span><span style="background-color: rgb(255, 255, 255);"><span style="font-style: italic;">O</span><small style="font-style: italic;"><small><small>1</small></small></small>, +<span style="font-style: italic;">O</span><small style="font-style: italic;"><small><small>2</small></small></small></span>, +<span style="font-style: italic;">I</span><small style="font-style: italic;"><small>1</small></small> +and<span style="font-style: italic;"> I</span><small><small><span style="font-style: italic;">2</span><big><big>. +</big></big></small></small></p> + + + + +</div> + + + + +<img style="width: 552px; height: 339px;" alt="NRL Dataflow" src="dataflow.png" /><br /> + + + + +<br /> + + + + +<a name="Fig2"></a>Figure 2: NRL Dataflow diagram<br /> + + + + +<div style="text-align: left;"> +<div style="text-align: justify; margin-left: 0px; width: 900px;"> +<p><small><small><big><big>An +RDF programmer would like to work with an extension of <span style="font-style: italic;">KB</span> that includes +also the realized semantics that <span style="font-style: italic;">KB</span> +is implicitly carrying. To generate this extension, or view, the RDF +programmer can define an instance of [<a href="#4.2.1._nrl:ViewSpecification">nrl:ViewSpecification</a>] +that computes and returns +the procedural semantics for <span style="font-style: italic;">KB</span>. +</big></big></small></small><big><span style="background-color: rgb(255, 255, 255);"></span></big>The +view specification uses a rule language of choice that provides a +number of rules, one of which computes the transitive closure of <span style="font-style: italic;">rdfs:subClassOf</span>, as +defined in the RDFS semantics, for a set of RDF triples. Executing the +chosen rules over the triples in <span style="font-style: italic;">KB</span> +result in a semantic view <span style="font-style: italic;">RDFS(KB)</span> +consisting of the RDF triples in <span style="font-style: italic;">KB</span> +plus the generated entailment triples.</p> + + + + +<p>Next, the RDF programmer needs to present some of +this +extended data to an average user in a simplified way. In particular, +the user would at some point like to see the class hierarchy present in +<span style="font-style: italic;">RDFS(KB)</span>. +The RDF programmer can create external view specifications, in the form +of applications which take a named graph as input (a set of +RDF triples), and return the desired RDF triples as output. In +this case, an external view specification, <span style="font-style: italic;">E<small><small>1</small></small></span>, +is created and designed to select and return the triples defining the +class hierarchy within an input named graph. The view generated by this +application, <span style="font-style: italic;">E<small><small>1</small></small>(RDFS(KB)), +</span>which is basically another named graph, is +the data required for presentation to the user. It is worth to +note, that at this stage, all the seven named graphs that this last view<span style="font-style: italic;"> </span>is generated upon +are still intact and they have not been modified by any of the +operations. </p> + + + + +<h3><a class="mozTocH3" name="mozTocId401341"></a><a name="1.1_Requirements"></a>1.1 +Requirements</h3> + + + + +<p style="text-align: justify;">In this section we +specify the original identified requirements for a +Representational Language (excluding requirements that are +domain-dependent) and whether their fulfillment was successful or +otherwise.</p> + + + + +<p style="text-align: justify;">The following +requirements have been satisfied:</p> + + + + +<ul> + + + + + <li>Tool support for inferencing, interpretation, +manipulation and storage.</li> + + + + + <li>NRL should allow for validation of ontologies.</li> + + + + + <li>Basic subClassOf, type, and inverseProperty inference has +to be computable efficiently.</li> + + + + + <li>Domain and Range properties must be adhered to and +verified. [See domain and range usage <a href="#2.3._Recommendations">restrictions</a>]</li> + + + + + <li>Properties must support cardinality requirements. [See <a href="#2.4.7._nrl:cardinality"> nrl:cardinalty</a>, <a href="#2.4.8._nrl:minCardinality">nrl:minCardinalty</a> +and <a href="#2.4.9._nrl:maxCardinality">nrl:maxCardinality</a>]</li> + + + + + <li>Representation of ontology models. [See +graph role <a style="background-color: rgb(255, 255, 255);" href="#3.2.4._nrl:Ontology">nrl:Ontology</a>]</li> + + + + + <li>Ontology imports must be possible. Ontology management +must +be provided. [See named graph property [<a style="background-color: rgb(255, 255, 255);" href="#3.1.6._nrl:imports">nrl:imports</a>]</li> + + + + + <li>Support for Quads/Named Graphs to record provenance. [See <a href="#3._NRL_Named_Graph_Extensions">Named +Graph +Extensions</a>]</li> + + + + +</ul> + + + + +<p style="text-align: justify;">The following +requirements are no longer in the scope of the +NRL but in that of lower-level ontologies:</p> + + + + +<ul> + + + + + <li>The language must differentiate between concepts and +web-resources. [See <a href="#5._Deprecated_Elements">nrl:Thing</a> +and <a href="#5._Deprecated_Elements">nrl:ResourceManifestation</a>]</li> + + + + + <li>Meta-modeling needs to be supported. [See <a href="#5._Deprecated_Elements">nrl:NRLClass</a> +and <a href="#5._Deprecated_Elements">nrl:NRLProperty</a>]</li> + + + + + <li>Support for alternative labels (thesauri helpers) +alongside +labels is required. [See alternative labels property <a href="#5._Deprecated_Elements">nrl:altLabel</a>]</li> + + + + + <li>n-ary relations should be supported. [See <a href="#5._Deprecated_Elements"> +nrl:relationProperty</a>]</li> + + + + + <li>It must provide some basic semantic relations. [See <a href="#5._Deprecated_Elements">nrl:partOf</a>, <a href="#5._Deprecated_Elements">nrl:hasTopic</a> +and <a href="#5._Deprecated_Elements"> +nrl:relationProperty</a>]</li> + + + + + <li>Typing on reifications and contexts.</li> + + + + +</ul> + + + + +<p style="text-align: justify;">The following +requirements have not been satisfied:</p> + + + + +<ul> + + + + + <li>Support for imprecise/fuzzy/probabilistic +representations.</li> + + + + +</ul> + + + + +<p><span style="font-style: italic; font-weight: bold;">Note</span><span style="font-weight: bold;">:</span> +The +fulfillment of this requirement will be postponed until +a non-imprecise version of NRL is stable.</p> + + + + +<p>The following +requirement has been retracted:</p> + + + + +<ul> + + + + + <li>Typing on container +contents. Containers are to be +avoided +altogether. [See Recommendation <a href="#2.3.3_Grouping_resources">2.3.3</a>]</li> + + + + +</ul> + + + + +<h3><a class="mozTocH3" name="mozTocId545385"></a><a name="1.2_RDFS_and_NRL_Compatibility"></a>1.2 +RDF/S and NRL +Compatibility</h3> + + + + +<p style="text-align: justify;">This specification +provides some recommendations as to the use +of some RDF/S elements or constructs [<a href="#2.3">2.3</a>]. +It must be noted that if these recommendations are not followed, this +still results in <i>legal</i> RDF/S data and therefore <i>legal</i> +NRL data. However this does not imply that such data would be <i>valid</i> +NRL data. Although such data would conform to the RDF/S specifications, +correct manipulation of invalid NRL data is not guaranteed if the +recommendations are not followed. This also applies to RDF/S data that +is imported +in an NRL context (e.g. RDF/S data imported on one's semantic desktop). +In a more technical sense, legal NRL would be processed without +generating errors, but only valid NRL would be processed without +generating warnings. </p> + + + + +<p style="background-color: rgb(255, 255, 255); text-align: justify;"><span style="background-color: rgb(255, 255, 255);">Since +NRL is based on the Named Graph paradigm [See </span><a style="background-color: rgb(255, 255, 255);" href="#3._NRL_Named_Graph_Extensions">Named +Graph Extensions</a><span style="background-color: rgb(255, 255, 255);">], NRL +data cannot be directly represented with plain RDF/S since NG's are an +extension </span><span style="font-style: italic; background-color: rgb(255, 255, 255);">on +top</span><span style="background-color: rgb(255, 255, 255);"> +of RDF/S. Therefore NRL with named graphs is not backward +compatible +to RDF/S. It is compatible however with Named Graphs +as specified in [</span><a style="background-color: rgb(255, 255, 255);" href="#References">SPARQL-QUERY</a><span style="background-color: rgb(255, 255, 255);">].</span><br /> + + + + +</p> + + + + +<h3><a class="mozTocH3" name="mozTocId290714"></a><a name="1.3_Naming"></a>1.3 +Naming</h3> + + + + +<p style="text-align: justify;">The URI for the NRL +Vocabulary is <a href="http://www.semanticdesktop.org/ontologies/nrl#">http://www.semanticdesktop.org/ontologies/yyyy/mm/dd/nrl#</a> +subject +to the date of the latest stable version.</p> + + + + +<p style="text-align: justify;">The URI for an element +in the vocabulary is constructed by +appending a fragment identifier to the above URI. A fragment identifier +for a class always starts with an uppercase letter while in the case of +properties it starts with a lowercase letter. In the case of class +identifiers consisting of multiple words, the leading character of each +word will be an uppercase letter. In case of property identifiers +consisting of multiple words, the leading character of each word will +be an uppercase letter, except for the first word which as specified +should be in lowercase.</p> + + + + +<i>Examples<br /> + + + + +<br /> + + + + +</i> +<table style="text-align: left; width: 100%; height: 83px;" border="1" cellpadding="2" cellspacing="2"> + + + + + <tbody> + + + + + <tr> + + + + + <td><span style="font-family: monospace;">http://www.semanticdesktop.org/ontology/yyyy/mm/dd/nrl#Class</span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;">http://www.semanticdesktop.org/ontology/yyyy/mm/dd/nrl#ExampleClass</span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;">http://www.semanticdesktop.org/ontology/yyyy/mm/dd/nrl#property</span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;">http://www.semanticdesktop.org/ontology/yyyy/mm/dd/nrl#exampleProperty</span></td> + + + + + </tr> + + + + + + + + </tbody> +</table> + + + + +<br /> + + + + +<h3><a class="mozTocH3" name="mozTocId950739"></a><a name="1.4_Persistence"></a>1.4 +Persistence</h3> + + + + +<p>The NRL Vocabulary specification defined here and any +previous +or later versions, plus the NRL ontology itself [<a href="http://nepomuk.org/ontologies/nrl">http://www.semanticdesktop.org/ontology/yyyy/mm/dd/nrl#</a>] +will be provided as persistent resources.</p> + + + + +<h3><a class="mozTocH3" name="mozTocId607548"></a><a name="1.5_Social_Semantic_Desktop_Ontologies"></a>1.5 +Social Semantic Desktop Ontologies</h3> + + + + +<p style="text-align: justify;">Ontologies are +structured in various layers or levels, with +the rationale that those at higher levels are more stable and thus +change less often than those at lower levels. Usually, one +distinguishes representational ontologies, upper-level ontologies, +mid-level ontologies, and domain ontologies.</p> + + + + +<p style="text-align: justify;">The NRL is a +representational ontology and although it is +domain independent it was designed to fulfil requirement for the +NEPOMUK Social Semantic Desktop initiative. Representational ontologies +define +the vocabulary with which other ontologies are represented. Other +examples of such representational ontologies are RDF/S and OWL. The +relationship of a representational ontology to other ontologies is +quite different from the relationship between the other ontologies +themselves. While upper-level ontologies generalize mid-level +ontologies, which in turn generalize domain ontologies, all these +ontologies can be seen as <i class="italic">instances</i> +of the +representational ontology.</p> + + + + +<p style="text-align: justify;">The specification of +various other ontologies is in the +pipeline for the Social Semantic Desktop project. In particular, +the +following (upper-level) ontologies are being discussed:</p> + + + + +<ul> + + + + + <li>Information Element +Ontology [<a href="http://www.semanticdesktop.org/ontologies/nie">NIE</a>] +- to handle physical +resource (e.g. documents, web pages, files etc.)</li> + + + + + <li>Annotation Ontology +[<a href="http://www.semanticdesktop.org/ontologies/nao">NAO</a>] - +to handle general +annotation (e.g. Data annotation, Linking abstract +to physical resources) as well as graph +annotation (e.g. Data +authorship. etc.)</li> + + + + + <li>Personal Information Modelling Ontology [PIMO] - to model +things and relationships on the user's desktop.</li> + + + + +</ul> + + + + +<h3><a class="mozTocH3" name="mozTocId976485"></a><a name="1.6_External_Ontology_Synchronisation"></a>1.6 External +Ontology +Synchronisation</h3> + + + + +<p>The ontologies resulting +from the Social Semantic Desktop project +are +partly inspired by existing elements in external ontologies. +As a result some elements are very +similar to elements in existing languages like OWL <a href="#References">[OWL Overview]</a> and OMV <a href="#References">[OMV Documentation]</a>. +Also, some RDF/S elements do not fulfil the requirements for the +project's ontologies and therefore problems arise from these two +scenarios. When requiring elements that already exist in some other +standard ontology, but do not exactly conform to our requirements, +there are the following three outlined options:</p> + + + + +<ol> + + + + + <li>Re-define semantics for use within NEPOMUK ontologies.</li> + + + + +</ol> + + + + +This creates major problem when it comes to heterogeneity +issues. One cannot redefine an element if it already has a defined +semantics, because when encountering such an element, it would not +be +possible to decide in which context to interpret it. Restrictions are a +more subtle form of redefinition. In this case, any restrictions placed +on the use of existing elements will result in the possibility of +having Legal but Invalid data in the NEPOMUK ontologies context. See +further discussions in [<a href="#1.2">1.2</a>] +in +the case of NRL. +<ol style="text-align: justify;"> + + + + + <li value="2">Re-create new elements with required +semantics and ignore the existing ones.</li> + + + + +</ol> + + + + +<div style="text-align: justify;"> +This goes against the idea of ontologies and the Semantic +Web in general, that is, to have a shared conceptualisation, promote +the re-use of ontologies and discourage the re-creation of data. +<ol style="text-align: justify;"> + + + + + <li value="3">Re-create new elements with required +semantics and provide a mapping between them and the existing elements.</li> + + + + +</ol> + + + + +</div> + + + + +<div style="text-align: justify;"> +This option is a variant of the previous option, where +although new elements are re-created, the relation between the new and +the existent elements is modelled using mappings. Examples of these +mappings are subclass, hyponym, meronym. Although in this case, new +elements satisfying the requirements are created, the existent elements +are not ignored and therefore the shared conceptualisation ideology is +respected. +<p style="text-align: justify; width: 900px;">In the +NEPOMUK +ontologies, option three is the standard +best practice when existent elements with different semantics are +required. When requiring restriction on the use of elements, option one +is sufficient since it does not violate the predefined semantics. +However in this case the statement in [<a href="#1.2">1.2</a>] +should be noted. The mapping constructs required for option three will +be defined over time and therefore, although theoritically the +agreed-upon option is three, in practice option two is currently being +implemented.</p> + + + + +</div> + + + + +<h3><a class="mozTocH3" name="mozTocId561958"></a><a name="1.7_NRL_and_Closed_World_Vs._Open_World"></a>1.7 +NRL and Closed World Vs. Open World Assumptions</h3> + + + + +<div style="width: 909px;"> +<div style="text-align: justify; width: 900px;"> +<div style="text-align: justify;"> +<p style="width: 900px;">The open-world +assumption (OWA) presumes that its knowledge of the +world is incomplete and that this lack of knowledge does not imply +falsity. On the other hand, the closed-world assumption (CWA) presumes +that what is not currently known to be true, is false. Whereas the OWA +states that everything that is not known is undefined, the CWA implies +that everything we don't know is false. </p> + + + + +</div> + + + + +<p>This assumption has a big impact on direct and indirect +knowledge +generated through RDF data. This difference is demonstrated through the +following example which is based on <a href="#3._NRL_Named_Graph_Extensions">Named +Graphs</a> +and +<a href="http://www.wiwiss.fu-berlin.de/suhl/bizer/TriG/">TriG</a> +[TRIG]. We will consider the implications of importing the given three +graphs <span style="font-style: italic;">g1</span>, +<span style="font-style: italic;">g2</span> and <span style="font-style: italic;">g3</span> into an external +graph <span style="font-style: italic;">g</span>.</p> + + + + +<table style="text-align: left; width: 100%; height: 463px;" border="1" cellpadding="2" cellspacing="2"> + + + + + <tbody> + + + + + <tr> + + + + + <td><span style="font-family: monospace;">@prefix +nrl: +<http://www.semanticdesktop.org/ontology/yyyy/mm/dd/nrl#> +.</span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;"> @prefix dom: +<http://www.example.org/ontology/domainOntology#> . </span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;"> @prefix ex: +<http://www.example.org/vocabulary#> .</span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;"> @prefix ex2: +<http://www.example.org/vocabulary#> .</span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;"> @prefix : +<http://www.example.org/vocabulary#> .</span><br /> + + + + + <br /> + + + + + <span style="font-family: monospace;">[1] :g1 {</span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;"> + dom:Person rdf:type rdfs:Class .</span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;"> + dom:Man rdf:type rdfs:Class ;</span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;"> + rdfs:subClassOf +dom:Person .</span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;"> + dom:Woman rdf:type rdfs:Class ;</span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;"> + rdf:subClassOf +dom:Person .</span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;"> + dom:hasFather rdf:type rdf:Property ,</span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;"> + + + nrl:FunctionalProperty ;</span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;"> + + rdfs:domain rdf:Person ;</span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;"> + + rdfs:range rdf:Man . }</span><br style="font-family: monospace;" /> + + + + + <br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;">[2] :g2 { </span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;"> + ex:Peter rdf:type dom:Man .</span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;"> + ex:Jill rdf:type dom:Person ; </span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;"> + dom:hasFather +ex:Peter . }</span><br style="font-family: monospace;" /> + + + + + <br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;">[3] :g3 { </span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;"> + ex2:Jack rdf:type dom:Man .</span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;"> + ex:Jill dom:hasFather ex2:Jack . } </span></td> + + + + + </tr> + + + + + + + + </tbody> +</table> + + + + +</div> + + + + +</div> + + + + +<div style="width: 909px;"> +<br /> + + + + +[1] The first +graph consists of an ontology and presents +three classes and a property. The classes are <span style="font-style: italic;">dom:Person</span> and its +two subclasses <span style="font-style: italic;">dom:Woman</span> +and <span style="font-style: italic;">dom:Man</span>. +The property <span style="font-style: italic;">dom:hasFather </span>is +a <a href="#2.4.5._nrl:FunctionalProperty">nrl:FunctionalProperty</a> +applicable to class <span style="font-style: italic;">dom:Person +</span>and taking as values instances of <span style="font-style: italic;">dom:Man</span>.<br /> + + + + +<br /> + + + + +</div> + + + + +<div style="width: 909px;"> +[2] The second named graph is an instance base consisting of +two +instances, <span style="font-style: italic;">Peter </span>as +a <span style="font-style: italic;">dom:Man </span>and <span style="font-style: italic;">Jill</span> as a <span style="font-style: italic;">dom:Person</span>. In +addition, the <span style="font-style: italic;">dom:hasFather</span> +relation between <span style="font-style: italic;">Jill </span>and<span style="font-style: italic;"> Peter</span> says that <span style="font-style: italic;">Peter</span> is <span style="font-style: italic;">Jill</span>'s father. +</div> + + + + +<div style="width: 909px;"> +<span style="font-style: italic;">Question</span>: +Is <span style="font-style: italic;">Jill</span> a <span style="font-style: italic;">dom:Woman</span>?<span style="font-style: italic;"></span> +<br /> + + + + +<span style="font-style: italic;">OWA</span>: +Unknown - It is only known that <span style="font-style: italic;">Jill</span> +is a <span style="font-style: italic;">dom:Person</span>. +OWA cannot determine whether the statement is true or false. +</div> + + + + +<div style="text-align: justify;"> +<span style="font-style: italic;">CWA</span>: +No - <span style="font-style: italic;">Jill </span>is +nowhere +defined to be a <span style="font-style: italic;">dom:Woman</span>. +Therefore the statement is false. +<br /> + + + + +<br /> + + + + +<span style="font-style: italic;">Question</span>: +Is <span style="font-style: italic;">Peter</span> a +<span style="font-style: italic;">dom:Person</span>? +<br /> + + + + +<span style="font-style: italic;">OWA</span>: +Yes - +Peter is a <span style="font-style: italic;">dom:Man</span>, +and this is a subclass of <span style="font-style: italic;">dom:Person</span>. +<br /> + + + + +<span style="font-style: italic;">CWA</span>: +Yes - +Peter is a <span style="font-style: italic;">dom:Man</span>, +and this is a subclass of <span style="font-style: italic;">dom:Person</span>.<br /> + + + + +<br /> + + + + +[3] +The +third graph is also an instance base and presents another instance, <span style="font-style: italic;">Jack </span>as a <span style="font-style: italic;">dom:Man</span>. The same <span style="font-style: italic;">Jill </span>defined in +graph two, is said to have <span style="font-style: italic;">Jack</span> +as her father<span style="font-style: italic;">.</span><br /> + + + + +<span style="font-style: italic;"></span><span style="font-style: italic;"></span><br /> + + + + +Since <span style="font-style: italic;">dom:hasFather </span>is +a functional property, <span style="font-style: italic;">Jill +</span>can have only one person related to her by that property. +<span style="font-style: italic;"></span><br /> + + + + +<span style="font-style: italic;">OWA</span>: +It +results that <span style="font-style: italic;">Jack</span> +and <span style="font-style: italic;">Peter</span> +are the same person. This statement is implicitly added to the +data. +<span style="font-style: italic;"></span><br /> + + + + +<span style="font-style: italic;">CWA</span>: +There +is conflicting data in g2 and g3. An error is generated. +<p>The RDF +language itself assumes an open-world and so does +the definition for Named Graphs in <span style="background-color: rgb(255, 255, 51);"><span style="background-color: rgb(255, 255, 255);">[</span></span><a style="background-color: rgb(255, 255, 255);" href="#References">NAMED +GRAPHS</a><span style="background-color: rgb(255, 255, 255);">]. +There is a difference of opinion on what approach is best for handling +RDF data. While OWA is more flexible, and more likely to +generate +new statements based on ones that already exist in the models, its +non-monotonic nature hinders computability and largely increases +the +complexity of RDF data. On the other hand, while CWA is much more prone +to generate errors, it is totally deterministic and one can always +compute whether any statement under the assumption is true or false.</span></p> + + + + +<p><span style="background-color: rgb(255, 255, 255);"></span>Although +it is sometimes more realistic to apply OWA, the correctness +of this approach is not guaranteed. In the given example, it might +makes sense to leave the possibility open for the statement <span style="font-style: italic;">Jill is a woman</span> to +be true. However it might not make sense to assume that the fact <span style="font-style: italic;">Jack is Peter</span> is +intentional. Under CWA, the truth of the statements is subject to +explicitally stating them.</p> + + + + +<p>For this reason, NRL does not assume an <span style="font-style: italic;">Open World View</span> +and although NRL imposes no semantics on basic +graphs, NRL +semantics are CWA. Semantics are imposed on graphs through Graph Views +and Semantic Views as +introduced in [<a href="#4._Graph_Views_Extensions">Section +4</a>]. Therefore <span style="font-style: italic;">Open +World Views</span> +can be realized as well by applying an OWA view to a +named +graph. On the Semantic Desktop in particular we assume closed-world +semantics +as it focuses mainly on personal data. While most people find it +difficult to understand the logical meaning and potential inferences +statements of the open-world assumption, the closed-world assumption is +easier to understand for an average desktop user. </p> + + + + +</div> + + + + +<div style="width: 909px;"> +<h2><a class="mozTocH2" name="mozTocId154049"></a><a name="2._Representing_Domain_Knowledge:_RDFS"></a>2. +Representing Domain Knowledge: RDF(S) and NRL Extensions to RDF(S)</h2> + + + + +<p style="text-align: justify; width: 900px;">The NRL +Vocabulary is an +application of the [<a href="#References">Resource +Description Framework</a>] (RDF) and the associated [<a href="#References">RDF +Schema</a>] (RDFS). The NRL vocabulary +therefore implicitly includes elements from the RDF/RDFS vocabularies. +Consequently the specifications for RDF [<a href="#References">RDF +Specification</a>] and RDFS should be regarded as part of this +specification document. However, the NRL vocabulary defines some <a href="#2.3._Recommendations"> +recommendations</a> on the use of RDF/RDFS elements. When using +RDF/S constructs within the NRL context, these recommendations need +to be respected if the generated data is to be valid NRL data (see +discussion in [<a href="#1.2">1.2</a>] +regarding +valid and legal NRL). In practice this means that when RDF/S constructs +are used together with NRL elements (or any of their instances) one +should strictly abide by the RDF/S specifications and any +recommendations stated in this document.<br /> + + + + +<br /> + + + + +The rest of Section 2 is divided as follows. Summary tables of the +imported RDF/RDFS elements are provided, followed by specifications of +any restrictions or recommendations placed when importing into NRL.</p> + + + + +<h3><a class="mozTocH3" name="mozTocId866477"></a><a name="2.1_Resource_Description_Framework_RDF"></a>2.1 +Resource Description +Framework +(RDF) Elements</h3> + + + + +<p style="text-align: justify; width: 900px;">The +following are the +elements defined in RDF and implicitly +forming part of the NRL. Their summary tables are categorized into +Classes, Properties and other elements. The class summary table states +the class name and the class’s parent class. The property +summary table states the property name and the applicable domain and +range. The other elements table states the element name and the element +type. The tables also denote whether the elements have been imported as +is, or if extensions or restrictions apply when used in the NEPOMUK +context. These extensions and restrictions are specified in [<a href="#2.3._Recommendations">2.3</a>]</p> + + + + +<h4 style="text-align: justify;"><a class="mozTocH4" name="mozTocId302034"></a><a name="2.1.1_Classes"></a>2.1.1 +Classes</h4> + + + + +<table style="width: 100%;" id="table27" border="1"> + + + + + <tbody> + + + + + <tr> + + + + + <td style="width: 199px;"><i>Class</i></td> + + + + + <td style="width: 521px;"><i>Superclass</i></td> + + + + + <td style="width: 183px;"><i>Notes</i></td> + + + + + </tr> + + + + + <tr> + + + + + <td style="width: 199px;">rdf:Property</td> + + + + + <td style="width: 521px;">rdfs:Resource</td> + + + + + <td style="width: 183px;">No</td> + + + + + </tr> + + + + + <tr> + + + + + <td style="width: 199px;">rdf:Statement</td> + + + + + <td style="width: 521px;">rdfs:Resource</td> + + + + + <td style="width: 183px;">No</td> + + + + + </tr> + + + + + <tr> + + + + + <td style="width: 199px;">rdf:XMLLiteral*</td> + + + + + <td style="width: 521px;">rdfs:Literal</td> + + + + + <td style="width: 183px;">No</td> + + + + + </tr> + + + + + <tr> + + + + + <td style="width: 199px;">rdf:Bag</td> + + + + + <td style="width: 521px;">rdfs:Container</td> + + + + + <td style="width: 183px;"><a href="#2.3.3_Grouping_resources">Yes</a></td> + + + + + </tr> + + + + + <tr> + + + + + <td style="width: 199px;">rdf:Seq</td> + + + + + <td style="width: 521px;">rdfs:Container</td> + + + + + <td style="width: 183px;"><a href="#2.3.3_Grouping_resources">Yes</a></td> + + + + + </tr> + + + + + <tr> + + + + + <td style="width: 199px;">rdf:Alt</td> + + + + + <td style="width: 521px;">rdfs:Container</td> + + + + + <td style="width: 183px;"><a href="#2.3.3_Grouping_resources">Yes</a></td> + + + + + </tr> + + + + + <tr> + + + + + <td style="width: 199px;">rdf:List</td> + + + + + <td style="width: 521px;">rdfs:Resource</td> + + + + + <td style="width: 183px;">No</td> + + + + + </tr> + + + + + + + + </tbody> +</table> + + + + +<p>*rdf:XMLLiteral is also an instance of rdfs:Datatype (see <a href="#2.1.3_Other_Vocabulary"> +Other Vocabulary</a>)</p> + + + + +<h4><a class="mozTocH4" name="mozTocId861838"></a><a name="2.1.2_Properties"></a>2.1.2 +Properties</h4> + + + + +<table style="width: 100%;" id="table28" border="1"> + + + + + <tbody> + + + + + <tr> + + + + + <td style="width: 193px;"><i>Property</i></td> + + + + + <td style="width: 241px;"><i>Domain</i></td> + + + + + <td style="width: 273px;"><i>Range</i></td> + + + + + <td style="width: 183px;"><i>Notes</i></td> + + + + + </tr> + + + + + <tr> + + + + + <td style="width: 193px;">rdf:type</td> + + + + + <td style="width: 241px;">rdfs:Resource</td> + + + + + <td style="width: 273px;">rdfs:Class</td> + + + + + <td style="width: 183px;">No</td> + + + + + </tr> + + + + + <tr> + + + + + <td style="width: 193px;">rdf:subject</td> + + + + + <td style="width: 241px;">rdf:Statement</td> + + + + + <td style="width: 273px;">rdfs:Resource</td> + + + + + <td style="width: 183px;">No</td> + + + + + </tr> + + + + + <tr> + + + + + <td style="width: 193px;">rdf:predicate</td> + + + + + <td style="width: 241px;">rdf:Statement</td> + + + + + <td style="width: 273px;">rdfs:Resource</td> + + + + + <td style="width: 183px;">No</td> + + + + + </tr> + + + + + <tr> + + + + + <td style="width: 193px;">rdf:object</td> + + + + + <td style="width: 241px;">rdf:Statement</td> + + + + + <td style="width: 273px;">rdfs:Resource</td> + + + + + <td style="width: 183px;">No</td> + + + + + </tr> + + + + + <tr> + + + + + <td style="width: 193px;">rdf:value</td> + + + + + <td style="width: 241px;">rdfs:Resource</td> + + + + + <td style="width: 273px;">rdfs:Resource</td> + + + + + <td style="width: 183px;">No</td> + + + + + </tr> + + + + + <tr> + + + + + <td style="width: 193px;">rdf:first</td> + + + + + <td style="width: 241px;">rdf:List</td> + + + + + <td style="width: 273px;">rdfs:Resource</td> + + + + + <td style="width: 183px;">No</td> + + + + + </tr> + + + + + <tr> + + + + + <td style="width: 193px;">rdf:rest</td> + + + + + <td style="width: 241px;">rdf:List</td> + + + + + <td style="width: 273px;">rdf:List</td> + + + + + <td style="width: 183px;">No</td> + + + + + </tr> + + + + + + + + </tbody> +</table> + + + + +<h4><a class="mozTocH4" name="mozTocId355985"></a><a name="2.1.3_Other_Vocabulary"></a>2.1.3 +Other +Vocabulary</h4> + + + + +<table style="width: 100%;" id="table29" border="1"> + + + + + <tbody> + + + + + <tr> + + + + + <td style="width: 193px;"><i>Name</i></td> + + + + + <td style="width: 519px;"><i>Type</i></td> + + + + + <td style="width: 184px;"><i>Notes</i></td> + + + + + </tr> + + + + + <tr> + + + + + <td style="width: 193px;">rdf:nil</td> + + + + + <td style="width: 519px;">rdfs:List</td> + + + + + <td style="width: 184px;">No</td> + + + + + </tr> + + + + + <tr> + + + + + <td style="width: 193px;">rdf:XMLLiteral</td> + + + + + <td style="width: 519px;">rdfs:Datatype</td> + + + + + <td style="width: 184px;">No</td> + + + + + </tr> + + + + + + + + </tbody> +</table> + + + + +<h3><a class="mozTocH3" name="mozTocId794884"></a><a name="2.2._RDF_Schema_RDFS_Elements"></a>2.2. +RDF Schema (RDFS) +Elements</h3> + + + + +<p style="text-align: justify;">The following are the +elements defined in RDFS and +implicitly +forming part of the NRL. Their summary tables are categorized into +Classes and Properties. The class summary table states the class name +and the class’s parent class. The property summary table +states the property name and the applicable domain and range. The +tables also denote whether the elements have been imported as is, or if +extensions apply when used in the NRL context. These extensions are +specified in [<a href="#2.3._Recommendations">2.3</a>]</p> + + + + +<h4><a class="mozTocH4" name="mozTocId679335"></a><a name="2.2.1_Classes"></a>2.2.1 Classes</h4> + + + + +<table style="width: 100%;" id="table30" border="1"> + + + + + <tbody> + + + + + <tr> + + + + + <td style="width: 253px;"><i>Class</i></td> + + + + + <td style="width: 460px;"><i>Superclass</i></td> + + + + + <td style="width: 183px;"><i>Notes</i></td> + + + + + </tr> + + + + + <tr> + + + + + <td style="width: 253px;">rdfs:Resource</td> + + + + + <td style="width: 460px;">rdfs:Resource</td> + + + + + <td style="width: 183px;">No</td> + + + + + </tr> + + + + + <tr> + + + + + <td style="width: 253px;">rdfs:Class</td> + + + + + <td style="width: 460px;">rdfs:Resource</td> + + + + + <td style="width: 183px;">No</td> + + + + + </tr> + + + + + <tr> + + + + + <td style="width: 253px;">rdfs:Datatype</td> + + + + + <td style="width: 460px;">rdfs:Class</td> + + + + + <td style="width: 183px;">No</td> + + + + + </tr> + + + + + <tr> + + + + + <td style="width: 253px;">rdfs:Container</td> + + + + + <td style="width: 460px;">rdfs:Resource</td> + + + + + <td style="width: 183px;"><a href="#2.3.3_Grouping_resources">Yes</a></td> + + + + + </tr> + + + + + <tr> + + + + + <td style="width: 253px;">rdfs:Literal</td> + + + + + <td style="width: 460px;">rdfs:Resource</td> + + + + + <td style="width: 183px;">No</td> + + + + + </tr> + + + + + <tr> + + + + + <td style="width: 253px;">rdfs:ContainerMembershipProperty</td> + + + + + <td style="width: 460px;">rdf:Property</td> + + + + + <td style="width: 183px;"><a href="#2.3.3_Grouping_resources">Yes</a></td> + + + + + </tr> + + + + + + + + </tbody> +</table> + + + + +<h4><a class="mozTocH4" name="mozTocId295955"></a><a name="2.2.2_Properties"></a>2.2.2 +Properties</h4> + + + + +<table style="width: 100%;" id="table31" border="1"> + + + + + <tbody> + + + + + <tr> + + + + + <td style="width: 312px;"><i>Property</i></td> + + + + + <td style="width: 326px;"><i>Domain</i></td> + + + + + <td style="width: 258px;"><i>Range</i></td> + + + + + <td style="width: 250px;"><i>Notes</i></td> + + + + + </tr> + + + + + <tr> + + + + + <td style="width: 312px;">rdfs:domain</td> + + + + + <td style="width: 326px;">rdf:Property</td> + + + + + <td style="width: 258px;">rdfs:Class</td> + + + + + <td style="width: 250px;"><a href="#2.3.1_rdfs:domain_rdfs:range">Yes</a></td> + + + + + </tr> + + + + + <tr> + + + + + <td style="width: 312px;">rdfs:range</td> + + + + + <td style="width: 326px;">rdf:Property</td> + + + + + <td style="width: 258px;">rdfs:Class</td> + + + + + <td style="width: 250px;"><a href="#2.3.1_rdfs:domain_rdfs:range">Yes</a></td> + + + + + </tr> + + + + + <tr> + + + + + <td style="width: 312px;">rdfs:subClassOf</td> + + + + + <td style="width: 326px;">rdfs:Class</td> + + + + + <td style="width: 258px;">rdfs:Class</td> + + + + + <td style="width: 250px;">No</td> + + + + + </tr> + + + + + <tr> + + + + + <td style="width: 312px;">rdfs:subPropertyOf</td> + + + + + <td style="width: 326px;">rdf:Property</td> + + + + + <td style="width: 258px;">rdf:Property</td> + + + + + <td style="width: 250px;">No</td> + + + + + </tr> + + + + + <tr> + + + + + <td style="width: 312px;">rdfs:member</td> + + + + + <td style="width: 326px;">rdfs:Resource</td> + + + + + <td style="width: 258px;">rdfs:Resource</td> + + + + + <td style="width: 250px;"><a href="#2.3.3_Grouping_resources">Yes</a></td> + + + + + </tr> + + + + + <tr> + + + + + <td style="width: 312px;">rdfs:isDefinedBy*</td> + + + + + <td style="width: 326px;">rdfs:Resource</td> + + + + + <td style="width: 258px;">rdfs:Resource</td> + + + + + <td style="width: 250px;"><a href="#2.3.4_rdfs:isDefinedBy">Yes</a></td> + + + + + </tr> + + + + + <tr> + + + + + <td style="width: 312px;" height="24">rdfs:label</td> + + + + + <td style="width: 326px;" height="24">rdfs:Resource</td> + + + + + <td style="width: 258px;" height="24">rdfs:Literal</td> + + + + + <td style="width: 250px;" height="24">No</td> + + + + + </tr> + + + + + <tr> + + + + + <td style="width: 312px;">rdfs:comment</td> + + + + + <td style="width: 326px;">rdfs:Resource</td> + + + + + <td style="width: 258px;">rdfs:Literal</td> + + + + + <td style="width: 250px;">No</td> + + + + + </tr> + + + + + <tr> + + + + + <td style="width: 312px;">rdfs:seeAlso</td> + + + + + <td style="width: 326px;">rdfs:Resource</td> + + + + + <td style="width: 258px;">rdfs:Resource</td> + + + + + <td style="width: 250px;">No</td> + + + + + </tr> + + + + + + + + </tbody> +</table> + + + + +<p>*rdfs:isDefinedBy is a sub property of rdfs:seeAlso</p> + + + + +</div> + + + + +<h3><a class="mozTocH3" name="mozTocId589481"></a><a name="2.3._Recommendations_for_and_against_the"></a>2.3. +Recommendations for and +against the use of RDF/S elements</h3> + + + + +<p>As discussed earlier [<a href="#1.2">Section +1.2</a>] although +any legal RDF is also legal NRL, it is not necessarily valid NRL. In +order for NRL to be valid, these recommendations must be strictly +adhered to.</p> + + + + +<h4><a class="mozTocH4" name="mozTocId522073"></a><a name="2.3.1_rdfs:domain_rdfs:range"></a>2.3.1 +rdfs:domain, rdfs:range</h4> + + + + +<p style="text-align: justify;"><big><span style="font-size: 12pt;">The +fact that NRL does not assume open-world has an +impact on the way some constructs should be used. This is especially +true for +the rdfs:domain and the rdfs:range elements. In an open-world scenario, +when +using a property to relate two resources, one is implicitly casting the +type of +those resources to the types specified in the property’s +domain and range +definition. In other words the use of a property evokes additional +implicit +statements about the types of the objects being related, even if these +types +are different than the types that have been predefined for the objects, +if at +all. In a closed-world scenario as on the semantic +desktop this is not possible since in order to +relate +two resources, their types must fit the expected domain and range in +the first +place. This also means that untyped resources cannot be related. +Failure to do +so will generate legal yet invalid NRL data on the semantic desktop. +This recommendation has a +major bearing +on the validity of logical inference mechanisms in place within NRL and +therefore must be strictly adhered to.</span></big><br /> + + + + +</p> + + + + +<span style="font-style: italic;"><span style="font-weight: bold;">Recommendation: </span></span><i>The +domain and range constraints for +properties must be strictly adhered to. Untyped resources cannot be +related +through a property, since the types of the related resources must +explicitly +satisfy the constraints set by rdfs:domain and rdfs:range given NRL is +not OWA.<br /> + + + + +</i><br /> + + + + +<i>Examples</i> +<p style="text-align: justify;">In these examples and +the ones that follow throughout the +document, we use the example namespace for user-generated data <span style="font-family: monospace;">http://mydesktop.org/mydesktop#</span>. +The example namespace abbreviation can be defined as follows. To +improve the readability of examples, the user namespace abbreviation is +sometimes excluded. In these cases, the elements are given in italics.</p> + + + + +<table style="text-align: left; width: 100%;" border="1" cellpadding="2" cellspacing="2"> + + + + + <tbody> + + + + + <tr> + + + + + <td><span style="font-family: monospace;"> @prefix +rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .</span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;"> @prefix +rdfs: <http://www.w3.org/2000/01/rdf-schema#> .</span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;"> @prefix +nrl: +<http://www.semanticdesktop.org/ontology/yyyy/mm/dd/nrl#> +.</span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;"> @prefix +voc: <http://www.semanticdesktop.org/ontology/desktop#> .</span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;"> ...</span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;"> @prefix +desktop: <http://mydesktop.org/mydesktop#> .</span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;"> ...</span></td> + + + + + </tr> + + + + + + + + </tbody> +</table> + + + + +<br /> + + + + +[1] Within the Ontology <span style="font-style: italic;">Desktop</span> +the +property voc:depicts is assigned a domain of voc:ImageFile and a range +of voc:Person.<br /> + + + + +<br /> + + + + +[2] desktop:Myself is defined as an instance of voc:Person.<br /> + + + + +<br /> + + + + +[3] desktop:MyFriend is defined as an instance of voc:Friend.<br /> + + + + +<br /> + + + + +[4] desktop:PassportPhoto is defined as an instance of voc:ImageFile. +It is related to desktop:Myself through the voc:depicts property. This +is valid usage of the rdfs:domain and +rdfs:range as defined in [1] and is valid NRL data, since the types of +both resources being related have been stated and they fit the domain +and range constraints.<br /> + + + + +<br /> + + + + +[5] +desktop:Friend20060613 is defined +as an instance of voc:ImageFile. It is related to desktop:MyFriend +through the voc:depicts property. It is nowhere stated that the class +voc:Friend is a subclass of voc:Person. This is legal, but not +valid usage of the rdfs:domain and +rdfs:range as defined in [1]. Given the closed-world +assumption, +it cannot be determined whether the statement 'desktop:MyFriend is +voc:Person' is true. Note that if voc:Friend was defined as a +subclass of voc:Person, the statement would become true +and +therefore the NRL data would be both legal and valid.<br /> + + + + +<br style="font-family: monospace;" /> + + + + +<table style="text-align: left; width: 100%;" border="1" cellpadding="2" cellspacing="2"> + + + + + <tbody> + + + + + <tr> + + + + + <td><span style="font-family: monospace;">[1] +:o1 {</span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;"> + ...</span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;"> + voc:depicts rdf:type rdf:Property ;</span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;"> + + rdf:domain voc:ImageFile ;</span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;"> + + rdf:range voc:Person ;</span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;"> + + rdfs:subClassOf voc:Person . }</span><br style="font-family: monospace;" /> + + + + + <br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;"> + :ib1 { </span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;"> + ...</span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;">[2] +desktop:Myself rdf:type voc:Person . </span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;">[3] +desktop:MyFriend rdf:type voc:Friend . </span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;">[4] +desktop:PassportPhoto rdf:type voc:ImageFile ;</span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;"> + voc:depicts +desktop:Myself .</span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;">[5] +desktop:Friend20060613 rdf:type voc:ImageFile ;</span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;"> + + + voc:depicts desktop:MyFriend . } </span></td> + + + + + </tr> + + + + + + + + </tbody> +</table> + + + + +<br /> + + + + +<h4><a class="mozTocH4" name="mozTocId332366"></a><a name="2.3.2_Blank_Nodes"></a>2.3.2 +Blank Nodes</h4> + + + + +<p style="text-align: justify;">The use of blank nodes +in conjunction with NRL elements and +their instances is strongly discouraged. Blank nodes are semantically +difficult to handle and as a result it is difficult to implement them +correctly. </p> + + + + +<div style="text-align: justify;"><i><span style="font-weight: bold;">Recommendation:</span> The +use of blank nodes is strongly +discouraged. Data containing blank nodes is legal but not valid NRL +data.<br /> + + + + +</i> +<h4><a class="mozTocH4" name="mozTocId397156"></a><a name="2.3.3_Grouping_resources"></a>2.3.3 +Collections +and Containers</h4> + + + + +<p>Container classes are +deprecated because the semantics of +containers are not clear and they are also difficult to handle. The +sole use of either containers or collections is sufficient to model +grouped resources. Since the semantics of collections are clearer, the +use of containers is discouraged in favour of collections.</p> + + + + +<ol> + + + + + <li>rdf:Bag is a +container class whose use is discouraged.</li> + + + + + <li>rdf:Alt is a +container class whose use is discouraged.</li> + + + + + <li style="text-align: justify;">rdf:Seq is a +container class whose use is discouraged.</li> + + + + + <li style="text-align: justify;">rdfs:Container is the +superclass of rdf:Bag, rdf:Alt and +rdf:Seq, and is not applicable to any other RDF/S or NRL element.</li> + + + + + <li style="text-align: justify;">rdfs:ContainerMembershipProperty +is used to indicate the +membership of rdf:Bag, rdf:Alt and rdf:Seq, and is not applicable to +any other RDF/S or NRL element.</li> + + + + + <li style="text-align: justify;">rdfs:member is a +super property of the container +membership +properties, and is not applicable to any other RDF/S or NRL element.</li> + + + + +</ol> + + + + +<span style="font-weight: bold; font-style: italic;">Recommendation:</span><span style="font-style: italic;"> +The use elements numbered [1] +through +[6] is strongly discouraged. <br /> + + + + +</span> +<p>Although the use of +container classes and properties is +discouraged, resources can still be grouped using [<a href="http://www.w3.org/TR/rdf-schema/#ch_collectionvocab">RDFS +Collections</a>] constructs.</p> + + + + +</div> + + + + +<ol> + + + + + <li>rdf:List is a class that can be used to build +descriptions +of collections. A collection typically is composed of one or more lists.</li> + + + + + <li>rdf:first is a property that relates a list to its first +element.</li> + + + + + <li>rdf:rest is a property that relates a list to the rest of +the elements excluding the first element. The rest of the elements are +in the form of another list.</li> + + + + + <li>rdf:nil is a property that can be used to create an empty +list. This is usually the last list in a collection.</li> + + + + +</ol> + + + + +<i><span style="font-weight: bold;">Recommendation:</span> +The combined use of elements +numbered +[1] through [4] is encouraged as an alternative to container elements<br /> + + + + +</i> +<h4><a class="mozTocH4" name="mozTocId220340"></a><a name="2.3.4_rdfs:isDefinedBy"></a>2.3.4 +rdfs:isDefinedBy</h4> + + + + +<p style="text-align: justify;">The semantics of this +element is unclear and therefore it is +discouraged. The definition vaguely +allows the use of this property to relate any two resources.</p> + + + + +<i><span style="font-weight: bold;">Recommendation:</span> +The use of rdfs:isDefinedBy is +strongly discouraged. Data containing statements using this property is +legal but not valid NRL data.</i> +<h4><a class="mozTocH4" name="mozTocId361071"></a><a name="2.3.5_Reification"></a>2.3.5 +Reification</h4> + + + + +<p style="background-color: rgb(255, 255, 255);">The +named +graphs paradigm provides all +the functionality required to be able to state things about other +statements. Consequently, the idea of reification within the NRL +context is redundant. </p> + + + + +<span style="background-color: rgb(255, 255, 255);"></span><span style="font-style: italic; background-color: rgb(255, 255, 255);"><span style="font-weight: bold;">Recommendation:</span> +The use of reification is strongly discouraged.</span><span style="background-color: rgb(255, 255, 255);"> +</span><br /> + + + + +<h3><a class="mozTocH3" name="mozTocId932814"></a><a name="2.4._Constraint_Extensions"></a>2.4. +Constraint Extensions</h3> + + + + +<p>This +section +presents extensions used to make statements +about constraints on the use of properties in NRL data. These +extensions provide further functionalities to the basic +constraints provided by RDFS, namely [<a href="http://www.w3.org/TR/rdf-schema/#ch_domain">rdfs:domain</a>] +and [<a href="http://www.w3.org/TR/rdf-schema/#ch_range">rdfs:range</a>]. +The latter two constraints place a limitation on the class +type of the resources that a property can relate (<span style="font-style: italic;">class type</span> <span style="font-style: italic;">constraints</span>).<span style="font-style: italic;"> </span>The NRL +constraint extensions in turn place a limitation on the amount +of values that a property can take (<span style="font-style: italic;">range +cardinality constraints</span>) and on actual pairs of +resources that the property should or should +not, through inference, relate (<span style="font-style: italic;">resource +relation constraints</span>). +These three categories are +summarized in [<a href="#Table_1">Table 1</a>]. +Similarly +to RDFS, NRL provides a mechanism for describing these constraints, but +does +not say whether or how an application must process the constraint +information. In particular, in the Social Semantic Desktop scenario, +different applications +will use +the +constraints in different ways. NRL Validators will be expected to check +for errors, +interactive editors to suggest legal values, and reasoners to +perform inference and inconsistency checks.</p> + + + + +<table style="text-align: left; width: 100%; height: 228px;" border="1" cellpadding="2" cellspacing="2"> + + + + + <tbody> + + + + + <tr> + + + + + <td style="font-style: italic; width: 220px;">Class +Type +Constraints</td> + + + + + <th colspan="1" rowspan="8" style="width: 87px;"></th> + + + + + <td style="font-style: italic; width: 231px;">Range +Cardinality +Constraints</td> + + + + + <td colspan="1" rowspan="8" style="width: 94px;"></td> + + + + + <td style="font-style: italic; width: 244px;">Resource +Relation Constraints</td> + + + + + </tr> + + + + + <tr> + + + + + <td style="width: 220px;">rdfs:domain</td> + + + + + <td style="width: 231px;"><a href="#2.4.7._nrl:cardinality">nrl:cardinality</a></td> + + + + + <td style="width: 244px;"><a href="#2.4.1._nrl:TransitiveProperty">nrl:TransitiveProperty</a></td> + + + + + </tr> + + + + + <tr> + + + + + <td style="width: 220px;">rdfs:range</td> + + + + + <td style="width: 231px;"><a href="#2.4.8._nrl:minCardinality">nrl:minCardinality</a></td> + + + + + <td style="width: 244px;"><a href="#2.4.2._nrl:SymmetricProperty">nrl:SymmetricProperty</a></td> + + + + + </tr> + + + + + <tr> + + + + + <td style="width: 220px;"><br /> + + + + + </td> + + + + + <td style="width: 231px;"><a href="#2.4.9._nrl:maxCardinality">nrl:maxCardinality</a></td> + + + + + <td style="width: 244px;"><a href="#2.4.3._nrl:AsymmetricProperty">nrl:AsymmetricProperty</a></td> + + + + + </tr> + + + + + <tr> + + + + + <td style="width: 220px;"><br /> + + + + + </td> + + + + + <td style="width: 231px;"><br /> + + + + + </td> + + + + + <td style="width: 244px;"><a href="#2.4.4._nrl:ReflexiveProperty">nrl:ReflexiveProperty</a></td> + + + + + </tr> + + + + + <tr> + + + + + <td style="width: 220px;"><br /> + + + + + </td> + + + + + <td style="width: 231px;"><br /> + + + + + </td> + + + + + <td style="width: 244px;"><a href="#2.4.10._nrl:inverseProperty">nrl:inverseProperty</a></td> + + + + + </tr> + + + + + <tr> + + + + + <td style="width: 220px;"><br /> + + + + + </td> + + + + + <td style="width: 231px;"><br /> + + + + + </td> + + + + + <td style="width: 244px;"><a href="#2.4.5._nrl:FunctionalProperty">nrl:FunctionalProperty</a></td> + + + + + </tr> + + + + + <tr> + + + + + <td style="width: 220px;"><br /> + + + + + </td> + + + + + <td style="width: 231px;"><br /> + + + + + </td> + + + + + <td style="width: 244px;"><a href="#2.4.6._nrl:InverseFunctionalProperty">nrl:InverseFunctionalProperty</a></td> + + + + + </tr> + + + + + + + + </tbody> +</table> + + + + +<div style="margin-left: 40px; text-align: center;"><a name="Table_1"></a>Table +1: NRL Constraints </div> + + + + +<div style="text-align: justify;"> +<p>It +should be noted, that the +recommendation given for the RDFS constraints in [<a href="#2.3.1_rdfs:domain_rdfs:range">2.3.1.</a>] +is extended to the NRL constraint extensions. <span style="font-size: 12pt;">Given +a possible closed-world view, in order to +generate valid NRL data a user (human or machine) should check, prior +to using +a property, whether the resources are indeed valid candidates which +satisfy the +constraints.</span></p> + + + + +<p>The following are the classes ([<a href="#2.4.1._nrl:TransitiveProperty">2.4.1.</a>] +- [<a href="#2.4.6._nrl:InverseFunctionalProperty">2.4.6.</a>]) +and properties ([<a href="#2.4.7._nrl:cardinality">2.4.7.</a>] +- [<a href="#2.4.10._nrl:inverseProperty">2.4.10.</a>]) +provided in NRL as +constraint extensions to RDF/S. </p> + + + + +<h4><a class="mozTocH4" name="mozTocId770989"></a><a name="2.4.1._nrl:TransitiveProperty"></a>2.4.1. +nrl:TransitiveProperty</h4> + + + + +</div> + + + + +<p style="text-align: justify;">Properties +may be defined +to +be transitive. If a transitive +property relates resource X to resource Y as well as Y to resource Z, +then it follows that the property also relates X to Z. Semantic views +can realize these declarative semantics by generating +entailment +triples. This class is similar +to [<a href="http://www.w3.org/TR/owl-ref/#TransitiveProperty-def">owl:TransitiveProperty</a>].</p> + + + + +<span style="font-style: italic; font-weight: bold;">Note:</span> +Transitive properties and their superproperties should +not be assigned a maximum cardinality restriction of one. This would +contradict the fact that the resource X described above can be +transitively related to both Y and Z. +<br /> + + + + +<br /> + + + + +<span style="font-style: italic; font-weight: bold;">Note:</span> +Transitive properties should not be defined as [<a href="#2.4.5._nrl:FunctionalProperty">nrl:FunctionalProperty</a>] +properties. If a +transitive functional property relates X to Y, then X cannot be related +to other resources by that same property. Thus transitivity cannot +hold. <br /> + + + + +<br /> + + + + +<span style="font-style: italic; font-weight: bold;">Note:</span> +Transitive properties should not be defined as [<a href="#2.4.6._nrl:InverseFunctionalProperty">nrl:InverseFunctionalProperty</a>] +properties. If a +transitive inverse functional property relates X to Y, then Y cannot be +related to other resources by that same property. Thus transitivity +cannot hold. +<br /> + + + + +<i><br /> + + + + +Example</i> +<br /> + + + + +<br /> + + + + +[1] +voc:containsFolder +is defined as an instance of +rdf:Property, applicable to instances of voc:Folder and taking +instances of voc:Folder as a values. voc:containsFolder is also +defined to be an instance of [<a href="#2.4.1._nrl:TransitiveProperty">nrl:TransitiveProperty</a>]. +<br /> + + + + +<br /> + + + + +[2] +desktop:MyPapers is +defined to be an instance of class voc:Folder. Another voc:Folder, +desktop:PublishedPapers is +related to desktop:MyPapers by the transitive property +voc:containsFolder. +<br /> + + + + +<br /> + + + + +[3] +desktop:PublishedPapers +is defined to be an instance of +class voc:Folder. Another voc:Folder, desktop:ShortPapers is +related to desktop:PublishedPapers by the transitive property +voc:containsFolder. +<br /> + + + + +<p>Since <i>containsFolder</i> +is a transitive +property, a reasoner can easily deduce that since <i>MyPapers - +containsFolder - PublishedPapers</i> and <i>PublishedPapers +- containsFolder - ShortPapers</i>, then <i>MyPapers - +containsFolder - ShortPapers</i> as well.</p> + + + + +<table style="text-align: left; width: 100%;" border="1" cellpadding="2" cellspacing="2"> + + + + + <tbody> + + + + + <tr> + + + + + <td><span style="font-family: monospace;"> + :o1 {</span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;"> + ...</span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;"> + voc:containsFolder rdf:type rdf:Property ;</span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;"> + + rdf:domain +voc:Folder ;</span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;"> + + rdf:range +voc:Folder ; </span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;">[1] + + rdf:type nrl:TransitiveProperty . }</span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;"> + :ib1 { </span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;"> + ...</span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;"> + desktop:MyPapers rdf:type voc:Folder ; </span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;">[2] + + voc:containsFolder desktop:PublishedPapers .</span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;">[3] +desktop:PublishedPapers rdf:type voc:Folder ;</span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;"> + + + voc:containsFolder desktop:ShortPapers . }</span></td> + + + + + </tr> + + + + + + + + </tbody> +</table> + + + + +<br /> + + + + +<h4><a class="mozTocH4" name="mozTocId779070"></a><a name="2.4.2._nrl:SymmetricProperty"></a>2.4.2. +nrl:SymmetricProperty</h4> + + + + +<p>Properties can be defined +to +be symmetric. If a symmetric +property relates resource X to resource Y, then it follows that Y is +related to X by the same property. Examples follow [<a href="#2.4.4._nrl:ReflexiveProperty">5.1.4.</a>]. This +class is similar to [<a href="http://www.w3.org/TR/owl-ref/#SymmetricProperty-def">owl:SymmetricProperty</a>].</p> + + + + +<h4><a class="mozTocH4" name="mozTocId832124"></a><a name="2.4.3._nrl:AsymmetricProperty"></a>2.4.3. +nrl:AsymmetricProperty</h4> + + + + +<p>Properties can also be +defined to be asymmetric. Then if +asymmetric property relates X to Y, then Y cannot be related to X by +the same property.</p> + + + + +<h4><a class="mozTocH4" name="mozTocId890283"></a><a name="2.4.4._nrl:ReflexiveProperty"></a>2.4.4. +nrl:ReflexiveProperty</h4> + + + + +<p style="text-align: justify;">Properties +can be defined +to +be reflexive. This would +restrict +the use of this property to relate a resource to itself. Hence, +reflexive properties can only relate resource X to itself.</p> + + + + +<i>Examples</i> +<br /> + + + + +<br /> + + + + +[1] +voc:relatedTopic +is +defined as an instance of +rdf:Property, applicable to instances of <span style="font-family: monospace;">voc</span>:Folder and +taking +instances of voc:Folder as values.<i> relatedTopic</i> +is defined to be an instance of [<a href="#2.4.2._nrl:SymmetricProperty">nrl:SymmetricProperty</a>]. +<br /> + + + + +<br /> + + + + +[2] +voc:hasTopic +is +defined as an instance of +rdf:Property, applicable to instances of <span style="font-family: monospace;">voc</span>:Folder and +taking +instances of voc:Topic as values.<i> hasTopic</i> +is defined to be an instance of [<a href="#2.4.3._nrl:AsymmetricProperty">nrl:AsymmetricProperty</a>]. +<br /> + + + + +<br /> + + + + +[3] +desktop:Publications +is +defined to be an instance of +class voc:Topic. Another voc:Topic, desktop:Research is defined to be +a voc:relatedTopic of desktop:Publications. +<br /> + + + + +Since <i>relatedTopic</i> +is a symmetric +property, it can be inferred that <i>Publications</i> is a +<i>relatedTopic</i> of <i>Research</i>. +<br /> + + + + +<br /> + + + + +[4] +desktop:PublishedPapers +is defined to be an instance of +class voc:Folder. desktop:PublishedPapers is also stated to have +topic desktop:Publications. +<p style="text-align: justify;">Since <i>hasTopic</i> +is an asymmetric +property, +a reasoner would know that it is not possible to say that the<i> </i>topic +<i>Publications</i> has as topic the<i> </i>folder<i> +PublishedPapers</i>.</p> + + + + +<table style="text-align: left; width: 100%;" border="1" cellpadding="2" cellspacing="2"> + + + + + <tbody> + + + + + <tr> + + + + + <td> <span style="font-family: monospace;"> :o1 {</span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;"> + ...</span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;"> + voc:relatedTopic rdf:type rdf:Property ;</span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;"> + + rdf:domain voc:Topic ;</span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;"> + + rdf:range voc:Topic ; </span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;">[1] + + rdf:type nrl:SymmetricProperty . </span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;"> + voc:hasTopic rdf:type rdf:Property ;</span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;"> + + rdf:domain voc:Folder ;</span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;"> + + rdf:range voc:Topic ; </span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;">[2] + + rdf:type nrl:AsymmetricProperty . }</span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;"> + :ib1 { </span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;"> + ...</span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;">[3] +desktop:Publications rdf:type voc:Topic ; </span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;"> + + +voc:relatedTopic desktop:Research .</span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;">[4] +desktop:PublishedPapers rdf:type voc:Folder ;</span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;"> + + +voc:hasTopic desktop:Publications . }</span></td> + + + + + </tr> + + + + + + + + </tbody> +</table> + + + + +<br /> + + + + +<h4><a class="mozTocH4" name="mozTocId687239"></a><a name="2.4.5._nrl:FunctionalProperty"></a>2.4.5. +nrl:FunctionalProperty</h4> + + + + +<p style="text-align: justify;">Properties +can be defined +to +be functional. This translates +into the property having a minimum cardinality of zero and a maximum +cardinality of one <span style="font-style: italic;">for +each</span> unique resource that is applied as its domain. +Therefore, if a functional property relates +resource X to resource Y, then it means that X cannot be forward +related to other resources by that same property. In simpler words, the +value of such a property for resource X, if stated, is unique. Example +follows [<a href="#2.4.6._nrl:InverseFunctionalProperty">3.1.13</a>]. This +class is similar to [<a href="http://www.w3.org/TR/owl-ref/#FunctionalProperty-def">owl:FunctionalProperty</a>].</p> + + + + +<h4><a class="mozTocH4" name="mozTocId86301"></a><a name="2.4.6._nrl:InverseFunctionalProperty"></a>2.4.6. +nrl:InverseFunctionalProperty</h4> + + + + +<p>A property can also be +defined to be inverse functional. +Such +a property implies that the inverse of the property is functional. This +does not automatically mean that an inverse property of the property in +question is actually defined using [<a href="#2.4.10._nrl:inverseProperty">nrl:inverseProperty</a>]. +This translates +into the property having a minimum cardinality of zero and a maximum +cardinality of one <span style="font-style: italic;">for +each</span> unique resource that is applied as its range. +Therefore, if such a property relates resource X to resource +Y, then it means that Y cannot be backward related to other resources +using that same property. In other words, if Y is defined as the +property value for one resource, then it cannot be defined as the +property value for another resource. This class is similar +to [<a href="http://www.w3.org/TR/owl-ref/#InverseFunctionalProperty-def">owl:InverseFunctionalProperty</a>].</p> + + + + +<i>Examples</i><br /> + + + + +<br /> + + + + +[1] +voc:user is +defined +as an instance of rdf:Property, +applicable to instances of voc:Desktop and taking instances of +voc:Person as a values. desktop:user is defined to be an instance +of [<a href="#2.4.5._nrl:FunctionalProperty">nrl:FunctionalProperty</a>]. +<br /> + + + + +<br /> + + + + +[2] +voc:email is +defined +as an instance of rdf:Property, +applicable to instances of voc:Person and taking string datatypes +as values. voc:email is defined to be an instance of +[<a href="#2.4.6._nrl:InverseFunctionalProperty">nrl:InverseFunctionalProperty</a>]. +<br /> + + + + +<br /> + + + + +[3] +desktop:MyPersonalDesktop is defined to be an instance +of +class voc:Desktop. It is related to <i>Person</i> +desktop:MyUserName by the property voc:user. +<p style="text-align: justify;">Since <i>user</i> +is a functional property, it +can be concluded that this instance of <i>Desktop</i> has +only that unique particular instance of <i>Person</i> as <i>user</i>. +No other instances of <i>Person</i> can be defined as the <i>user</i> +of this <i>Desktop</i>. Under the closed-world +assumption this would generate warning over conflicting +data. </p> + + + + +[4] +desktop:MyUserName is +defined to be an instance of class voc:Person with a voc:email value of +<i>user.name@host.com.</i> +<p style="text-align: justify;">Since <i>email</i> +is an inverse +functional property, it follows that <i>user.name@host.com +</i>cannot belong to other instances of <i>Person</i>. Doing +so might result in conflicting data due to NRL's closed-world +assumption.</p> + + + + +<table style="text-align: left; width: 100%;" border="1" cellpadding="2" cellspacing="2"> + + + + + <tbody> + + + + + <tr> + + + + + <td><span style="font-family: monospace;"> + :o1 {</span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;"> + ...</span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;"> + voc:user rdf:type rdf:Property ;</span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;"> + +rdf:domain voc:Desktop ;</span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;"> + + rdf:range voc:Person ; </span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;">[1] + rdf:type +nrl:FunctionalProperty . </span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;"> + voc:email rdf:type rdf:Property ;</span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;"> + + rdf:domain voc:Person ;</span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;"> + + rdf:range +<http://www.w3.org/2001/XMLSchema#string> ; </span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;">[2] + + rdf:type nrl:InverseFunctionalProperty . }</span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;"> + :ib1 { </span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;"> + ...</span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;">[3] +desktop:MyPersonalDesktop rdf:type voc:Desktop ; </span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;"> + + + voc:user desktop:MyUsername .</span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;">[4] +desktop:MyUserName rdf:type voc:Person ;</span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;"> + + voc:email +"user.name@host.com" . }</span></td> + + + + + </tr> + + + + + + + + </tbody> +</table> + + + + +<br /> + + + + +<h4><a class="mozTocH4" name="mozTocId97363"></a><a name="2.4.7._nrl:cardinality"></a>2.4.7. +nrl:cardinality</h4> + + + + +This property is a +cardinality restriction property. It +can +be +applied to instances of rdf:Property to specify a constraint on the +number <span style="font-style: italic;">n</span> +of values that the property can have <span style="font-style: italic;">for +each</span> unique +resource that is applied as its domain. The value +allowed for this property is a nonNegativeInteger data value from the +XML Schema datatypes. This states that instances of the restricted +property must have exactly <span style="font-style: italic;">n</span> +semantically distinct values. In order to +correctly use the NRL vocabulary, this restriction must be always +strictly respected. This property is similar to [<a href="http://www.w3.org/TR/owl-ref/#cardinality-def">owl:cardinality</a>].<br /> + + + + +<h4><a class="mozTocH4" name="mozTocId435982"></a><a name="2.4.8._nrl:minCardinality"></a>2.4.8. +nrl:minCardinality</h4> + + + + +<p>This property is a +cardinality restriction property. It +can +be +applied to instances of rdf:Property to specify a constraint on the +minimum number <span style="font-style: italic;">n</span> +of values that the property can have for each unique resource +it is applied as its domain. The +value allowed for this property is a nonNegativeInteger data value from +the XML Schema datatypes. This states that instances of the restricted +property must have at least <span style="font-style: italic;">n</span> +(<span style="font-style: italic;">n</span> or more) +semantically distinct values. +In particular, properties with a minimum cardinality of one must have +at least one value to be semantically valid. Properties whose minimum +cardinality constraint is not defined have a default minimum +cardinality of zero. In order to correctly use the NRL vocabulary, this +restriction must be always strictly respected. This property is similar +to the Protégé minimum cardinality property +constraints and to [<a href="http://www.w3.org/TR/owl-ref/#minCardinality-def">owl:minCardinality</a>].</p> + + + + +<h4><a class="mozTocH4" name="mozTocId297991"></a><a name="2.4.9._nrl:maxCardinality"></a>2.4.9. +nrl:maxCardinality</h4> + + + + +<p>This property is a +cardinality restriction property. It +can +be +applied to instances of rdf:Property to specify a constraint on the +maximum number <span style="font-style: italic;">n</span> +of values that the property can have for each unique resource it is +applied as its domain. The +value allowed for this property is a nonNegativeInteger data value from +the XML Schema datatypes. This states that instances of the restricted +property must have at most <span style="font-style: italic;">n</span> +(<span style="font-style: italic;">n</span> or less) +semantically distinct values. +In particular, a property with a maximum cardinality of zero would be +of no use since it should never contain any values. Properties +whose maximum cardinality constraint is not +defined +have a default infinite maximum cardinality. In order to correctly use +the NRL vocabulary, this restriction must be always strictly respected. +This property is similar to the Protégé maximum +cardinality property constraints and to [<a href="http://www.w3.org/TR/owl-ref/#maxCardinality-def">owl:maxCardinality</a>].</p> + + + + +Examples<br /> + + + + +<br /> + + + + +The property +desktop:contactEmail is defined as being +applicable to voc:ContactPerson and to have a value of +voc:EmailAddress. Furthermore a restriction is placed on the +minimum cardinality of the values for this property [1]. The minimum +number of values for this property is one. This means, that all <i>ContactPerson</i> +instances must be assigned at least one <i>EmailAddress</i>.<br /> + + + + +<br /> + + + + +<table style="text-align: left; width: 100%;" border="1" cellpadding="2" cellspacing="2"> + + + + + <tbody> + + + + + <tr> + + + + + <td><span style="font-family: monospace;"> + :o1 {</span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;"> + ...</span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;"> + voc:contactEmail rdf:type rdf:Property ;</span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;"> + + rdf:domain voc:ContactPerson +;</span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;"> + + rdf:range voc:EmailAddress ; + </span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;">[1] + + nrl:minCardinality "1" . }</span></td> + + + + + </tr> + + + + + + + + </tbody> +</table> + + + + +<br /> + + + + +This second example +demonstrates the combinatorial use of +cardinality constraints on properties. The property voc:firstName +is defined as being applicable to voc:ContactPerson and to have a +string datatype value. Two restrictions are placed on the minimum [2] +and maximum [3] cardinality of the values for this property [2]. The +value for both restrictions is set to one. This means, that all <i>ContactPerson</i> +instances must be assigned exactly one <i>firstName</i>.<br /> + + + + +<br /> + + + + +<table style="text-align: left; width: 100%;" border="1" cellpadding="2" cellspacing="2"> + + + + + <tbody> + + + + + <tr> + + + + + <td><span style="font-family: monospace;"> + :o1 {</span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;"> + ...</span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;"> + voc:firstName rdf:type rdf:Property ;</span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;"> + + rdf:domain voc:ContactPerson ;</span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;"> + + rdf:range +<http://www.w3.org/2001/XMLSchema#string> ; </span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;">[2] + +nrl:minCardinality "1" ;</span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;">[3] + +nrl:maxCardinality "1" . }</span></td> + + + + + </tr> + + + + + + + + </tbody> +</table> + + + + +<br /> + + + + +<h4><a class="mozTocH4" name="mozTocId72221"></a><a name="2.4.10._nrl:inverseProperty"></a>2.4.10. +nrl:inverseProperty</h4> + + + + +<p style="text-align: justify;">Properties are mainly +distinguished by their domain and +range. +Some properties are the exact inverse of each others, where the range +and domain of property A are the domain and range of property B +respectively. In order to provide efficient reasoning and query +handling, the NRL requires that such inverse functionality of two +properties is explicitly stated using the [<a href="#2.4.10._nrl:inverseProperty">nrl:inverseProperty</a>]. +Stating +that a new property B is the inverse property of predefined property A +is equivalent to stating that the range of A is the domain of B and the +domain of A is the range of B. This will help enable the logical +inference of some implicit statements from other explicit statements. +If property A and property B are defined to be inverse properties, +stating that resource X is related by property A to resource Y will +evoke the statement that resource Y is related by property B to +resource X. This property is comparable to +Protégé’s inverse property and [<a href="http://www.w3.org/TR/owl-ref/#inverseOf-def">owl:inverseOf</a>].</p> + + + + +<i>Example</i><br /> + + + + +<br /> + + + + +[1] voc:hasFile is +defined as an instance of +rdf:Property, +applicable to instances of voc:Folder and taking instances of voc:File +as a values.<br /> + + + + +<br /> + + + + +[3] voc:inFolder is +likewise defined as an instance of +rdf:Property, applicable to instances of voc:File and taking +instances of voc:Folder as values. The domain of voc:hasFile is +equivalent to the range of voc:inFolder, while the range of voc:hasFile +is equivalent to the domain of voc:inFolder.<br /> + + + + +<br /> + + + + +[2,4] This implicit +inverse relationship is explicitly +stated +in both properties.<br /> + + + + +<table style="text-align: left; width: 100%;" border="1" cellpadding="2" cellspacing="2"> + + + + + <tbody> + + + + + <tr> + + + + + <td><span style="font-family: monospace;"> + :o1 {</span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;"> + ...</span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;">[1] +voc:hasFile rdf:type rdf:Property ;</span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;"> + + rdf:domain voc:Folder ;</span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;"> + + rdf:range voc:File ; </span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;">[2] + +nrl:inverseProperty voc:inFolder .</span><br style="font-family: monospace;" /> + + + + + <br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;">[3] +voc:inFolder rdf:type rdf:Property ;</span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;"> + + rdf:domain voc:File ;</span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;"> + + rdf:range voc:Folder ; </span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;">[4] + + nrl:inverseProperty voc:hasFile . }</span></td> + + + + + </tr> + + + + + + + + </tbody> +</table> + + + + +<h2><a class="mozTocH2" name="mozTocId929002"></a><a name="3._NRL_Named_Graph_Extensions"></a>3. +Handling +Multiple Models: NRL Named Graph Extensions</h2> + + + + +<p style="background-color: rgb(255, 255, 255); text-align: justify;">In +the Social Semantic Desktop +domain we +take a Named Graphs approach to semantic data. Named Graphs [NGs] are +an extension on top of RDF, where every RDF Graph as defined +in [<a href="#References">RDF +Specification - CONCEPTS</a>] is identified by +a name. +<span class=""></span>NGs +provide useful additional functionality on top of RDF, +particulary with respect to metametadata (data about metadata), +provenance and data (in)equivalence issues. <span style="background-color: rgb(255, 255, 51);"><span style="background-color: rgb(255, 255, 255);">This approach +is based on +the work</span> <span style="background-color: rgb(255, 255, 255);">described +in [</span></span><a style="background-color: rgb(255, 255, 255);" href="#References">NAMED +GRAPHS</a><span style="background-color: rgb(255, 255, 255);">] +excluding the open-world assumption described there. However, +one +should +note that our definitions for a closed-world and open-world assumption +(See Section <a href="#1.7_NRL_and_Closed_World_Vs._Open_World">1.7</a>) +differ slightly from the ones given in [</span><a style="background-color: rgb(255, 255, 255);" href="#References">NAMED +GRAPHS</a><span style="background-color: rgb(255, 255, 255);">].</span><span style="background-color: rgb(255, 255, 51);"><span style="background-color: rgb(255, 255, 255);"> +As +previously stated NRL does not assume an open-world scenario and +although it imposes no semantics per se to the graphs the NRL +Semantics are based on a closed-world assumption.</span></span></p> + + + + +<div style="text-align: justify; background-color: rgb(255, 255, 255);"> +<p>A +named graph is a pair <span style="font-style: italic;">(n,g)</span>, +where <span style="font-style: italic;">n</span> is +a unique URI +reference denoting the assigned name for the graph <span style="font-style: italic;">g</span>. Such a mapping<span style="font-style: italic;"> +</span>fixes +the graph <span style="font-style: italic;"> +</span><span style="font-style: italic;">g</span> +corresponding +to <span style="font-style: italic;">n +</span>in +a rigid, +non-extensible way<span style="font-style: italic;">.</span> +The URI representing <span style="font-style: italic;">n</span> +can then be used from any location to refer to the +corresponding set of triples belonging to the graph <span style="font-style: italic;">g</span>. In other words, +graph names, like namespaces, should be globally unique. A graph <span style="font-style: italic;">g'</span> +consistent with a +different graph <span style="font-style: italic;">g +</span>named +<span style="font-style: italic;">n +</span>cannot +be assigned the same name <span style="font-style: italic;">n</span>. +Two +different datasets asserting graphs +<span style="font-style: italic;">g</span> and <span style="font-style: italic;">g'</span> having +the same URI for a name contradict one another. </p> + + + + +</div> + + + + +<p style="text-align: justify;">An RDF +triple can exist in a +named graph or outside any named graph. However, for consistency +reasons, all triples must be assigned to some named graph. For +this reason, NRL provides +the special named graph [<a href="#3.1.7._nrl:DefaultGraph">nrl:DefaultGraph</a>]. +Triples existing outside any named graph automatically +form part of this default graph. +This ensures backward compatibility with triples that are not +based +on named graphs. This approach gives rise to the term RDF Dataset as +defined in [<a href="#References">SPARQL-QUERY</a>]. +An RDF dataset is composed of a default graph and an unlimited number +of distinct named graphs. It is formally defined as the set <span style="font-style: italic;">{g, (n</span><sub style="font-style: italic;">1</sub><span style="font-style: italic;">, +g</span><sub style="font-style: italic;">1</sub><span style="font-style: italic;">), (n</span><sub style="font-style: italic;">2</sub><span style="font-style: italic;">, +g</span><sub style="font-style: italic;">2</sub><span style="font-style: italic;">), . . ., (n</span><sub style="font-style: italic;">n</sub><span style="font-style: italic;">, +g</span><sub style="font-style: italic;">n</sub><span style="font-style: italic;">) }</span> comprising of +the default graph <span style="font-style: italic;">g</span> +and zero or more named graphs <span style="font-style: italic;">(n,g)</span>.</p> + + + + +<p style="background-color: rgb(255, 255, 255); text-align: justify;"><span style="background-color: rgb(255, 255, 255);">NRL +distinguishes between </span><span style="font-style: italic; background-color: rgb(255, 255, 255);">Graphs</span><span style="background-color: rgb(255, 255, 255);"> +and </span><span style="font-style: italic; background-color: rgb(255, 255, 255);">Graph +Roles</span><span style="background-color: rgb(255, 255, 255);">, +in +order to have orthogonal modeling +primitives for defining graphs and for specifying their role. A +graph role refers to the characteristics and content of a named graph +(e.g. simple data, an ontology, a knowledge base, etc.) and how the +data is intented to be handled. </span><span style="background-color: rgb(255, 255, 255);" class=""> +The NEPOMUK Annotation Ontology (Refer to the <a href="http://www.semanticdesktop.org/ontologies/nao">NAO</a>) +includes</span><span style="background-color: rgb(255, 255, 255);" class=""> +vocabulary for</span><span style="background-color: rgb(255, 255, 255);" class=""> providing +metadata about graph roles. </span><span style="background-color: rgb(255, 255, 255);">Graph +metadata +will be +attached to these roles rather than to the graphs themselves, because +in practice it makes more sense to describe an ontology or a +knowledge base rather than an anonymous graph. Roles are more stable +than the graphs they represent, and while the graph for a particular +role might change constantly, evolution of the role itself is less +frequent. An instantiation of a +role represents a specific type of graph and the +corresponding triple set data</span><span style="font-style: italic; background-color: rgb(255, 255, 255);"></span><span style="background-color: rgb(255, 255, 255);">. One +can contain graph metadata outside or inside the graph being described. +Storing graph metadata within the graph itself implies that the graph +metadata is also describing itself, which is not something one will +always want to have. Therefore its more suitable to keep graph metadata +separate from its respective graph, and therefore outside the graph. +This means to either contain the metadata in the default +graph, or +in a dedicated named graph. Since having graph metadata about every +existing named graph in the default graph is not practical, it is more +suitable to have the graph metadata in separate named graphs. That is, +any metadata about a named graph <span style="font-style: italic;">g</span> +will be contained within a separate +metadata graph <span style="font-style: italic;">gm</span> +dedicated for <span style="font-style: italic;">g</span>. +A special graph role, [<a href="#3.2.7._nrl:GraphMetadata">nrl:GraphMetadata</a>] +is used to mark such metadata graphs.</span></p> + + + + +<p style="background-color: rgb(255, 255, 255); text-align: justify;"><span style="background-color: rgb(255, 255, 255);"> +General graph +vocabulary is defined in [</span><a style="background-color: rgb(255, 255, 255);" href="#3.1._Graph_Core_Vocabulary_">Section +3.1</a><span style="background-color: rgb(255, 255, 255);">] +while [</span><a style="background-color: rgb(255, 255, 255);" href="#3.2._Graph_Roles_Vocabulary">Section +3.2</a><span style="background-color: rgb(255, 255, 255);">] +is dedicated entirely to graph roles. </span><a style="background-color: rgb(255, 255, 255);" href="#Fig3">Figure +3</a><span style="background-color: rgb(255, 255, 255);"> +depicts the class hierearchy supporting NGs +in NRL. Graph +Roles</span><span style="font-style: italic; background-color: rgb(255, 255, 255);"> +</span><span style="background-color: rgb(255, 255, 255);">(yellow) +are defined as a subclass of the abstract role superclass nrl:Data, +itself being defined as a subclass of the general +Graph +representation +(red). A special Graph specialization (blue) is used as a +marker +class for Graphs that are represented and identified by a +document URL [See </span><a style="background-color: rgb(255, 255, 255);" href="#3.1.2._nrl:DocumentGraph">3.1.2</a>]. +</p> + + + + +<div style="text-align: center;"><img src="NamedGraphs.png" alt="" style="width: 602px; height: 349px;" /><br /> + + + + +</div> + + + + +<p style="margin-left: 40px; text-align: center;"><a name="Fig3"></a>Figure +3: NRL Named Graph class +hierarchy</p> + + + + +<h3><a class="mozTocH3" name="mozTocId549245"></a><a name="3.1._Graph_Core_Vocabulary"></a>3.1. +Graph Core Vocabulary</h3> + + + + +<p>This section specifies +the core named graph vocabulary. This +consists of top-level named graph elements which represent general +graphs. Vocabulary for representation of specific graph roles is +described in section [<a href="#3.2._Graph_Roles_Vocabulary">3.2.</a>].</p> + + + + +<h4><a class="mozTocH4" name="mozTocId991762"></a><a name="3.1.1._nrl:Graph"></a>3.1.1. +nrl:Graph</h4> + + + + +<p>This class represents +a named graph. An instance of +this class will represent a named graph as described in the +introduction of this section, where the name of the instance coincides +with the name of the graph. It should be noted that all graph role +classes described in [<a href="#3.2._Graph_Roles_Vocabulary">3.2</a>] +are subclasses of this element [See <a href="#Fig3">Figure +3</a>]. +As such, there will generally be instances of specific graph +roles +rather than this more generic graph representation. This class is +similar to [<a href="http://www.w3.org/2004/03/trix/">rdfg:Graph</a>].</p> + + + + +<h4><a class="mozTocH4" name="mozTocId246095"></a><a name="3.1.2._nrl:DocumentGraph"></a>3.1.2. +nrl:DocumentGraph</h4> + + + + +<p style="text-align: justify;">This is a marker class +that names graphs via the URL of their containing document. A graph that is completely represented by +such a +document can be defined to be an instance of this class, whereby the +document URL will become the name of that graph. </p> + + + + +<h4><a class="mozTocH4" name="mozTocId178125"></a><a name="3.1.3._nrl:subGraphOf"></a>3.1.3. +nrl:subGraphOf</h4> + + + + +<p style="text-align: justify;">Graphs +can consist of subparts of other more +general +Graphs. In +other terms, a set of triples may form a specific part of a +more +general set of triples. This property can be used to model such a +relationship between two instances of [<a href="#3.1.1">nrl:Graph</a>]. +This +property is the inverse of [<a href="#3.1.4._nrl:superGraphOf">nrl:superGraphOf</a>]. +When a graph <span style="font-style: italic;">g</span> +is defined to be a subgraph of another graph <span style="font-style: italic;">g'</span>, the latter is +understood to be the supergraph of <span style="font-style: italic;">g</span>. +This +property is similar to [<a href="http://www.w3.org/2004/03/trix/">rdfg:subGraphOf</a>]. </p> + + + + +<h4><a class="mozTocH4" name="mozTocId972506"></a><a name="3.1.4._nrl:superGraphOf"></a>3.1.4. +nrl:superGraphOf</h4> + + + + +<p>This property can be +used to state that one graph subsumes +another +graph. A supergraph will then consist of one or more subgraphs. This +property is the inverse of [<a href="#3.1.3._nrl:subGraphOf">nrl:subGraphOf</a>]. +When a graph <span style="font-style: italic;">g' +</span>is +defined to be a supergraph of another graph <span style="font-style: italic;">g</span>, the latter is +understood to be a supgraph of <span style="font-style: italic;">g'</span>. +The property [<a href="#3.1.6._nrl:imports">nrl:imports</a>] +is a subproperty of this property.</p> + + + + +<h4><a class="mozTocH4" name="mozTocId503632"></a><a name="3.1.5._nrl:equivalentGraph"></a>3.1.5. +nrl:equivalentGraph</h4> + + + + +<div style="text-align: justify;">A set +of triples can +undergo duplication at a number of separate locations. This property +can effectively be used to state that a graph that manifests +itself at more than one location under +different names +is in fact equivalent. Equivalent graphs are simultaneously +the subgraph and supergraph of each other. This property is similar +to [<a href="http://www.w3.org/2004/03/trix/">rdfg:equivalentGraph</a>].<br /> + + + + +</div> + + + + +<span class=""><span style="font-style: italic; background-color: rgb(255, 255, 255);"><br /> + + + + +<span style="font-weight: bold;">Note</span></span><span style="background-color: rgb(255, 255, 255);"><span style="font-weight: bold;">:</span> The +term equivalentGraph +is subject to the role of the graphs being related. Hence for two +graphs to be defined equivalent, they must either +have the same role, or be a superrole or subrole of each other +as depicted +in </span><a style="background-color: rgb(255, 255, 255);" href="#Fig3">Figure +3</a><span style="background-color: rgb(255, 255, 255);">. +When a +graph </span><span style="font-style: italic; background-color: rgb(255, 255, 255);">g</span><span style="background-color: rgb(255, 255, 255);"> +having a role </span><span style="font-style: italic; background-color: rgb(255, 255, 255);">R +</span><span style="background-color: rgb(255, 255, 255);">is +defined to be equivalent to a graph </span><span style="font-style: italic; background-color: rgb(255, 255, 255);">g'</span><span style="background-color: rgb(255, 255, 255);"> having a +superrole </span><span style="font-style: italic; background-color: rgb(255, 255, 255);">R'</span><span style="background-color: rgb(255, 255, 255);">, +then </span><span style="font-style: italic; background-color: rgb(255, 255, 255);">g' +</span><span style="background-color: rgb(255, 255, 255);">is +understood to have the more specific role </span><span style="font-style: italic; background-color: rgb(255, 255, 255);">R</span><span style="background-color: rgb(255, 255, 255);">. For example, +if +graph </span><span style="font-style: italic; background-color: rgb(255, 255, 255);">g +</span><span style="background-color: rgb(255, 255, 255);">having +role [<a href="#3.2.4._nrl:Ontology">nrl:Ontology</a>] +is defined as equivalent to graph </span><span style="font-style: italic; background-color: rgb(255, 255, 255);">g'</span><span style="background-color: rgb(255, 255, 255);"> having role +[<a href="#3.2.2._nrl:Schema">nrl:Schema</a>], +then +it can be said that graph </span><span style="font-style: italic; background-color: rgb(255, 255, 255);">g'<span style="font-style: italic;"><span style="font-style: italic;"> </span></span></span><span style="background-color: rgb(255, 255, 255);">has +a role of [<a href="#3.2.4._nrl:Ontology">nrl:Ontology</a>]. +However not all graphs can be defined to be +equivalent. For example, graph </span><span style="font-style: italic; background-color: rgb(255, 255, 255);">g</span><sub style="font-style: italic; background-color: rgb(255, 255, 255);">1</sub><span style="font-style: italic; background-color: rgb(255, 255, 255);"> +</span><span style="background-color: rgb(255, 255, 255);">having +role +[<a href="#3.2.3._nrl:InstanceBase">nrl:InstanecBase</a>] +cannot be defined as equivalent to graph </span><span style="font-style: italic; background-color: rgb(255, 255, 255);">g</span><sub style="font-style: italic; background-color: rgb(255, 255, 255);">2</sub><span style="background-color: rgb(255, 255, 255);"> if +this graph has the role </span></span><span class=""><span style="background-color: rgb(255, 255, 255);">[<a href="../../l#3.2.2._nrl:Schema">nrl:Schema</a>]</span></span><span class=""><span style="background-color: rgb(255, 255, 255);">.</span><br /> + + + + +</span><span style="font-weight: bold;"></span> +<h4><a class="mozTocH4" name="mozTocId858885"></a><a name="3.1.6._nrl:imports"></a>3.1.6. +nrl:imports</h4> + + + + +<div style="text-align: justify;"> +<p>This special subproperty +of [<a href="#3.1.4._nrl:superGraphOf">nrl:superGraphOf</a>] +models graph imports and can be used to state that an existing named +graph <span style="font-style: italic;">g'</span> +should be considered as part of graph <span style="font-style: italic;">g</span>. +This is akin to +saying that <span style="font-style: italic;">g'</span> +is a subgraph of <span style="font-style: italic;">g</span> +or inversely that <span style="font-style: italic;">g</span> +is a supergraph of <span style="font-style: italic;">g'</span>. +This property can be used to model graph role data imports. Importing a +graph into another means that all the former graph’s data, +and semantics, +will implicitly form part of the latter.<span style="font-style: italic;"></span><span style="font-style: italic;"></span> +Such modelling is transitive. If graph<span style="font-style: italic;"> +g</span> is imported into +graph <span style="font-style: italic;">g'</span>, +and <span style="font-style: italic;">g'</span> is +imported into graph <span style="font-style: italic;">g''</span>, +then <span style="font-style: italic;">g''</span> +also includes the data represented by<span style="font-style: italic;"><span style="font-style: italic;"> </span>g</span>. +Two graphs <span style="font-style: italic;">g</span> +and <span style="font-style: italic;">g'</span> +are equivalent if they import each other. When applied to the [<a href="#3.2.4._nrl:Ontology">nrl:Ontology</a>] +role this property +can be used to model ontology imports and in this case this +property is +similar to [<a href="http://www.w3.org/TR/owl-ref/#imports-def">owl:imports</a>]. +<span style="background-color: rgb(255, 255, 255);">An +incompatibility problem may arise when importing graphs with +incompatible semantics to the current graph, or combining multiple +graphs with different semantics into a new supergraph.. This +incompatibility may however be resolved via semantic views which +rectify this problem by aligning the different semantics of the graphs.</span></p> + + + + +</div> + + + + +<h4><a class="mozTocH4" name="mozTocId337127"></a><a name="3.1.7._nrl:DefaultGraph"></a>3.1.7. +nrl:DefaultGraph</h4> + + + + +<div style="text-align: justify;"> +<p>Although triples can exist inside a named graph or +outside any +named graph, for consistency reasons all triples are required to form +part of some named <span style="background-color: rgb(255, 255, 255);">graph. +This +default graph instance is provided by +NRL to serve this requirement. All triples existing outside any named +graph</span><span style="background-color: rgb(255, 255, 255);"> +(e.g. external triples unaware of NRL's named graph approach), +will be assigned to this default graph. The +DefaultGraph is disjoint from all other existing named graphs and it is +given by the intersection of the complements of all other existing +named graphs in the RDF triple space.</span></p> + + + + +</div> + + + + +<h3><a class="mozTocH3" name="mozTocId787923"></a><a name="3.2._Graph_Roles_Vocabulary"></a><span style="font-weight: bold;"></span>3.2. +Graph +Roles Vocabulary </h3> + + + + +<div style="text-align: justify;"> +<p>This section introduces +classes and properties provided in NRL that +deal with Graph Roles as described in the introduction of <a href="#3._NRL_Named_Graph_Extensions">Section 3</a> +and +depicted in <a href="#Fig3">Figure +3</a>. This vocabulary is closely tied with the Graph Metadata +Vocabulary provided in [<a href="http://www.semanticdesktop.org/ontologies/nao">NAO</a>]. +In fact they can also be considered as graph metadata vocabulary, since +the elements are in practice used within graph metadata definitions. +However, due to their essential nature they are core NRL elements. </p> + + + + +</div> + + + + +<h4><a class="mozTocH4" name="mozTocId792849"></a><a name="3.2.1._nrl:Data"></a>3.2.1. +nrl:Data</h4> + + + + +<div style="text-align: justify;"> +<p>This is an abstract +class +representing all graph roles. All graphs are assigned one of +the +roles represented by this abstract superclass. It is itself a subclass +of [<a href="#3.1.1._nrl:Graph">nrl:Graph</a>] +alongside [<a href="#4.1.1_nrl:GraphView">nrl:GraphView</a>] +and [<a href="#3.1.2._nrl:DocumentGraph">nrl:DocumentGraph</a>].</p> + + + + +<h4><a class="mozTocH4" name="mozTocId420122"></a><a name="3.2.2._nrl:Schema"></a>3.2.2. +nrl:Schema</h4> + + + + +</div> + + + + +<div style="text-align: justify;"> +<p>A +schema represents a +conceptualisation model. This class is used as a role for a graph that +represents data in the +form of a schema. It is defined as a subclass of [<a href="#3.2.1._nrl:Data">nrl:Data</a>], +and +therefore also a subclass of [<a href="#3.1.1._nrl:Graph">nrl:Graph</a>]; +and it +is a superclass of [<a href="#3.2.4._nrl:Ontology">nrl:Ontology</a>].</p> + + + + +<h4><a class="mozTocH4" name="mozTocId196061"></a><a name="3.2.3._nrl:InstanceBase"></a>3.2.3. +nrl:InstanceBase</h4> + + + + +<p>A graph may represent instances of classes +defined +using some schema (or ontology) that is represented by another separate +graph. This class provides the representation for such graphs. An +instance base is a +subclass of [<a href="#3.2.1._nrl:Data">nrl:Data</a>], +and therefore also a subclass of +[<a href="#3.1.1._nrl:Graph">nrl:Graph</a>].</p> + + + + +<h4><a class="mozTocH4" name="mozTocId287595"></a><a name="3.2.4._nrl:Ontology"></a>3.2.4. +nrl:Ontology</h4> + + + + +<p>An ontology is a more expressive type of schema describing +more complex +models which may include rule-based knowledge in addition to a +relational characterisation. This class represents such a role for a +Graph and it can also serve the +purpose of an ontology header within RDF/S documents as provided by [<a href="http://www.w3.org/TR/owl-ref/#Ontology-def">owl:Ontology</a>]. +This class is a subclass of [<a href="#3.2.2._nrl:Schema">nrl:Schema</a>] +and therefore also a subclass +of +[<a href="#3.2.1._nrl:Data">nrl:Data</a>] +and [<a href="#3.1.1._nrl:Graph">nrl:Graph</a>].</p> + + + + +<h4><a class="mozTocH4" name="mozTocId372280"></a><a name="3.2.5._nrl:KnowledgeBase"></a>3.2.5. +nrl:KnowledgeBase</h4> + + + + +<p>A graph can represent a schema (or ontology) together +with a +number of instantiations of elements in the same schema (or ontology). +Such a graph has a similar role to an instance base with the major +difference that it also represents the schema (or ontology) providing +the constructs used to define the instances. Therefore this +role can be seen as a subset of the +intersection of the [<a href="#3.2.4._nrl:Ontology">nrl:Ontology</a>] +and [<a href="#3.2.3._nrl:InstanceBase">nrl:InstanceBase</a>] +roles, and is in +fact defined as a subclass of both these roles. +</p> + + + + +</div> + + + + +<h4><a class="mozTocH4" name="mozTocId379616"></a><a name="3.2.6._nrl:Configuration"></a>3.2.6. +nrl:Configuration</h4> + + + + +<div style="text-align: justify;"> +<p>Technical +configuration +data that is +irrelevant to general semantic web data can also be +represented +within a graph, through this role. Other additional roles serving +different purposes might be added in the future. This class is a +subclass of [<a href="#3.2.1._nrl:Data">nrl:Data</a>]. +</p> + + + + +<h4><a class="mozTocH4" name="mozTocId781665"></a><a name="3.2.7._nrl:GraphMetadata"></a>3.2.7. +nrl:GraphMetadata</h4> + + + + +<p>This role is useful to mark graphs whose sole purpose is to +store +metadata about some specific graph. Data about a graph, or Graph +Metadata, is thus stored in a corresponding graph that has +this +role. +</p> + + + + +</div> + + + + +<h4><a class="mozTocH4" name="mozTocId159397"></a><a name="3.2.8._nrl:graphMetadataFor"></a><span style="background-color: rgb(255, 255, 255);">3.2.8. +nrl:graphMetadataFor</span></h4> + + + + +<div style="background-color: rgb(255, 255, 255);"> +<p>This +property binds a metadata graph to the graph being +described. A metadata graph must point to the named graph being +described therefore the minimum cardinality is set to 1. Given that in +some cases a single metadata graph can provide metadata for multiple +graphs, the maximum cardinality is undefined. </p> + + + + +</div> + + + + +<h4 style="background-color: rgb(255, 255, 255);"><a class="mozTocH4" name="mozTocId728175"></a><a style="background-color: rgb(255, 255, 255);" name="3.2.9._nrl:coreGraphMetadataFor"></a><span style="background-color: rgb(255, 255, 255);">3.2.9. +nrl:coreGraphMetadataFor</span></h4> + + + + +<div style="text-align: justify; background-color: rgb(255, 255, 255);"> +<p style="background-color: rgb(255, 255, 255);">Although +a graph can have multiple metadata graphs that describe it, +there can only be one unique core metadata graph which defines the +graph's important core properties, e.g. whether it is updatable or +otherwise and other important metadata +vocabulary. This property identifies such a core metadata graph and +points to the graph it describes. It is a subproperty of <a href="#3.2.8._nrl:graphMetadataFor">nrl:graphMetadataFor</a>.<br /> + + + + +</p> + + + + +<span style="font-style: italic;"><span style="font-weight: bold; background-color: rgb(255, 255, 255);">Note:</span><span style="background-color: rgb(255, 255, 255);"> +Sometimes the inverse link (from the subject named graph to its core +metadata graph) might be of practical use. However, in order to avoid +redundancy in the language, this direction has not been included in +NRL. For a more efficient access to a graph's metadata, specific +applications might want to establish this direction when loading graphs.</span></span> +</div> + + + + +<h4 style="background-color: rgb(255, 255, 255);"><a class="mozTocH4" name="mozTocId465236"></a><a name="3.2.10._nrl:Semantics"></a>3.2.10. +nrl:Semantics</h4> + + + + +<div style="text-align: justify;"> +<p><span style="background-color: rgb(255, 255, 255);">The +declarative semantics for a graph role can be specified by +referring to instances of this class. Such an instance will consist of +an identifier to a location where the formal semantics of the schema or +language used are specified.</span></p> + + + + +<h4><a class="mozTocH4" name="mozTocId737534"></a><span style="background-color: rgb(255, 255, 255);"></span><a name="3.2.11._nrl:hasSemantics"></a>3.2.11. +nrl:hasSemantics</h4> + + + + +<p><span style="background-color: rgb(255, 255, 255);">Graph +roles +do not automatically have any semantics, but these can be +specified through this property (declarative +semantics) with respect +to an instance of the special class [<a href="#3.2.10._nrl:Semantics">nrl:Semantics</a>]. +The semantics of a +graph role can also be realized (procedural semantics) by +instantiating a graph view with a semantic +specification over the role (See </span><a style="background-color: rgb(255, 255, 255);" href="#4._Graph_Views_Extensions">Graph Views +Extensions</a><span style="background-color: rgb(255, 255, 255);"> and <a href="#4.2.2._nrl:realizes">nrl:realizes</a>). However +this property has a declarative rather than a procedural role.</span></p> + + + + +<span style="background-color: rgb(255, 255, 255);"></span><span style="background-color: rgb(255, 255, 255);"></span><span style="background-color: rgb(255, 255, 255);"><span style="font-style: italic; font-weight: bold;">Note:</span> +A graph role +with (virtual) declarative semantics +should never be assumed to also carry (realized) procedural +semantics. </span><br /> + + + + +</div> + + + + +<h4 style="background-color: rgb(255, 255, 255);"><a class="mozTocH4" name="mozTocId331701"></a><a name="3.2.12._nrl:semanticsDefinedBy"></a>3.2.12. +nrl:semanticsDefinedBy</h4> + + + + +<div style="text-align: justify;"> +<p><span style="background-color: rgb(255, 255, 51);"><span style="background-color: rgb(255, 255, 255);">This +property links instances of the </span></span><span style="background-color: rgb(255, 255, 255);">[<a href="../../l#3.2.10._nrl:Semantics">nrl:Semantics</a>]</span><span style="background-color: rgb(255, 255, 51);"><span style="background-color: rgb(255, 255, 255);"> class to a +URL for a document that defines the formal, non-machine-readable +semantics that the instance is representing.</span></span></p> + + + + +<span style="background-color: rgb(255, 255, 51);"></span></div> + + + + +<h4 style="background-color: rgb(255, 255, 255); text-align: justify;"><a class="mozTocH4" name="mozTocId704028"></a><a name="3.2.13._nrl:semanticsLabel"></a>3.2.13. +nrl:semanticsLabel</h4> + + + + +<div style="text-align: justify;"> +<p><span style="background-color: rgb(255, 255, 255);">This +trivial property assigns a string label to instances of the </span><span style="background-color: rgb(255, 255, 255);">[<a href="../../l#3.2.10._nrl:Semantics">nrl:Semantics</a>]</span><span style="background-color: rgb(255, 255, 255);"> +class, in order to more easily identify and refer to different +semantics.</span></p> + + + + +<p><span style="background-color: rgb(255, 255, 255);"></span></p> + + + + +<h4 style="background-color: rgb(255, 255, 255);"><a class="mozTocH4" name="mozTocId379929"></a><a name="3.2.14._nrl:updatable"></a>3.2.14. +nrl:updatable</h4> + + + + +<p style="background-color: rgb(255, 255, 255);"><span style="font-weight: normal;">A +graph role is stated as being +updatable (1) or static (0). A static graph prevents any modifications +- any modified versions of the graph must be created as a separate +graph. A non-static graph's dataset can be directly modified.</span></p> + + + + +<p><span style="background-color: rgb(255, 255, 255);"> +</span></p> + + + + +</div> + + + + +<h3><a class="mozTocH3" name="mozTocId54895"></a><a name="3._Named_Graph_Example"></a>3. +Named Graph Example</h3> + + + + +<div style="text-align: justify;"> +<p>The following example +demonstrates the use of NG extensions and is based on <a href="http://www.wiwiss.fu-berlin.de/suhl/bizer/TriG/">TriG</a> +[TRIG] as introduced in the introduction of this document. A simple +graph in TriG +named G (where g is a URI) is syntactically denoted by: +</p> + + + + +</div> + + + + +<table style="text-align: left; width: 100%; height: 32px;" border="1" cellpadding="2" cellspacing="2"> + + + + + <tbody> + + + + + <tr> + + + + + <td style="width: 100%;"> + + + + <div style="text-align: center; margin-left: 40px;">:G +{<span style="font-style: italic;">Triple Set</span>}<br /> + + + + + </div> + + + + + </td> + + + + + </tr> + + + + + + + + </tbody> +</table> + + + + +<div style="margin-left: 40px;"><br /> + + + + +</div> + + + + +<p>This example and the one +that follows in [<a href="#4.3_Graph_Views_Example">Section +4.3</a>] model +the dataflow represented in <a href="#Fig2">Figure +2</a>. +This example demonstrates how one can make use of the named graph +paradigm and the syntax for named graphs presented in this +section. <br /> + + + + +</p> + + + + +<div style="text-align: justify; background-color: rgb(255, 255, 255);"><span style="font-style: italic;"></span>[1] The +example starts by defining the +required namespaces.<br /> + + + + +<br /> + + + + +[2-7] Metadata about six +different graphs is represented within four metadata graphs. <br /> + + + + +<br /> + + + + +[3] The metadata graph describing graph <span style="font-style: italic;">ex:o1</span> +given in [8] states that <span style="font-style: italic;">ex:o1</span> +is an ontology (graph with role ontology). <span style="font-style: italic;"><br /> + + + + +<br /> + + + + +</span>[4] <span style="font-style: italic;">ex:o1 </span>is +defined to have the declarative semantics defined by the instance <span style="font-style: italic;">RDFS</span>.<br /> + + + + +<br /> + + + + +[5] <span style="font-style: italic;">RDFS</span> +is an instance of +nrl:Semantics. It is labelled 'RDF/S' and its semantics are said to be +defined by 'http://www.w3.org/TR/rdf-schema#'.<br /> + + + + +<br /> + + + + +<span style="font-style: italic;"></span>[6] <span style="font-style: italic;">ex:o1_metadata </span>itself +is marked as being graph metadata.<br /> + + + + +<span style="font-style: italic;"></span><br /> + + + + +[7] <span style="font-style: italic;">ex:o2_metadata </span>says +that <span style="font-style: italic;">ex:o2</span> +is graph equivalent to <span style="font-style: italic;">http://www.domain.com/o2.rdfs. </span><br /> + + + + +<span style="font-style: italic;"></span><br /> + + + + +[8] <span style="font-style: italic;">ex:o2_metadata</span> states +also that <span style="font-style: italic;">ex:o </span>is +an ontology represented by the union of graphs <span style="font-style: italic;">ex:o1</span> and <span style="font-style: italic;">ex:o2</span>. <span style="font-style: italic;">ex:o</span> is now a +supergraph of <span style="font-style: italic;">ex:o1</span> +and <span style="font-style: italic;">ex:o2</span> +(or <span style="font-style: italic;">http://www.domain.com/o2.rdfs</span>). +Inversely the named graphs are subgraphs of <span style="font-style: italic;">ex:o</span>.<br /> + + + + +<br /> + + + + +[9] <span style="font-style: italic;">ex:ib1_metadata </span>states +that <span style="font-style: italic;">ex:ib1 </span>is +an instance base defined in [9].<br /> + + + + +<br /> + + + + +[10] <span style="font-style: italic;">ex:kb1_metadata</span> +states that <span style="font-style: italic;">ex:kb1 </span>is +a knowledge base graph represented by the union of graphs <span style="font-style: italic;">ex:o</span>,<span style="font-style: italic;"> ex:ib1 </span>and<span style="font-style: italic;"> </span><span style="font-style: italic;">http://www.anotherdomain.com/ib2.rdf</span>s. +Alternatively, through the definition of <span style="font-style: italic;">ex:o </span>[5], one can +say that <span style="font-style: italic;">ex:kb1</span> +is represented by the union of graphs <span style="font-style: italic;">ex:o1</span>, +<span style="font-style: italic;">ex:o2 </span>(or<span style="font-style: italic;"> </span><span style="font-style: italic;">http://www.domain.com/o2.rdfs</span>), +<span style="font-style: italic;">ex:ib1</span> and <span style="font-style: italic;">http://www.anotherdomain.com/ib2.rdfs</span>, +where the latter graphs are all subgraphs of <span style="font-style: italic;">ex:kb1</span>.<br /> + + + + +<br /> + + + + +<span style="font-style: italic;"> +</span>[12] The representation for graph <span style="font-style: italic;">ex:o1</span> (an ontology) +is composed of the definition of a class <span style="font-style: italic;">ex:Person</span>, a class +ex:<span style="font-style: italic;">DesktopUser</span> +which is also a subclass of <span style="font-style: italic;">ex:Person</span>, +and a symmetric property <span style="font-style: italic;">ex:knows</span> +which relates instances of <span style="font-style: italic;">ex:Person</span> +to other +instansces of <span style="font-style: italic;">ex:Person</span>.<br /> + + + + +<br /> + + + + +[12] The representation for graph <span style="font-style: italic;">ex:ib1 +</span>(an instance base) is composed of the definition of an +instance of <span style="font-style: italic;">ex:DesktopUser +</span>called <span style="font-style: italic;">ex:User1</span>, +and two instances of <span style="font-style: italic;">ex:Person</span> +called <span style="font-style: italic;">ex:Contact1</span> +and <span style="font-style: italic;">ex:Contact2</span>. +<span style="font-style: italic;">ex:Contact1</span> +'knows' <span style="font-style: italic;">ex:Contact2</span> +and <span style="font-style: italic;">ex:User1</span> +while ex:Contact2 'knows' <span style="font-style: italic;">ex:User1</span>. +However since <span style="font-style: italic;">ex:knows </span>is +a symmetric property, all three instances of <span style="font-style: italic;">ex:Person</span> (or its +subclass <span style="font-style: italic;">ex:DesktopUser</span>) +'know' each other.<br /> + + + + +<br /> + + + + +<table style="text-align: left; font-family: monospace; width: 100%;" border="1" cellpadding="2" cellspacing="2"> + + + + + <tbody> + + + + + <tr> + + + + + <td><span style="font-family: monospace;">[1] + @prefix nrl: +<http://www.semanticdesktop.org/ontology/yyyy/mm/dd/nrl#> +.</span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;"> + @prefix ex: +<http://www.example.org/vocabulary#> .</span><br style="font-family: monospace;" /> + + + + + <br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;">[2] + ex:o1_metadata { </span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;">[3] + ex:o1 a nrl:Ontology ;</span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;">[4] + nrl:hasSemantics ex:RDFS .</span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;">[5] + ex:RDFS a nrl:Semantics ;</span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;"> + +nrl:semanticsDefinedBy "http://www.w3.org/TR/rdf-schema#" ;</span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;"> + +nrl:semanticsLabel "RDF/S" . </span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;">[6] + ex:o1_metadata rdf:type nrl:GraphMetadata . }</span><br style="font-family: monospace;" /> + + + + + <br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;"> + ex:o2_metadata { </span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;">[7] + ex:o2 rdf:type nrl:Ontology ;</span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;"> + +nrl:equivalentGraph <http://www.domain.com/o2.rdfs> . </span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;">[8] + ex:o rdf:type nrl:Ontology ;</span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;"> + nrl:imports ex:o1 ,</span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;"> + + ex:o2 . </span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;"> + ex:o2_metadata rdf:type nrl:GraphMetadata . }</span><br style="font-family: monospace;" /> + + + + + <br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;">[9] + ex:ib1_metdata {</span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;"> + ex:ib1 rdf:type nrl:InstanceBase .</span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;"> + ex:ib1_metadata rdf:type nrl:GraphMetadata . }</span><br style="font-family: monospace;" /> + + + + + <br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;">[10] +ex:kb1_metadata {</span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;"> + ex:kb1 rdf:type nrl:KnowledgeBase ;</span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;"> + nrl:imports ex:o , </span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;"> + + ex:ib1 , </span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;"> + + +<http://www.anotherdomain.com/ib2.rdfs> . </span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;"> + ex:kb1_metadata rdf:type nrl:GraphMetadata . }</span><br style="font-family: monospace;" /> + + + + + <br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;">[11] ex:o1 { </span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;"> + ex:Person rdf:type rdfs:Class .</span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;"> + ex:DesktopUser rdf:type rdfs:Class ;</span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;"> + + rdfs:subClassOf ex:Person .</span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;"> + ex:knows rdf:type rdf:Property ,</span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;"> + + nrl:SymmetricProperty ;</span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;"> + rdfs:domain +ex:Person ;</span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;"> + rdfs:range +ex:Person . }</span><br style="font-family: monospace;" /> + + + + + <br /> + + + + + <span style="font-family: monospace;">[12] ex:ib1 { </span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;"> +ex:User1 rdf:type ex:DesktopUser .</span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;"> + ex:Contact1 rdf:type ex:Person ;</span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;"> + + ex:knows ex:User1 ,</span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;"> + + +ex:Contact1 .</span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;"> +ex:Contact2 rdf:type ex:Person ;</span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;"> + + ex:knows ex:User1 . } </span></td> + + + + + </tr> + + + + + + + + </tbody> +</table> + + + + +<br /> + + + + +<p>The +RDF/S Ontology +accesible at <span style="font-style: italic;">http://www.domain.com/o2.rdfs</span> +and serialized as RDF/XML is given and described as follows.</p> + + + + +[1] Required namespaces are defined.<br /> + + + + +<br /> + + + + +[2] The [<a href="#3.2.4._nrl:Ontology">nrl:Ontology</a>] +class +can be used to define some (ontology) graph metadata about the graph +represented by this RDF/S document. Here it states that this is +a document graph having the role of an ontology. <br /> + + + + +<span style="font-style: italic; background-color: rgb(255, 255, 255);"><br /> + + + + +<span style="font-weight: bold;">Note:</span> +Although this is allowed it is not considered best practice, since in +this way, given that we state that XML/RDFS files can only encode one +graph at a time, one is effectively providing graph metadata within the +graph itself. This goes against our notion of keeping metadata about a +graph separate from the graph itself, as discussed in [<a href="#3._NRL_Named_Graph_Extensions">Section 3</a>].</span><br style="background-color: rgb(255, 255, 51);" /> + + + + +<br /> + + + + +[3] A class <span style="font-style: italic;">Desktop</span> +is defined.<br /> + + + + +<br /> + + + + +[4] A property <span style="font-style: italic;">user</span> +is defined as relating instances of <span style="font-style: italic;">Desktop +</span>to +instances of <span style="font-style: italic;">http://www.example.org/vocabulary#DesktopUser +</span>defined in <span style="font-style: italic;">ex:g1 +</span>in the example above.<br /> + + + + +<br /> + + + + +<table style="text-align: left; width: 100%;" border="1" cellpadding="2" cellspacing="2"> + + + + + <tbody> + + + + + <tr> + + + + + <td><span style="font-family: monospace;">[1] +<rdf:RDF</span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;"> +xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"</span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;"> +xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"</span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;"> +xmlns:nrl="http://www.semanticdesktop.org/ontology/yyyy/mm/dd/nrl#"></span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;"> +xmlns="http://www.domain.com/o2#"></span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;"> + </span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;">[2] +<nrl:Ontology rdf:about=""></span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;"> +<rdf:type rdfs:resource="nrl#DocumentGraph"/></span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;"> +<!--Other Graph Metadata---></span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;"> +</nrl:Ontology></span><br style="font-family: monospace;" /> + + + + + <br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;">[3] +<rdfs:Class rdf:ID="Desktop"/> </span><br style="font-family: monospace;" /> + + + + + <br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;">[4] +<rdf:Property rdf:ID="user"></span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;"> +<rdfs:domain rdf:resource="#Desktop"/></span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;"> +<rdfs:range +rdf:resource="http://www.example.org/vocabulary#DesktopUser/> </span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;"> +</rdf:Property></span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;"> + </rdf:RDF></span></td> + + + + + </tr> + + + + + + + + </tbody> +</table> + + + + +<br /> + + + + +</div> + + + + +The following is the +RDF/S instance base +serialized as RDF/XML and accessible at <span style="font-style: italic;">http://www.anotherdomain.com/ib2.rdf</span>s:<br /> + + + + +<div style="margin-left: 40px;"> +<div style="text-align: justify;"><br /> + + + + +</div> + + + + +</div> + + + + +<div style="text-align: justify;">[1] Required namespaces +are defined.<br /> + + + + +<br /> + + + + +[2] Metadata about the instance base graph represented by this RDF/S +document is defined through the use of [<a href="#3.2.3._nrl:InstanceBase">nrl:InstanceBase</a>].<br /> + + + + +<span style="font-style: italic;"><span style="background-color: rgb(255, 255, 51);"></span></span><br /> + + + + +<span style="font-style: italic; background-color: rgb(255, 255, 255);"><span style="font-weight: bold;">Note:</span> Although this +is allowed it is +not considered best practice, since in this way, given that we state +that XML/RDFS files can only encode one graph at a time, one is +effectively providing graph metadata within the graph itself. This goes +against our notion of keeping metadata about a graph separate from the +graph itself, as discussed in [<a href="#3._NRL_Named_Graph_Extensions">Section 3</a>].</span><br style="background-color: rgb(255, 255, 51);" /> + + + + +<span style="font-style: italic;"></span><br /> + + + + +<span style="font-style: italic;"></span>[3] <span style="font-style: italic;">DesktopA </span>is +defined as an instance of <span style="font-style: italic;">o2:Desktop +</span>and related to <span style="font-style: italic;">http://www.example.org/vocabulary#User1 +</span>through the <span style="font-style: italic;">o2:user</span> +property. +<br /> + + + + +<br style="font-family: monospace;" /> + + + + +<table style="text-align: left; width: 100%;" border="1" cellpadding="2" cellspacing="2"> + + + + + <tbody> + + + + + <tr> + + + + + <td><span style="font-family: monospace;">[1] +<rdf:RDF</span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;"> + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"</span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;"> +xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"</span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;"> +xmlns:nrl="http://www.semanticdesktop.org/ontology/yyyy/mm/dd/nrl#"</span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;"> +xmlns:o2="http://www.domain.com/o2#"</span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;"> +xmlns="http://www.anotherdomain.com/ib2#"></span><br style="font-family: monospace;" /> + + + + + <br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;">[2] +<nrl:InstanceBase rdf:about=""></span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;"> +<rdf:type rdfs:resource="nrl#DocumentGraph"/></span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;"> +<!--Other Graph Metadata---></span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;"> + </nrl:InstanceBase></span><br style="font-family: monospace;" /> + + + + + <br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;">[3] +<o2:Desktop rdf:ID="DesktopA"></span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;"> +<o2:user http://www.example.org/vocabulary#User1></span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;"> + </o2:Desktop></span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;"> + </rdf:RDF></span></td> + + + + + </tr> + + + + + + + + </tbody> +</table> + + + + +<br /> + + + + +</div> + + + + +<h2><a class="mozTocH2" name="mozTocId172834"></a><a name="4._Graph_Views_Extensions"></a>4. Imposing +Semantics on and Tailoring of Graphs: NRL Graph Views<span style="background-color: rgb(255, 255, 255);"> Extensions</span></h2> + + + + +<div style="text-align: justify;"> +<p>A simple named +graph consists only of the enumerated triples in the +triple set associated with the name, and it does not inherently carry +any form of semantics. However in many situations it is desirable to +work +with an extended or restricted interpretation of a +simple syntax-only named graph. +These interpretations can be realized by applying rules which +enhance named graphs with entailment triples, or return a +restricted form of the +complete triple set. To preserve the integrity of a named graph, +interpretations of a basic named graph should +never replace the original. To model this functionality in an intuitive +way, while still separating between an original named graph and any +number of its interpretations, we introduce the concept of <span style="font-style: italic;">Graph Views</span>.</p> + + + + +<p>Graph views, +or simply views, are different interpretations for a +particular named graph. Formally, a graph view is an executable +specification of an input graph into a corresponding output graph. +Informally, they can be seen as arbitrary wrappings for a +named graph. <a href="#Fig4">Figure 4</a> +depicts +graph view support in +NRL. As can be seen in the figure, views are themselves named graphs +(subclass of <a href="#3.1.1._nrl:Graph">nrl:Graph</a>). +Therefore it is possible to have a named graph that is itself a +different interpretation, or view, of another named graph. This +modelling can be applied recurrently, yielding a view of a view (or an +interpretation of a named graph interpretation, as depicted in <a href="#Fig2">Figure 2</a>) and so on.<br /> + + + + +</p> + + + + +</div> + + + + +<div style="text-align: justify;"> +<div style="text-align: center;"> +<div style="text-align: center;"><span style="font-style: italic;"><img style="width: 555px; height: 325px;" alt="Graph Views Overview" src="GraphViews.png" /><br /> + + + + +</span><a name="Fig4"></a> +Figure 4: +Graph Views in NRL<br /> + + + + +</div> + + + + +</div> + + + + +<p>Views are +defined through <span style="font-style: italic;">View +Specifications</span> which +can execute, via a set of rules in a rule language (e.g. a +SPARQL +query over a named graph), or via an external application (e.g. an +application that performs and returns the transitive closure of +rdfs:subClassOf), the<span style="font-style: italic;"> +View Realization</span> for a particular view. As in the latter +example, view realizations can also realize the implicit +semantics of a graph according to some language +or schema (e.g. RDFS, OWL, NRL etc.). We refer to such +a view as a <span style="font-style: italic;">Semantic +View </span>and in <a href="#Fig4">Figure +4</a> +these are represented by the intersection of [<a href="#4.1.1_nrl:GraphView">nrl:GraphView</a>] +and <span style="font-style: italic;">Graph Roles</span>. +Therefore a semantic view is an instance of graph view that also +carries a particular graph role. Semantic views are also depicted in <a href="#Fig1">Figure +1</a>, and one can quite easily draw a parallel between the two +figures. One must note that the property [<a href="#4.2.2._nrl:realizes">nrl:realizes</a>] +applies +only to semantic views, since only such views realize an explicit form +of semantics. One should also note that in +contrast to graph roles which have only <span style="font-style: italic;">Declarative +Semantics</span> defined through the [<a href="#3.2.11._nrl:hasSemantics">nrl:hasSemantics</a>] +property, +semantic views also carry <span style="font-style: italic;">Procedural +Semantics</span>, +since the semantics of these graphs are always realized and not +simply assumed. </p> + + + + +</div> + + + + +<h3><a class="mozTocH3" name="mozTocId238972"></a><a name="4.1._Views_Core_Vocabulary"></a>4.1. Views +Core Vocabulary</h3> + + + + +<div style="text-align: justify;"> +<p>This section presents +the core vocabulary supporting views in NRL, +consisting of the core attributes that apply to views. The +following section is specifically dedicated to vocabulary concerning +the +specification of views.</p> + + + + +</div> + + + + +<h4 style="text-align: justify;"><a class="mozTocH4" name="mozTocId304281"></a><a name="4.1.1_nrl:GraphView"></a>4.1.1. +nrl:GraphView </h4> + + + + +<div style="text-align: justify;"> +<p>This class represents a +view over a named graph as introduced in this +document, and is itself modeled as a +subclass of a named graph. A view is realized through a view +specification, defined by an instance of [<a href="#4.2.1._nrl:ViewSpecification">nrl:ViewSpecification</a>]. +The view is linked its view specification through the [<a href="#4.1.3_nrl:hasSpecification">nrl:hasSpecification</a>] +property whereas the named graph that the view applies to is linked by [<a href="#4.1.2_nrl:viewOn">nrl:viewOn</a>]. +An instance of this class will be a realized view over +some named graph, and it will consist of the extended or restricted set +of RDF +triples present in the original named graph. +</p> + + + + +</div> + + + + +<h4 style="text-align: justify;"><a class="mozTocH4" name="mozTocId595657"></a><a name="4.1.2_nrl:viewOn"></a>4.1.2. +nrl:viewOn</h4> + + + + +<div style="text-align: justify;"> +<p>This property attaches a +view realisation to the respective interpreted +named graph by linking +instances of [<a href="#4.1.1_nrl:GraphView">nrl:GraphView</a>] +to respective instances of [<a href="#3.1.1._nrl:Graph">nrl:Graph</a>]. +In this way, it is always possible to determine which graph a +view is interpreting. Thus both the theoritical and the +practical separation between different interpretations of a named graph +and the original named +graph itself can be retained. As a result, it is always possible to +retrieve an original named graph, independently of how many views have +been applied over it.</p> + + + + +</div> + + + + +<h4 style="text-align: justify;"><a class="mozTocH4" name="mozTocId124884"></a><a name="4.1.3_nrl:hasSpecification"></a>4.1.3. +nrl:hasSpecification </h4> + + + + +<p>Views are realized according to a given view specification. +This +property determines the specification for a view by linking instances +of [<a href="#4.1.1_nrl:GraphView">nrl:GraphView</a>] +to instances of [<a href="#4.2.1._nrl:ViewSpecification">nrl:ViewSpecification</a>]. +View specifications are defined through instances of [<a href="#4.2.1._nrl:ViewSpecification">nrl:ViewSpecification</a>]. +This class, its subclasses, attributes and general characteristics are +introduced and defined in the following section. </p> + + + + +<h3 style="text-align: justify;"><a class="mozTocH3" name="mozTocId648959"></a><a name="4.2._View_Specification_Vocabulary"></a>4.2. +Views Specification Vocabulary</h3> + + + + +<div style="text-align: justify;"> +<p>This section presents +the vocabulary supporting graph view +specification. These specification are essentially the instructions to +how a view is to be +realized. +</p> + + + + +</div> + + + + +<h4 style="text-align: justify;"><a class="mozTocH4" name="mozTocId925367"></a><a name="4.2.1._nrl:ViewSpecification"></a>4.2.1. +nrl:ViewSpecification</h4> + + + + +<div style="text-align: justify;">This class represents a +view specification. Every graph view requires +an associated view specification. View specifications can take one of +two forms, modeled as the two subclasses [<a href="#4.2.3._nrl:RuleViewSpecification">nrl:RuleViewSpecification</a>] +and [<a href="#4.2.6._nrl:ExternalViewSpecification">nrl:ExternalViewSpecification</a>]. +The view specification defines the criteria for the realization of the +view. In the case of semantic views, view specifications also +state which semantics are realized through the [<a href="#4.2.2._nrl:realizes">nrl:realizes</a>] +property. +</div> + + + + +<h4 style="text-align: justify;"><a class="mozTocH4" name="mozTocId162918"></a><a name="4.2.2._nrl:realizes"></a>4.2.2. +nrl:realizes</h4> + + + + +<div style="text-align: justify;"> +<p>This property applies +only to subset of views introduced as semantic +views (see <a href="#4._Graph_Views_Extensions">Section +4</a> +introduction). It links a semantic view to the formal specifications of +the +semantics that it realizes. In effect this states that the view should +carry the realized, procedural semantics according to the given +semantics +definition, and not simply the implicit declarative +semantics. The overlap in <a href="#Fig4">Figure4</a> +and also in<a href="#Fig4"> </a><a href="#Fig1">Figure +1</a>) +between graph roles and views refers to these semantic views which +carry both procedural (through this property) and declarative +(through [<a href="#3.2.11._nrl:hasSemantics">nrl:hasSemantics</a>]) +semantics. This property should be distinguished from the [<a href="#3.2.11._nrl:hasSemantics">nrl:hasSemantics</a>] +property since this property has only a declarative role when it comes +to specifying the semantics for a graph.</p> + + + + +<span style="font-style: italic;"><span style="font-weight: bold;">Note:</span> </span>For NRL +to be +valid, all semantic views must carry both procedural and declarative +semantics. That is, any view (which can manifest itself also as a graph +role) that is linked to some semantics by [<a href="#4.2.2._nrl:realizes">nrl:realizes</a>], +should +also be linked to the same semantics by [<a href="#3.2.11._nrl:hasSemantics">nrl:hasSemantics</a>]. +This relationship between the two properties is not symmetric and it is +perfectly valid for a +graph role (that is not a view) to have only non-realized declarative +semantics. +</div> + + + + +<h4 style="text-align: justify;"><a class="mozTocH4" name="mozTocId266518"></a><a name="4.2.3._nrl:RuleViewSpecification"></a>4.2.3. +nrl:RuleViewSpecification </h4> + + + + +<div style="text-align: justify;">This class represents +one of the provided forms of view +specifications. Views can be specified by referring to a rule language +and a corresponding set of required rules within. The view is +subsequently realized by executing those rules, generating the +required output named graph. +The rule language and the selected rules are specified through the [<a href="#4.2.4._nrl:ruleLanguage">nrl:ruleLanguage</a>] +and [<a href="#4.2.5._nrl:rule">nrl:rule</a>] +properties, presented below.<br /> + + + + +</div> + + + + +<h4 style="text-align: justify;"><a class="mozTocH4" name="mozTocId718088"></a><a name="4.2.4._nrl:ruleLanguage"></a>4.2.4. +nrl:ruleLanguage</h4> + + + + +<p style="text-align: justify;">This property links a rule +view specification to the name of +the rule language supporting the required rules. The +rule language is +identified via a string referring to the language name.<br /> + + + + +</p> + + + + +<h4 style="text-align: justify;"><a class="mozTocH4" name="mozTocId518283"></a><a name="4.2.5._nrl:rule"></a>4.2.5. +nrl:rule</h4> + + + + +<p style="text-align: justify;">This property is used to +provide the actual rules +for a rule view +specification, with respect to the selected rule language. +The rules (or queries) are provided as a string.</p> + + + + +<h4 style="text-align: justify;"><a class="mozTocH4" name="mozTocId968780"></a><a name="4.2.6._nrl:ExternalViewSpecification"></a>4.2.6. +nrl:ExternalViewSpecification </h4> + + + + +<div style="text-align: justify;"> +<p>The second type of view +specification supported by NRL refers +to an external application, service or program +(external realizer) that automatically executes and returns the +required view without the need to select any rule or +language. The word +'external' refers to the fact that the actual view +specification is not given by instances of this class, but is +predefined within the external application. External view +specifications need only +specify the location of the external realizer through the +following property.</p> + + + + +</div> + + + + +<h4 style="text-align: justify;"><a class="mozTocH4" name="mozTocId745751"></a><a name="4.2.7._nrl:externalRealizer"></a>4.2.7. +nrl:externalRealizer</h4> + + + + +<div style="text-align: justify;"> +<p>External view +specifications rely on external realizers to realize a +particular view. An identifier for the external application, service or +program is assigned to the view specification through this property in +the form of +a string.</p> + + + + +</div> + + + + +<h3 style="text-align: justify;"><a class="mozTocH3" name="mozTocId227803"></a><a name="4.3_Graph_Views_Example"></a>4.3 +Graph Views Example</h3> + + + + +<div style="text-align: justify;"> +<p>The following example is +a continuation to that given in [<a href="#3.3._Named_Graph_Example">Section +.3</a>] and +it completes the dataflow diagram presented in the introduction [<a href="#Fig2">Figure 2</a>]. It +demonstrates how the +provided syntax supporting graph views can be used effectively. The +practical applicability of the introduced views is explained in more +detail in the introduction of the document and [<a href="#Fig2">Figure +2</a>].<br /> + + + + +</p> + + + + +[1] <span style="font-style: italic;">ex:kb2_metadata </span>states +that a new graph with the role of knowledge base, <span style="font-style: italic;">ex:kb2</span>, +is a graph view over graph<span style="font-style: italic;"> +ex:kb1 </span>defined in the example earlier<span style="font-style: italic;"> </span>according to a +view specification <span style="font-style: italic;">ex:rvs</span>. <br /> + + + + +<br /> + + + + +[2] <span style="font-style: italic;">ex:rvs</span> +is the view specification required to realize <span style="font-style: italic;">ex:kb2</span>. It is a +rule view specification, and it requires executing two rules +from the SPARQL language over the graph that <span style="font-style: italic;">ex:kb2</span> is +interpreting, namely <span style="font-style: italic;">ex:kb1</span>. The +view is defined as a semantic realizing view, which semantics +are given by <span style="font-style: italic;">ex:RDFSSemantics</span>.<br /> + + + + +<br /> + + + + +[3] <span style="font-style: italic;">ex:RDFSemantics </span>refers +to a document where the formal specification of the procedural +semantics realized by the view are given. These semantics are +identified by a label, <span style="font-style: italic;">RDFS</span>.<br /> + + + + +<br /> + + + + +[4] <span style="font-style: italic;">ex:kb3_metadata</span> +states that the graph <span style="font-style: italic;">ex:kb3 +</span>having role [<a href="#3.2.5._nrl:KnowledgeBase">nrl:KnowledgeBase</a>]<span style="font-style: italic;"> +</span>is a graph view over <span style="font-style: italic;">ex:kb2 </span>according +to a view specification <span style="font-style: italic;">ex:evs</span>. <br /> + + + + +<br /> + + + + +[5] The view specification for <span style="font-style: italic;">ex:kb3</span> +is defined to consist of an external view specification. This in +practice means that no specification is given in the graph definition, +but the virtual specification is assumed to be within the external +application or service that realizes the view. In this case, <span style="font-style: italic;">GraphTaxonomyExtractor </span>will +return the required realized view as the graph <span style="font-style: italic;">ex:kb3</span>.<br /> + + + + +<br /> + + + + +<table style="text-align: left; width: 100%;" border="1" cellpadding="2" cellspacing="2"> + + + + + <tbody> + + + + + <tr> + + + + + <td> <span style="font-family: monospace;"> @prefix nrl: +<http://www.semanticdesktop.org/ontology/yyyy/mm/dd/nrl#> +.</span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;"> + @prefix ex: +<http://www.example.org/vocabulary#> .</span><br style="font-family: monospace;" /> + + + + + <br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;">[1] +ex:kb2_metadata { </span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;"> + ex:kb2 rdf:type nrl:KnowledgeBase , </span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;"> + + nrl:GraphView ;</span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;"> + nrl:viewOn ex:kb1 +;</span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;"> + + nrl:hasSpecification ex:rvs . </span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;">[2] ex:rvs +rdf:type nrl:RuleViewSpecification ;</span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;"> + nrl:realizes +ex:RDFSSemantics ;</span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;"> + nrl:ruleLanguage "SPARQL" ;</span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;"> + nrl:rule "CONSTRUCT {?s +?rdfs:subClassOf ?v} WHERE ..." ;</span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;"> + nrl:rule +"CONSTRUCT {?s ?rdf:type ?v} WHERE ..." . </span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;">[3] +ex:RDFSSemantics rdf:type nrl:Semantics ;</span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;"> + + nrl:semanticsDefinedBy +"http://www.w3.org/TR/2004/REC-rdf-mt-20040210/ ;</span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;"> + + nrl:semanticsLabel "RDFS" . }</span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;"> </span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;">[4] +ex:kb3_metadata {</span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;"> + ex:kb3 rdf:type nrl:GraphView ,</span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;"> + + nrl:KnowledgeBase ;</span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;"> + + nrl:viewOn ex:kb2 ;</span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;"> + nrl:hasSpecification ex:evs +. </span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;">[5] ex:evs +rdf:type nrl:ExternalViewSpecification ;</span><br style="font-family: monospace;" /> + + + + + <span style="font-family: monospace;"> + nrl:externalRealizer +"GraphTaxonomyExtractor" . } </span></td> + + + + + </tr> + + + + + + + + </tbody> +</table> + + + + +<br /> + + + + +</div> + + + + +<h2><a class="mozTocH2" name="mozTocId943672"></a><a name="5._Deprecated_Elements"></a>5. +Deprecated Elements</h2> + + + + +<p style="text-align: justify;"> In general +there are three criteria for +excluding +elements from NRL:</p> + + + + +<ol> + + + + + <li>Elements with no clear formal semantics.</li> + + + + + <li>Elements whose complexity cannot be handled.</li> + + + + + <li>Elements that are <span style="font-style: italic;">NEPOMUK +project</span>-specific.</li> + + + + + <li>Elements that do not belong to the Representation +Language +layer but rather to lower ontology levels.</li> + + + + + <li>Elements that have become redundant after introduction of +the NRL concepts.</li> + + + + +</ol> + + + + +<p style="text-align: justify;">The following is a list +of elements which have been +excluded +from NRL. Some of these elements might be moved to other NEPOMUK +ontologies, or removed completely. Given in the table are the +reasons why they have been excluded from this ontology, alongside the +resulting actions taken.</p> + + + + +<table style="width: 100%; height: 3496px;" id="table44" border="1"> + + + + + <tbody> + + + + + <tr> + + + + + <td style="text-align: justify;" width="20%">nrl:Thing</td> + + + + + <td style="text-align: justify;" width="78%"><i>Description</i></td> + + + + + </tr> + + + + + <tr> + + + + + <td rowspan="5" width="20%"> </td> + + + + + <td width="78%">The superclass of all conceptual +classes. See also [<a href="http://www.w3.org/TR/swbp-skos-core-spec/">SKOS +Concept</a>] +and [<a href="http://www.w3.org/TR/owl-guide/">OWL Thing</a>]</td> + + + + + </tr> + + + + + <tr> + + + + + <td width="78%"><i>Reason</i></td> + + + + + </tr> + + + + + <tr> + + + + + <td width="78%">rdfs:Resource satisfies the +requirements for a top Resource representation.</td> + + + + + </tr> + + + + + <tr> + + + + + <td width="78%"><i>Action</i></td> + + + + + </tr> + + + + + <tr> + + + + + <td width="78%">Exclude.</td> + + + + + </tr> + + + + + <tr> + + + + + <td width="20%">nrl:ResourceManifestation</td> + + + + + <td width="78%"><i>Description</i></td> + + + + + </tr> + + + + + <tr> + + + + + <td rowspan="5" width="20%"> </td> + + + + + <td width="78%">The superclass of all files or +web +resources. See also [<a href="http://www.w3.org/TR/2000/CR-rdf-schema-20000327/#s2.2.1">RDFS +Resource</a>]</td> + + + + + </tr> + + + + + <tr> + + + + + <td width="78%"><i>Reason</i></td> + + + + + </tr> + + + + + <tr> + + + + + <td width="78%">Distinction between abstract +resource and information resource not required at this level.</td> + + + + + </tr> + + + + + <tr> + + + + + <td width="78%"><i>Action</i></td> + + + + + </tr> + + + + + <tr> + + + + + <td width="78%">Move to upper-level +(foundational) +ontology.</td> + + + + + </tr> + + + + + <tr> + + + + + <td width="20%">nrl:Association</td> + + + + + <td width="78%"><i>Description</i></td> + + + + + </tr> + + + + + <tr> + + + + + <td rowspan="5" width="20%"> </td> + + + + + <td width="78%">The superclass of n-ary +relations. +See also [<a href="http://www.topicmaps.org/xtm/#desc-association">Topic +Maps Association</a>]</td> + + + + + </tr> + + + + + <tr> + + + + + <td width="78%"><i>Reason</i></td> + + + + + </tr> + + + + + <tr> + + + + + <td width="78%">Not required at this level.</td> + + + + + </tr> + + + + + <tr> + + + + + <td width="78%"><i>Action</i></td> + + + + + </tr> + + + + + <tr> + + + + + <td width="78%">Move to upper-level +(foundational) +ontology.</td> + + + + + </tr> + + + + + <tr> + + + + + <td width="20%">nrl:AssociationRole</td> + + + + + <td width="78%"><i>Description</i></td> + + + + + </tr> + + + + + <tr> + + + + + <td rowspan="5" width="20%"> </td> + + + + + <td width="78%">The superclass of relations for +N-ary associations. See also [<a href="http://www.topicmaps.org/xtm/#desc-association">Topic +Maps Association</a>]</td> + + + + + </tr> + + + + + <tr> + + + + + <td width="78%"><i>Reason</i></td> + + + + + </tr> + + + + + <tr> + + + + + <td width="78%">Not required at this level.</td> + + + + + </tr> + + + + + <tr> + + + + + <td width="78%"><i>Action</i></td> + + + + + </tr> + + + + + <tr> + + + + + <td width="78%">Move to upper-level +(foundational) +ontology.</td> + + + + + </tr> + + + + + <tr> + + + + + <td width="20%">nrl:NRLClass</td> + + + + + <td width="78%"><i>Description</i></td> + + + + + </tr> + + + + + <tr> + + + + + <td rowspan="5" width="20%"> </td> + + + + + <td width="78%">The NRL's own class to enable +specific extensions.</td> + + + + + </tr> + + + + + <tr> + + + + + <td width="78%"><i>Reason</i></td> + + + + + </tr> + + + + + <tr> + + + + + <td width="78%">No specific restrictions in this +ontology requiring an extra class representation.</td> + + + + + </tr> + + + + + <tr> + + + + + <td width="78%"><i>Action</i></td> + + + + + </tr> + + + + + <tr> + + + + + <td width="78%">Move to +upper-level(foundational) +ontology if required.</td> + + + + + </tr> + + + + + <tr> + + + + + <td width="20%">nrl:NRLProperty</td> + + + + + <td width="78%"><i>Description</i></td> + + + + + </tr> + + + + + <tr> + + + + + <td rowspan="5" width="20%"> </td> + + + + + <td width="78%">The NRL's own property to enable +specific extensions.</td> + + + + + </tr> + + + + + <tr> + + + + + <td width="78%"><i>Reason</i></td> + + + + + </tr> + + + + + <tr> + + + + + <td width="78%">No specific restrictions in this +ontology requiring an extra property representation.</td> + + + + + </tr> + + + + + <tr> + + + + + <td width="78%"><i>Action</i></td> + + + + + </tr> + + + + + <tr> + + + + + <td width="78%">Move to +upper-level(foundational) +ontology if required.</td> + + + + + </tr> + + + + + <tr> + + + + + <td width="20%">nrl:DescribingProperty</td> + + + + + <td width="78%"><i>Description</i></td> + + + + + </tr> + + + + + <tr> + + + + + <td rowspan="5" width="20%"> </td> + + + + + <td width="78%">This class defines a class +instance +to be descriptive rather than relational. Descriptive properties cannot +have an inverse. See also [<a href="http://www.w3.org/TR/2004/REC-owl-guide-20040210/#DefiningProperties">OWL +DatatypeProperty</a>]</td> + + + + + </tr> + + + + + <tr> + + + + + <td width="78%"><i>Reason</i></td> + + + + + </tr> + + + + + <tr> + + + + + <td width="78%">Distinction between descriptive +and +relational properties not required at this level.</td> + + + + + </tr> + + + + + <tr> + + + + + <td width="78%"><i>Action</i></td> + + + + + </tr> + + + + + <tr> + + + + + <td width="78%">Move to upper-level +(foundational) +ontology.</td> + + + + + </tr> + + + + + <tr> + + + + + <td width="20%">nrl:RelatingProperty</td> + + + + + <td width="78%"><i>Description</i></td> + + + + + </tr> + + + + + <tr> + + + + + <td rowspan="5" style="width: 20%;"> </td> + + + + + <td widdth="78%">This class defines a class +instance +to be relational rather than descriptive. Only relational properties +can have an inverse. See also [<a href="http://www.w3.org/TR/2004/REC-owl-guide-20040210/#DefiningProperties">OWL +ObjectProperty</a>]</td> + + + + + </tr> + + + + + <tr> + + + + + <td width="78%"><i>Reason</i></td> + + + + + </tr> + + + + + <tr> + + + + + <td width="78%">Distinction between descriptive +and +relational properties not required at this level.</td> + + + + + </tr> + + + + + <tr> + + + + + <td width="78%"><i>Action</i></td> + + + + + </tr> + + + + + <tr> + + + + + <td width="78%">Move to upper-level +(foundational) +ontology.</td> + + + + + </tr> + + + + + <tr> + + + + + <td width="20%">nrl:hasNamespace</td> + + + + + <td width="78%"><i>Description</i></td> + + + + + </tr> + + + + + <tr> + + + + + <td rowspan="5" width="20%"> </td> + + + + + <td width="78%">Specifies the standard namespace +for +an ontology with particular attention to the hash or slash problem.</td> + + + + + </tr> + + + + + <tr> + + + + + <td width="78%"><i>Reason</i></td> + + + + + </tr> + + + + + <tr> + + + + + <td width="78%">Not required at this level.</td> + + + + + </tr> + + + + + <tr> + + + + + <td width="78%"><i>Action</i></td> + + + + + </tr> + + + + + <tr> + + + + + <td width="78%">Move to Ontology Metadata Layer +provided semantics are clear.</td> + + + + + </tr> + + + + + <tr> + + + + + <td width="20%">nrl:hasNamespaceAbbreviation</td> + + + + + <td width="78%"><i>Description</i></td> + + + + + </tr> + + + + + <tr> + + + + + <td rowspan="5" width="20%"> </td> + + + + + <td width="78%">Provides a means to specify the +standard abbreviation for an ontology's namespace.</td> + + + + + </tr> + + + + + <tr> + + + + + <td width="78%"><i>Reason</i></td> + + + + + </tr> + + + + + <tr> + + + + + <td width="78%">Not required at this level.</td> + + + + + </tr> + + + + + <tr> + + + + + <td width="78%"><i>Action</i></td> + + + + + </tr> + + + + + <tr> + + + + + <td width="78%">Move to Ontology Metadata Layer +provided semantics are clear.</td> + + + + + </tr> + + + + + <tr> + + + + + <td width="20%">nrl:isDefinedBy</td> + + + + + <td width="78%"><i>Description</i></td> + + + + + </tr> + + + + + <tr> + + + + + <td rowspan="5" width="20%"> </td> + + + + + <td width="78%">A standard for stating which +ontology defines a ontology element, to enable more efficient queries.</td> + + + + + </tr> + + + + + <tr> + + + + + <td width="78%"><i>Reason</i></td> + + + + + </tr> + + + + + <tr> + + + + + <td width="78%">Not required at this level.</td> + + + + + </tr> + + + + + <tr> + + + + + <td width="78%"><i>Action</i></td> + + + + + </tr> + + + + + <tr> + + + + + <td width="78%">Move to Ontology Metadata Layer +provided semantics are clear.</td> + + + + + </tr> + + + + + <tr> + + + + + <td width="20%">nrl:directType</td> + + + + + <td width="78%"><i>Description</i></td> + + + + + </tr> + + + + + <tr> + + + + + <td rowspan="5" width="20%"> </td> + + + + + <td width="78%">Specifies that a type is a +direct +type and not a type resulting from transitivity.</td> + + + + + </tr> + + + + + <tr> + + + + + <td width="78%"><i>Reason</i></td> + + + + + </tr> + + + + + <tr> + + + + + <td width="78%">Not required since the +introduction of Graph Views.</td> + + + + + </tr> + + + + + <tr> + + + + + <td width="78%"><i>Action</i></td> + + + + + </tr> + + + + + <tr> + + + + + <td width="78%">Unclear</td> + + + + + </tr> + + + + + <tr> + + + + + <td width="20%">nrl:directSubClass</td> + + + + + <td width="78%"><i>Description</i></td> + + + + + </tr> + + + + + <tr> + + + + + <td rowspan="5" width="20%"> </td> + + + + + <td width="78%">Specifies a direct subclass of +some +class and not a subclass resulting from transitivity.</td> + + + + + </tr> + + + + + <tr> + + + + + <td width="78%"><i>Reason</i></td> + + + + + </tr> + + + + + <tr> + + + + + <td width="78%">Not required since the +introduction of Graph Views.</td> + + + + + </tr> + + + + + <tr> + + + + + <td width="78%"><i>Action</i></td> + + + + + </tr> + + + + + <tr> + + + + + <td width="78%">Unclear</td> + + + + + </tr> + + + + + <tr> + + + + + <td width="20%">nrl:directSubProperty</td> + + + + + <td width="78%"><i>Description</i></td> + + + + + </tr> + + + + + <tr> + + + + + <td rowspan="5" width="20%"> </td> + + + + + <td width="78%">Specifies a direct subproperty +of +some property and not a subproperty resulting from transitivity.</td> + + + + + </tr> + + + + + <tr> + + + + + <td width="78%"><i>Reason</i></td> + + + + + </tr> + + + + + <tr> + + + + + <td width="78%">Not required since the +introduction of Graph Views.</td> + + + + + </tr> + + + + + <tr> + + + + + <td width="78%"><i>Action</i></td> + + + + + </tr> + + + + + <tr> + + + + + <td width="78%">Unclear</td> + + + + + </tr> + + + + + <tr> + + + + + <td width="20%">nrl:altLabel</td> + + + + + <td width="78%"><i>Description</i></td> + + + + + </tr> + + + + + <tr> + + + + + <td rowspan="5" width="20%"> </td> + + + + + <td width="78%">The alternative labels for a +resource. A thesauri requirement in conjunction with [<a href="http://www.w3.org/TR/rdf-schema/#ch_label">rdfs:label</a>]. +See also [<a href="http://www.w3.org/TR/swbp-skos-core-spec/">skos:altLabel</a>]</td> + + + + + </tr> + + + + + <tr> + + + + + <td width="78%"><i>Reason</i></td> + + + + + </tr> + + + + + <tr> + + + + + <td width="78%">This is an annotation property.</td> + + + + + </tr> + + + + + <tr> + + + + + <td width="78%"><i>Action</i></td> + + + + + </tr> + + + + + <tr> + + + + + <td width="78%">Move to annotation ontology.</td> + + + + + </tr> + + + + + <tr> + + + + + <td width="20%">nrl:defaultValues</td> + + + + + <td width="78%"><i>Description</i></td> + + + + + </tr> + + + + + <tr> + + + + + <td rowspan="5" width="20%"> </td> + + + + + <td width="78%">The default value/s for a +property +assigned to instances of a class. Comparable to +Protégé's defaultValues slot attribute.</td> + + + + + </tr> + + + + + <tr> + + + + + <td width="78%"><i>Reason</i></td> + + + + + </tr> + + + + + <tr> + + + + + <td width="78%">Not required at this level.</td> + + + + + </tr> + + + + + <tr> + + + + + <td width="78%"><i>Action</i></td> + + + + + </tr> + + + + + <tr> + + + + + <td width="78%">Move to general view ontology.</td> + + + + + </tr> + + + + + <tr> + + + + + <td width="20%">nrl:hasPart</td> + + + + + <td width="78%"><i>Description</i></td> + + + + + </tr> + + + + + <tr> + + + + + <td rowspan="5" width="20%"> </td> + + + + + <td width="78%">This defines a resource as +having +a +subset resource. </td> + + + + + </tr> + + + + + <tr> + + + + + <td width="78%"><i>Reason</i></td> + + + + + </tr> + + + + + <tr> + + + + + <td width="78%">No clear formal semantics.</td> + + + + + </tr> + + + + + <tr> + + + + + <td width="78%"><i>Action</i></td> + + + + + </tr> + + + + + <tr> + + + + + <td width="78%">Exclude.</td> + + + + + </tr> + + + + + <tr> + + + + + <td width="20%">nrl:partOf</td> + + + + + <td width="78%"><i>Description</i></td> + + + + + </tr> + + + + + <tr> + + + + + <td rowspan="5" width="20%"> </td> + + + + + <td width="78%">This defines a resource as being +a +subset of another. </td> + + + + + </tr> + + + + + <tr> + + + + + <td width="78%"><i>Reason</i></td> + + + + + </tr> + + + + + <tr> + + + + + <td width="78%">No clear formal semantics.</td> + + + + + </tr> + + + + + <tr> + + + + + <td width="78%"><i>Action</i></td> + + + + + </tr> + + + + + <tr> + + + + + <td width="78%">Exclude.</td> + + + + + </tr> + + + + + <tr> + + + + + <td width="20%">nrl:hasTopic</td> + + + + + <td width="78%"><i>Description</i></td> + + + + + </tr> + + + + + <tr> + + + + + <td rowspan="5" width="20%"> </td> + + + + + <td width="78%">This states the topic of a +resource. +See also [<a href="http://www.w3.org/TR/swbp-skos-core-spec/">SKOS +isSubejctOf</a>]</td> + + + + + </tr> + + + + + <tr> + + + + + <td width="78%"><i>Reason</i></td> + + + + + </tr> + + + + + <tr> + + + + + <td width="78%">Not required at this level.</td> + + + + + </tr> + + + + + <tr> + + + + + <td width="78%"><i>Action</i></td> + + + + + </tr> + + + + + <tr> + + + + + <td width="78%">Move to annotation ontology.</td> + + + + + </tr> + + + + + <tr> + + + + + <td width="20%">nrl:isTopicOf</td> + + + + + <td width="78%"><i>Description</i></td> + + + + + </tr> + + + + + <tr> + + + + + <td rowspan="5" width="20%"> </td> + + + + + <td width="78%">This states the resource +attributed +to a topic. See also [<a href="http://www.w3.org/TR/swbp-skos-core-spec/">SKOS +isSubjectOf</a>]</td> + + + + + </tr> + + + + + <tr> + + + + + <td width="78%"><i>Reason</i></td> + + + + + </tr> + + + + + <tr> + + + + + <td width="78%">Not required at this level.</td> + + + + + </tr> + + + + + <tr> + + + + + <td width="78%"><i>Action</i></td> + + + + + </tr> + + + + + <tr> + + + + + <td width="78%">Move to annotation ontology.</td> + + + + + </tr> + + + + + <tr> + + + + + <td width="20%">nrl:occurrence</td> + + + + + <td width="78%"><i>Description</i></td> + + + + + </tr> + + + + + <tr> + + + + + <td rowspan="5" width="20%"> </td> + + + + + <td width="78%">This points to an instance of a +specific resource. See also [<a href="http://www.topicmaps.org/xtm/#desc-occurrence">Topic +Maps Occurences</a>] and [<a href="http://www.w3.org/TR/swbp-skos-core-spec/">SKOS +hasSubject</a>]</td> + + + + + </tr> + + + + + <tr> + + + + + <td width="78%"><i>Reason</i></td> + + + + + </tr> + + + + + <tr> + + + + + <td width="78%">No formal semantics.</td> + + + + + </tr> + + + + + <tr> + + + + + <td width="78%"><i>Action</i></td> + + + + + </tr> + + + + + <tr> + + + + + <td width="78%">Exclude.</td> + + + + + </tr> + + + + + <tr> + + + + + <td width="20%">nrl:isOccurenceOf</td> + + + + + <td width="78%"><i>Description</i></td> + + + + + </tr> + + + + + <tr> + + + + + <td rowspan="5" style="width: 20%;"> </td> + + + + + <td width="78%">This points to a resource +classifying this and other similar instances. See also [<a href="http://www.topicmaps.org/xtm/#desc-occurrence">Topic +Maps Occurences</a>] and [<a href="http://www.w3.org/TR/swbp-skos-core-spec/">SKOS +hasSubject</a>]</td> + + + + + </tr> + + + + + <tr> + + + + + <td width="78%"><i>Reason</i></td> + + + + + </tr> + + + + + <tr> + + + + + <td width="78%">No formal semantics.</td> + + + + + </tr> + + + + + <tr> + + + + + <td width="78%"><i>Action</i></td> + + + + + </tr> + + + + + <tr> + + + + + <td style="width: 100%;">Exclude.</td> + + + + + </tr> + + + + + + + + </tbody> +</table> + + + + +<h2><a class="mozTocH2" name="mozTocId225357"></a><a name="6._NRL_Semantics"></a>6. NRL +Semantics</h2> + + + + +<span style="font-style: italic;"><span style="font-weight: bold;">Note:</span> +The +Semantics of NRL will be formally specified at a later version of the +language.</span> +<dl> + + + + +</dl> + + + + +</div> + + + + +</div> + + + + +</div> + + + + +</div> + + + + +<div> +<h2><a class="mozTocH2" name="mozTocId501171"></a><a name="References"></a>References<br /> + + + + +</h2> + + + + +</div> + + + + +<span style="font-weight: bold;">[NAMED GRAPHS]</span> +<dl> + + + + + <dd><span style="font-weight: normal;"><a href="http://www2005.org/cdrom/docs/p613.pdf">Named Graphs, +Provenance and Trust</a>, </span><span style="font-weight: normal;">J. J. Carroll, C. Bizer, P. +Hayes and P. Stickler, Proceedings of WWW2005, May 2005, +Japan. </span></dd> + + + + + <dd><small><a style="font-family: Courier New,Courier,monospace;" href="http://www.w3.org/DesignIssues/Notation3">http://www.w3.org/2004/03/trix/</a></small><small><span style="font-family: Courier New;">.</span></small><span style="font-weight: bold;"></span><br /> + + + + + </dd> + + + + +</dl> + + + + +<div> +<dl> + + + + + <dt><span style="font-weight: bold;">[NOTATION3]</span></dt> + + + + + <dd><span style="font-weight: normal;"><a href="http://www.w3.org/DesignIssues/Notation3">A readable +language for data on the Web</a>. Tim Berners-Lee, Editor.</span></dd> + + + + + <dd><small><a style="font-family: Courier New,Courier,monospace;" href="http://www.w3.org/DesignIssues/Notation3">http://www.w3.org/DesignIssues/Notation3</a><span style="font-family: Courier New;"></span></small><small><span style="font-family: Courier New;">.</span></small><span style="font-weight: bold;"></span></dd> + + + + +</dl> + + + + +<dl> + + + + + <dt>[N-TRIPLES]<br /> + + + + + </dt> + + + + + <dd><cite></cite><a href="http://www.w3.org/TR/2004/REC-rdf-testcases-20040210/">N-Triples</a> +section in [<a href="#References">RDF +Specification - Tests</a>] </dd> + + + + +</dl> + + + + +<span style="font-weight: bold;">[OMV Report] +<br /> + + + + +</span> +<div style="margin-left: 40px;"><a href="http://ontoware.org/projects/omv/">Ontology Metadata +Vocabulary for the Semantic. Web</a>. Jens Hartmann (University +of Karlsruhe), Raul Palma (Universidad Politecnica de Madrid) and Elena +Paslaru Bontas (Free University of Berlin).<br /> + + + + +</div> + + + + +<div style="margin-left: 40px;"><small style="font-family: monospace;"><a href="http://ontoware.org/projects/omv/">http://ontoware.org/projects/omv/</a>.<br /> + + + + +<br /> + + + + +</small> +</div> + + + + +<span style="font-weight: bold;"> +[OWL +Overview] </span> +<div style="margin-left: 40px;"><cite></cite><a href="http://www.w3.org/TR/owl-features/">OWL +Web Ontology +Language Overview</a>.<cite> </cite>Deborah L. +McGuinness and Frank +van Harmelen, Editors, W3C Recommendation, 10 February 2004, <br /> + + + + +<small><span style="font-family: Courier New;"><a href="http://www.w3.org/TR/owl-features/">http://www.w3.org/TR/owl-features/</a>.</span></small><span style="font-weight: bold;"></span><br /> + + + + +</div> + + + + +<dl> + + + + + <dt>[RDF]</dt> + + + + + <dd><a href="http://www.w3.org/RDF/">Resource +Description Framework</a></dd> + + + + + <dt></dt> + + + + + <dt>[RDF Specification - PRIMER]</dt> + + + + + <dd><a href="http://www.w3.org/TR/rdf-primer/">RDF +Primer</a>, Frank Manola and Eric Miller, Editors, W3C +Recommendation, 10 February 2004, <font face="Courier New"> + <a href="http://www.w3.org/TR/2004/REC-rdf-primer-20040210/"><font size="2">http://www.w3.org/TR/2004/REC-rdf-primer-20040210/</font></a><font size="2">.</font></font></dd> + + + + + <dt></dt> + + + + + <dt>[RDF Specification - SYNTAX]</dt> + + + + + <dd><a href="http://www.w3.org/TR/rdf-syntax-grammar/">RDF/XML +Syntax Specification</a>, Dave Beckett, Editor, W3C +Recommendation, 10 February 2004, <font face="Courier New" size="2"> <a href="http://www.w3.org/TR/2004/REC-rdf-syntax-grammar-20040210/"> +http://www.w3.org/TR/2004/REC-rdf-syntax-grammar-20040210/</a>.</font></dd> + + + + + <dt></dt> + + + + + <dt>[RDF Specification - CONCEPTS]</dt> + + + + + <dd><a href="http://www.w3.org/TR/rdf-concepts/">Resource +Description Framework (RDF): Concepts and Abstract Syntax</a>, +Graham Klyne and Jeremy J. Carroll, Editors, W3C Recommendation, 10 +February 2004, </dd> + + + + + <dd><font face="Courier New" size="2"><a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/">http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/</a>.</font></dd> + + + + + <dt></dt> + + + + + <dt>[RDF Specification - SEMANTICS]</dt> + + + + + <dd><a href="http://www.w3.org/TR/rdf-mt/">RDF +Semantics</a>, Patrick Hayes, Editor, W3C Recommendation, 10 +February 2004, <font face="Courier New" size="2"> <a href="http://www.w3.org/TR/2004/REC-rdf-mt-20040210/"> +http://www.w3.org/TR/2004/REC-rdf-mt-20040210/</a>.</font></dd> + + + + + <dt></dt> + + + + + <dt>[RDF Specification - MS]</dt> + + + + + <dd><a href="http://www.w3.org/TR/1999/REC-rdf-syntax-19990222/">Resource +Description Framework (RDF) Model and Syntax</a>, W3C +Recommendation, 22 February 1999<br /> + + + + + <font face="Courier New" size="2"> <a href="http://www.w3.org/TR/1999/REC-rdf-syntax-19990222/">http://www.w3.org/TR/1999/REC-rdf-syntax-19990222/</a>.</font></dd> + + + + + <dt></dt> + + + + + <dt>[RDF Specification - TESTS]</dt> + + + + + <dd><a href="http://www.w3.org/TR/rdf-testcases/">RDF +Test Cases</a>, Jan Grant and Dave Beckett, Editors, W3C +Recommendation, 10 February 2004, <font face="Courier New" size="2"> <a href="http://www.w3.org/TR/2004/REC-rdf-testcases-20040210/"> +http://www.w3.org/TR/2004/REC-rdf-testcases-20040210/</a>.</font></dd> + + + + +</dl> + + + + +<dl> + + + + + <dt>[RDFS Specification]</dt> + + + + + <dd><a href="http://www.w3.org/TR/rdf-schema/">RDF +Vocabulary Description Language 1.0: RDF Schema</a>, Dan +Brickley, R.V. Guga, Brian McBride, W3C Recommendation, 10 February +2004, </dd> + + + + + <dd><font face="Courier New"><a href="http://www.w3.org/TR/2004/REC-rdf-primer-20040210/"><font size="2">http://www.w3.org/TR/2004/REC-rdf-primer-20040210/</font></a><font size="2">.</font></font></dd> + + + + +</dl> + + + + +<span style="font-weight: bold;">[SPARQL-QUERY]</span><cite><br /> + + + + +</cite> +<div style="margin-left: 40px;"><cite style="font-style: italic;"></cite><span style="font-style: italic;"></span><a href="http://www.w3.org/TR/2005/WD-rdf-sparql-query-20051123/">SPARQL +Query Language for RDF</a>, +E. Prud'hommeaux, A. Seaborne, Editors. World Wide Web Consortium. 23 +November 2005. Work in progress. This version is +http://www.w3.org/TR/2005/WD-rdf-sparql-query-20051123/. </div> + + + + +<div style="margin-left: 40px;"><small style="font-family: Courier New,Courier,monospace;"><a href="http://www.w3.org/TR/rdf-sparql-query/">http://www.w3.org/TR/rdf-sparql-query/</a></small><small><span style="font-family: Courier New;">.</span></small><br /> + + + + +</div> + + + + +<small style="font-weight: bold;"><span style="font-family: Courier New;"></span></small><br /> + + + + +<span style="font-weight: bold;">[TRIG]<br /> + + + + +</span> +<div style="margin-left: 40px;"><span style="font-weight: bold;"></span><small><span style="font-family: Courier New;"></span></small><a style="font-weight: normal;" href="http://www.wiwiss.fu-berlin.de/suhl/bizer/TriG/">TriG +Syntax</a><span style="font-weight: normal;">, Chris +Bizer, Freie Universität Berlin extends Turtle to serialise [<a href="#References">NAMED GRAPHS</a>] <br /> + + + + +</span><small><a style="font-family: monospace;" href="http://sites.wiwiss.fu-berlin.de/suhl/bizer/TriG/">http://sites.wiwiss.fu-berlin.de/suhl/bizer/TriG/</a></small><small><span style="font-family: Courier New;">.</span></small></div> + + + + +<span style="font-weight: bold;"></span><span style="font-weight: bold;"></span><span style="font-weight: bold;"></span><small><span style="font-family: Courier New;"></span></small><span style="font-weight: bold;"></span> +<dl> + + + + + <dt><span style="font-weight: bold;">[TURTLE]</span></dt> + + + + + <dd><a href="http://www.dajobe.org/2004/01/turtle/">Terse +- RDF Triple language</a>. Dave Beckett, Editor. 04 December 2004.</dd> + + + + + <dd><small><a style="font-family: monospace;" href="http://www.dajobe.org/2004/01/turtle/">http://www.dajobe.org/2004/01/turtle/</a></small><small><span style="font-family: Courier New;">.</span></small></dd> + + + + + <dt></dt> + + + + +</dl> + + + + +<hr style="width: 100%; height: 2px;" /><span style="font-family: Courier New;"></span> +<dl> + + + + + <dd> + + + + <dl> + + + + + + + + </dl> + + + + + </dd> + + + + +</dl> + + + + +</div> diff --git a/nrl/nrl.trig b/nrl/nrl.trig new file mode 100644 index 0000000..909cb7d --- /dev/null +++ b/nrl/nrl.trig @@ -0,0 +1,291 @@ +@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . +@prefix nao: <http://www.semanticdesktop.org/ontologies/2007/08/15/nao#> . +@prefix nrl: <http://www.semanticdesktop.org/ontologies/2007/08/15/nrl#> . +@prefix xsd: <http://www.w3.org/2001/XMLSchema#> . +@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . + +<http://www.semanticdesktop.org/ontologies/2007/08/15/nrl> { + nrl:imports + a rdf:Property ; + rdfs:comment "Models a subsumption relationship between two graphs, stating that the object graph is imported and included in the subject graph" ; + rdfs:domain nrl:Data ; + rdfs:label "imports" ; + rdfs:range nrl:Data ; + rdfs:subPropertyOf nrl:superGraphOf . + + nrl:ruleLanguage + a rdf:Property ; + rdfs:comment "Specifies the rule language for a view specification that is driven by rules" ; + rdfs:domain nrl:RuleViewSpecification ; + rdfs:label "ruleLanguage" ; + rdfs:range rdfs:Literal . + + nrl:cardinality + a rdf:Property ; + rdfs:comment "Specifies the precise value cardinality for a specific property" ; + rdfs:domain rdf:Property ; + rdfs:label "cardinality" ; + rdfs:range rdfs:Literal . + + nrl:InverseFunctionalProperty + a rdfs:Class ; + rdfs:comment "A marker class to identify inverse functional properties" ; + rdfs:label "InverseFunctionalProperty" ; + rdfs:subClassOf rdfs:Resource . + + nrl:Graph + a rdfs:Class ; + rdfs:comment "Represents a named graph" ; + rdfs:label "Graph" ; + rdfs:subClassOf rdfs:Resource . + + nrl:hasSpecification + a rdf:Property ; + rdfs:comment "Points to the representation of the view specification required to generate the graph view in question" ; + rdfs:domain nrl:GraphView ; + rdfs:label "hasSpecification" ; + rdfs:range nrl:ViewSpecification . + + nrl:DocumentGraph + a rdfs:Class ; + rdfs:comment "A marker class to identify named graphs that exist within a physical document" ; + rdfs:label "DocumentGraph" ; + rdfs:subClassOf nrl:Graph . + + nrl:coreGraphMetadataFor + a rdf:Property , nrl:InverseFunctionalProperty ; + rdfs:subPropertyOf nrl:graphMetadataFor ; + rdfs:comment "Links a metadata graph to the graph for which it specifies the core graph properties including the semantics and the graph namespace. A graph can have only one unique core metadata graph" ; + rdfs:domain nrl:GraphMetadata ; + rdfs:label "coreGraphMetadataFor" ; + rdfs:range nrl:Graph . + + nrl:TransitiveProperty + a rdfs:Class ; + rdfs:comment "A marker class to identify transitive properties" ; + rdfs:label "TransitiveProperty" ; + rdfs:subClassOf rdfs:Resource . + + nrl:FunctionalProperty + a rdfs:Class ; + rdfs:comment "A marker class to identify functional properties" ; + rdfs:label "FunctionalProperty" ; + rdfs:subClassOf rdfs:Resource . + + nrl:KnowledgeBase + a rdfs:Class ; + rdfs:comment "Represents a named graph containing both schematic and instance data" ; + rdfs:label "KnowledgeBase" ; + rdfs:subClassOf nrl:Ontology , nrl:InstanceBase . + + nrl:externalRealizer + a rdf:Property ; + rdfs:comment "Points to the location of the realizer for the external view specification" ; + rdfs:domain nrl:ExternalViewSpecification ; + rdfs:label "externalRealizer" ; + rdfs:range rdfs:Literal . + + nrl:subGraphOf + a rdf:Property ; + rdfs:comment "Specifies a containment relationship between two graphs, meaning that the subject graph is included in the object graph" ; + rdfs:domain nrl:Graph ; + rdfs:label "subGraphOf" ; + rdfs:range nrl:Graph ; + nrl:inverseProperty nrl:superGraphOf . + + nrl:Configuration + a rdfs:Class ; + rdfs:comment "Represents a named graph containing configuration data" ; + rdfs:label "Configuration" ; + rdfs:subClassOf nrl:Data . + + nrl:ViewSpecification + a rdfs:Class ; + rdfs:comment "Represents a specification of the means to achieve a transformation of an input graph into the required graph view" ; + rdfs:label "ViewSpecification" ; + rdfs:subClassOf rdfs:Resource . + + nrl:hasSemantics + a rdf:Property ; + rdfs:comment "Points to a representation of the declarative semantics for a graph role" ; + rdfs:domain nrl:Data ; + rdfs:label "hasSemantics" ; + rdfs:range nrl:Semantics . + + nrl:ExternalViewSpecification + a rdfs:Class ; + rdfs:comment "Represents an external view specification, this usually being a program which automatically generates the required view for an input graph" ; + rdfs:label "ExternalViewSpecification" ; + rdfs:subClassOf nrl:ViewSpecification . + + nrl:DefaultGraph + a nrl:Graph ; + rdfs:comment "Represents the default graph, the graph which contains any triple that does not belong to any other named graph" ; + rdfs:label "DefaultGraph" . + + nrl:updatable + a rdf:Property ; + rdfs:comment "A core graph metadata property, this defines whether a graph can be freely updated '1' or otherwise '0'" ; + rdfs:domain nrl:Graph ; + rdfs:label "updatable" ; + rdfs:range xsd:boolean ; + nrl:maxCardinality "1"^^xsd:nonNegativeInteger . + + nrl:Semantics + a rdfs:Class ; + rdfs:comment "Represents some declarative semantics" ; + rdfs:label "Semantics" ; + rdfs:subClassOf rdfs:Resource . + + nrl:equivalentGraph + a rdf:Property , nrl:SymmetricProperty ; + rdfs:comment "Links two equivalent named graphs. A symmetric property" ; + rdfs:domain nrl:Graph ; + rdfs:label "equivalentGraph" ; + rdfs:range nrl:Graph . + + nrl:ReflexiveProperty + a rdfs:Class ; + rdfs:comment "A marker class to identify reflexive properties" ; + rdfs:label "ReflexiveProperty" ; + rdfs:subClassOf rdfs:Resource . + + nrl:AsymmetricProperty + a rdfs:Class ; + rdfs:comment "A marker class to identify asymmetric properties" ; + rdfs:label "AsymmetricProperty" ; + rdfs:subClassOf rdfs:Resource . + + nrl:maxCardinality + a rdf:Property ; + rdfs:comment "Specifies a maximum value cardinality for a specific property" ; + rdfs:domain rdf:Property ; + rdfs:label "maxCardinality" ; + rdfs:range rdfs:Literal . + + nrl:viewOn + a rdf:Property ; + rdfs:comment "Points to a graph view over the subject named graph" ; + rdfs:domain nrl:GraphView ; + rdfs:label "viewOn" ; + rdfs:range nrl:Graph . + + nrl:SymmetricProperty + a rdfs:Class ; + rdfs:comment "A marker class to identify symmetric properties" ; + rdfs:label "SymmetricProperty" ; + rdfs:subClassOf rdfs:Resource . + + nrl:superGraphOf + a rdf:Property ; + rdfs:comment "Specifies a subsumption relationship between two graphs, meaning that the object graph is included in the subject graph" ; + rdfs:domain nrl:Graph ; + rdfs:label "superGraphOf" ; + rdfs:range nrl:Graph ; + nrl:inverseProperty nrl:subGraphOf . + + nrl:Ontology + a rdfs:Class ; + rdfs:comment "Represents a named graph having the role of an Ontology" ; + rdfs:label "Ontology" ; + rdfs:subClassOf nrl:Schema . + + nrl:realizes + a rdf:Property ; + rdfs:comment "Points to a representation of the declarative semantics that the view specification realizes" ; + rdfs:domain nrl:ViewSpecification ; + rdfs:label "realizes" ; + rdfs:range nrl:Semantics . + + nrl:minCardinality + a rdf:Property ; + rdfs:comment "Specifies a minimum value cardinality for a specific property" ; + rdfs:domain rdf:Property ; + rdfs:label "minCardinality" ; + rdfs:range rdfs:Literal . + + nrl:rule + a rdf:Property ; + rdfs:comment "Specifies rules for a view specification that is driven by rules" ; + rdfs:domain nrl:RuleViewSpecification ; + rdfs:label "rule" ; + rdfs:range rdfs:Literal . + + nrl:InstanceBase + a rdfs:Class ; + rdfs:comment "Represents a named graph containing instance data" ; + rdfs:label "InstanceBase" ; + rdfs:subClassOf nrl:Data . + + nrl:RuleViewSpecification + a rdfs:Class ; + rdfs:comment "Represents a view specification that is composed of a set of rules which generate the required view from the input graph upon firing" ; + rdfs:label "RuleViewSpecification" ; + rdfs:subClassOf nrl:ViewSpecification . + + nrl:semanticsDefinedBy + a rdf:Property ; + rdfs:comment "Points to the human readable specifications for a representation of some declarative semantics" ; + rdfs:domain nrl:Semantics ; + rdfs:label "semanticsDefinedBy" ; + rdfs:range rdfs:Resource . + + nrl:GraphMetadata + a rdfs:Class ; + rdfs:comment "Represents a special named graph that contains metadata for another graph" ; + rdfs:label "GraphMetadata" ; + rdfs:subClassOf nrl:Data . + + nrl:graphMetadataFor + a rdf:Property ; + rdfs:comment "Links a metadata graph to the graph that is being described. A unique value is compulsory" ; + rdfs:domain nrl:GraphMetadata ; + rdfs:label "graphMetadataFor" ; + rdfs:range nrl:Graph ; + nrl:minCardinality "1"^^xsd:nonNegativeInteger . + + nrl:GraphView + a rdfs:Class ; + rdfs:comment "Identifies a graph which is itself a view of another named graph" ; + rdfs:label "GraphView" ; + rdfs:subClassOf nrl:Graph . + + nrl:Data + a rdfs:Class ; + rdfs:comment "An abstract class representing all named graph roles" ; + rdfs:label "Data" ; + rdfs:subClassOf nrl:Graph . + + nrl:inverseProperty + a rdf:Property ; + rdfs:comment "Links two properties and specifies their inverse behaviour" ; + rdfs:domain rdf:Property ; + rdfs:label "inverseProperty" ; + rdfs:range rdf:Property . + + nrl:Schema + a rdfs:Class ; + rdfs:comment "Represents a named graph containing schematic data" ; + rdfs:label "Schema" ; + rdfs:subClassOf nrl:Data . +} + +<http://www.semanticdesktop.org/ontologies/2007/08/15/nrl/metadata> +{ + <http://www.semanticdesktop.org/ontologies/2007/08/15/nrl> + a nrl:DocumentGraph , nrl:KnowledgeBase ; + nao:hasDefaultNamespace "http://www.semanticdesktop.org/ontologies/2007/08/15/nrl#" ; + nao:hasDefaultNamespaceAbbreviation "nrl" ; + nao:lastModified "2007-08-22T13:38:32.866Z" ; + nao:serializationLanguage "TriG" ; + nao:status "Testing" ; + nrl:updatable "0" ; + nao:version "2" . + + <http://www.semanticdesktop.org/ontologies/2007/08/15/nrl/metadata> + a nrl:GraphMetadata , nrl:DocumentGraph ; + nao:serializationLanguage "TriG" ; + nrl:coreGraphMetadataFor <http://www.semanticdesktop.org/ontologies/2007/08/15/nrl> . + +} + |