summaryrefslogtreecommitdiff
path: root/src/ontologies
diff options
context:
space:
mode:
authorMartyn Russell <martyn@lanedo.com>2014-10-20 15:48:05 +0100
committerMartyn Russell <martyn@lanedo.com>2014-10-20 15:48:05 +0100
commit668537e654af4442b760deb02cbb54e7dc50b2e9 (patch)
tree3453e8fa57595e15bc57e34f27eeb2d822b96bb9 /src/ontologies
parent7c94200bcc012c016ccfd92b5093b4f18c8c2d91 (diff)
parentf22c5d6a5dcbd6a849e60fe29374d9b004af40c8 (diff)
downloadtracker-668537e654af4442b760deb02cbb54e7dc50b2e9.tar.gz
Merge branch 'data-in-binary-dirs'
Diffstat (limited to 'src/ontologies')
-rw-r--r--src/ontologies/10-xsd.description17
-rw-r--r--src/ontologies/10-xsd.ontology16
-rw-r--r--src/ontologies/11-rdf.description12
-rw-r--r--src/ontologies/11-rdf.ontology135
-rw-r--r--src/ontologies/12-nrl.description12
-rw-r--r--src/ontologies/12-nrl.ontology18
-rw-r--r--src/ontologies/20-dc.description13
-rw-r--r--src/ontologies/20-dc.ontology119
-rw-r--r--src/ontologies/30-nie.description20
-rw-r--r--src/ontologies/30-nie.ontology280
-rw-r--r--src/ontologies/31-nao.description29
-rw-r--r--src/ontologies/31-nao.ontology92
-rw-r--r--src/ontologies/32-nco.description27
-rw-r--r--src/ontologies/32-nco.ontology777
-rw-r--r--src/ontologies/33-nfo.description26
-rw-r--r--src/ontologies/33-nfo.ontology1081
-rw-r--r--src/ontologies/34-nmo.description27
-rw-r--r--src/ontologies/34-nmo.ontology548
-rw-r--r--src/ontologies/35-ncal.description25
-rw-r--r--src/ontologies/35-ncal.ontology975
-rw-r--r--src/ontologies/36-scal.description12
-rw-r--r--src/ontologies/36-scal.ontology483
-rw-r--r--src/ontologies/37-nid3.description12
-rw-r--r--src/ontologies/37-nid3.ontology90
-rw-r--r--src/ontologies/38-nmm.description16
-rw-r--r--src/ontologies/38-nmm.ontology550
-rw-r--r--src/ontologies/39-mto.description16
-rw-r--r--src/ontologies/39-mto.ontology162
-rw-r--r--src/ontologies/40-mlo.description14
-rw-r--r--src/ontologies/40-mlo.ontology359
-rw-r--r--src/ontologies/41-mfo.description16
-rw-r--r--src/ontologies/41-mfo.ontology202
-rw-r--r--src/ontologies/89-mtp.description13
-rw-r--r--src/ontologies/89-mtp.ontology86
-rw-r--r--src/ontologies/90-tracker.description13
-rw-r--r--src/ontologies/90-tracker.ontology75
-rw-r--r--src/ontologies/91-maemo.description13
-rw-r--r--src/ontologies/91-maemo.ontology115
-rw-r--r--src/ontologies/92-slo.description14
-rw-r--r--src/ontologies/92-slo.ontology265
-rw-r--r--src/ontologies/93-libosinfo.description13
-rw-r--r--src/ontologies/93-libosinfo.ontology34
-rw-r--r--src/ontologies/Indices.list102
-rw-r--r--src/ontologies/Makefile.am35
44 files changed, 6959 insertions, 0 deletions
diff --git a/src/ontologies/10-xsd.description b/src/ontologies/10-xsd.description
new file mode 100644
index 000000000..18ede47a9
--- /dev/null
+++ b/src/ontologies/10-xsd.description
@@ -0,0 +1,17 @@
+@prefix dsc: <http://www.tracker-project.org/temp/dsc#> .
+
+<virtual-ontology-uri:10-xsd.ontology> a dsc:Ontology ;
+ dsc:title "XML schema (XSD)" ;
+ dsc:description "Basic types definitions (int, double,...)" ;
+
+ dsc:author "W3C XML Schema Working group" ;
+ dsc:editor "David C. Fallside, IBM &lt;fallside@us.ibm.com&gt;";
+ dsc:editor "Priscilla Walmsley &lt;pwalmsley@datypic.com&gt; - Second Edition";
+ dsc:editor "Tracker developers (translation into turtle)" ;
+ dsc:gitlog "http://git.gnome.org/cgit/tracker/log/src/ontologies/10-xsd.ontology";
+
+ dsc:localPrefix "xsd" ;
+ dsc:baseUrl "http://www.w3.org/2001/XMLSchema#" ;
+ dsc:relativePath "./10-xsd.ontology" ;
+
+ dsc:copyright "&copy; 2004 <ulink url=\"http://www.w3.org/\">W3C</ulink><superscript>&#xae;</superscript> (<ulink url=\"http://www.csail.mit.edu/\">MIT</ulink>, <ulink url=\"http://www.ercim.org/\">ERCIM</ulink>, <ulink url=\"http://www.keio.ac.jp/\">Keio</ulink>), All Rights Reserved. W3C <ulink url=\"http://www.w3.org/Consortium/Legal/ipr-notice#Legal_Disclaimer\">liability</ulink>, <ulink url=\"http://www.w3.org/Consortium/Legal/ipr-notice#W3C_Trademarks\">trademark</ulink> and <ulink url=\"http://www.w3.org/Consortium/Legal/copyright-documents\">document use</ulink>" .
diff --git a/src/ontologies/10-xsd.ontology b/src/ontologies/10-xsd.ontology
new file mode 100644
index 000000000..c22c5fd2b
--- /dev/null
+++ b/src/ontologies/10-xsd.ontology
@@ -0,0 +1,16 @@
+@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
+@prefix tracker: <http://www.tracker-project.org/ontologies/tracker#> .
+@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
+@prefix nao: <http://www.semanticdesktop.org/ontologies/2007/08/15/nao#> .
+
+xsd: a tracker:Namespace, tracker:Ontology ;
+ tracker:prefix "xsd" ;
+ nao:lastModified "2010-02-16T11:00:00Z" .
+
+xsd:string a rdfs:Class .
+xsd:boolean a rdfs:Class .
+xsd:integer a rdfs:Class .
+xsd:double a rdfs:Class .
+xsd:date a rdfs:Class .
+xsd:dateTime a rdfs:Class .
+
diff --git a/src/ontologies/11-rdf.description b/src/ontologies/11-rdf.description
new file mode 100644
index 000000000..2643af27f
--- /dev/null
+++ b/src/ontologies/11-rdf.description
@@ -0,0 +1,12 @@
+@prefix dsc: <http://www.tracker-project.org/temp/dsc#> .
+
+<virtual-ontology-uri:11-rdf.ontology> a dsc:Ontology ;
+ dsc:title "Resource Description Framework (RDF)" ;
+ dsc:description "Core RDF classes to keep the internal consistency of the ontology" ;
+ dsc:author "W3C" ;
+ dsc:editor "Tracker developers (translation into turtle)" ;
+ dsc:gitlog "http://git.gnome.org/cgit/tracker/log/src/ontologies/11-rdf.ontology";
+
+ dsc:localPrefix "rdf" ;
+ dsc:baseUrl "http://www.w3.org/2000/01/rdf-schema#" ;
+ dsc:relativePath "./11-rdf.ontology" .
diff --git a/src/ontologies/11-rdf.ontology b/src/ontologies/11-rdf.ontology
new file mode 100644
index 000000000..869f73e09
--- /dev/null
+++ b/src/ontologies/11-rdf.ontology
@@ -0,0 +1,135 @@
+@prefix nrl: <http://www.semanticdesktop.org/ontologies/2007/08/15/nrl#> .
+@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
+@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
+@prefix tracker: <http://www.tracker-project.org/ontologies/tracker#> .
+@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
+@prefix nao: <http://www.semanticdesktop.org/ontologies/2007/08/15/nao#> .
+
+rdf: a tracker:Namespace, tracker:Ontology ;
+ tracker:prefix "rdf" ;
+ nao:lastModified "2011-01-31T15:00:00Z" .
+
+rdfs: a tracker:Namespace ;
+ tracker:prefix "rdfs" .
+
+rdfs:Resource a rdfs:Class ;
+ rdfs:label "All Resources" ;
+ rdfs:comment "All resources" .
+
+rdfs:Class a rdfs:Class ;
+ rdfs:label "Class" ;
+ rdfs:subClassOf rdfs:Resource .
+
+rdf:Property a rdfs:Class ;
+ rdfs:label "Property" ;
+ rdfs:subClassOf rdfs:Resource .
+
+rdfs:Literal a rdfs:Class ;
+ rdfs:label "Literal" ;
+ rdfs:subClassOf rdfs:Resource .
+
+rdf:type a rdf:Property ;
+ rdfs:domain rdfs:Resource ;
+ rdfs:range rdfs:Class .
+
+rdfs:subClassOf a rdf:Property ;
+ rdfs:domain rdfs:Class ;
+ rdfs:range rdfs:Class .
+
+rdfs:subPropertyOf a rdf:Property ;
+ rdfs:domain rdf:Property ;
+ rdfs:range rdf:Property .
+
+rdfs:comment a rdf:Property ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain rdfs:Resource ;
+ rdfs:range xsd:string .
+
+rdfs:label a rdf:Property ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain rdfs:Resource ;
+ rdfs:range xsd:string .
+
+rdfs:domain a rdf:Property ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain rdf:Property ;
+ rdfs:range rdfs:Resource .
+
+rdfs:range a rdf:Property ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain rdf:Property ;
+ rdfs:range rdfs:Class .
+
+tracker: a tracker:Namespace ;
+ tracker:prefix "tracker" .
+
+tracker:Namespace a rdfs:Class ;
+ rdfs:label "Namespace" ;
+ rdfs:subClassOf rdfs:Resource .
+
+tracker:Ontology a rdfs:Class ;
+ rdfs:label "Ontology" ;
+ rdfs:subClassOf rdfs:Resource .
+
+tracker:prefix a rdf:Property ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain tracker:Namespace ;
+ rdfs:range xsd:string .
+
+tracker:domainIndex a rdf:Property ;
+ rdfs:domain rdfs:Class ;
+ rdfs:range rdf:Property .
+
+tracker:indexed a rdf:Property ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain rdf:Property ;
+ rdfs:range xsd:boolean .
+
+tracker:secondaryIndex a rdf:Property ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain rdf:Property ;
+ rdfs:range rdf:Property .
+
+tracker:fulltextIndexed a rdf:Property ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain rdf:Property ;
+ rdfs:range xsd:boolean .
+
+tracker:fulltextNoLimit a rdf:Property ;
+ nrl:maxCardinality 1 ;
+ rdfs:comment "tracker:fulltextNoLimit is deprecated, no word length limits are imposed on FTS" ;
+ rdfs:domain rdf:Property ;
+ rdfs:range xsd:boolean .
+
+tracker:transient a rdf:Property ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain rdf:Property ;
+ rdfs:range xsd:boolean .
+
+tracker:weight a rdf:Property ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain rdf:Property ;
+ rdfs:range xsd:integer .
+
+tracker:defaultValue a rdf:Property ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain rdf:Property ;
+ rdfs:range xsd:string .
+
+tracker:added a rdf:Property ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain rdfs:Resource ;
+ rdfs:range xsd:dateTime ;
+ tracker:indexed true .
+
+# implicitly updated modification time
+tracker:modified a rdf:Property ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain rdfs:Resource ;
+ rdfs:range xsd:integer .
+
+# used to track resources that have been partially restored and require reextraction
+tracker:damaged a rdf:Property ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain rdfs:Resource ;
+ rdfs:range xsd:boolean .
diff --git a/src/ontologies/12-nrl.description b/src/ontologies/12-nrl.description
new file mode 100644
index 000000000..44a43b215
--- /dev/null
+++ b/src/ontologies/12-nrl.description
@@ -0,0 +1,12 @@
+@prefix dsc: <http://www.tracker-project.org/temp/dsc#> .
+
+<virtual-ontology-uri:12-nrl.ontology> a dsc:Ontology ;
+ dsc:title "Nepomuk Resource Language (NRL)" ;
+ dsc:description "Properties describing the ontologies.";
+ dsc:author "Nepomuk People" ;
+ dsc:editor "Tracker developers (translation into turtle)" ;
+ dsc:gitlog "http://git.gnome.org/cgit/tracker/log/src/ontologies/12-nrl.ontology";
+
+ dsc:localPrefix "nrl" ;
+ dsc:baseUrl "http://www.semanticdesktop.org/ontologies/2007/08/15/nrl#" ;
+ dsc:relativePath "./12-nrl.ontology" .
diff --git a/src/ontologies/12-nrl.ontology b/src/ontologies/12-nrl.ontology
new file mode 100644
index 000000000..381e0c39c
--- /dev/null
+++ b/src/ontologies/12-nrl.ontology
@@ -0,0 +1,18 @@
+@prefix nrl: <http://www.semanticdesktop.org/ontologies/2007/08/15/nrl#> .
+@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
+@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
+@prefix tracker: <http://www.tracker-project.org/ontologies/tracker#> .
+@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
+@prefix nao: <http://www.semanticdesktop.org/ontologies/2007/08/15/nao#> .
+
+nrl: a tracker:Namespace, tracker:Ontology ;
+ tracker:prefix "nrl" ;
+ nao:lastModified "2010-02-16T11:00:00Z" .
+
+nrl:InverseFunctionalProperty a rdfs:Class .
+
+nrl:maxCardinality a rdf:Property ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain rdf:Property ;
+ rdfs:range xsd:integer .
+
diff --git a/src/ontologies/20-dc.description b/src/ontologies/20-dc.description
new file mode 100644
index 000000000..64c4b590c
--- /dev/null
+++ b/src/ontologies/20-dc.description
@@ -0,0 +1,13 @@
+@prefix dsc: <http://www.tracker-project.org/temp/dsc#> .
+
+<virtual-ontology-uri:20-dc.description> a dsc:Ontology ;
+ dsc:title "Dublin Core metadata (DC)" ;
+ dsc:description "Common superproperties for documents" ;
+
+ dsc:author "Dublin Core consortium" ;
+ dsc:editor "Tracker developers (translation into turtle)" ;
+ dsc:gitlog "http://git.gnome.org/cgit/tracker/log/src/ontologies/20-dc.ontology";
+
+ dsc:localPrefix "dc" ;
+ dsc:baseUrl "http://purl.org/dc/elements/1.1/";
+ dsc:relativePath "./20-dc.ontology" .
diff --git a/src/ontologies/20-dc.ontology b/src/ontologies/20-dc.ontology
new file mode 100644
index 000000000..c50187d91
--- /dev/null
+++ b/src/ontologies/20-dc.ontology
@@ -0,0 +1,119 @@
+@prefix dc: <http://purl.org/dc/elements/1.1/> .
+@prefix nrl: <http://www.semanticdesktop.org/ontologies/2007/08/15/nrl#> .
+@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
+@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
+@prefix tracker: <http://www.tracker-project.org/ontologies/tracker#> .
+@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
+@prefix nao: <http://www.semanticdesktop.org/ontologies/2007/08/15/nao#> .
+
+dc: a tracker:Namespace, tracker:Ontology ;
+ tracker:prefix "dc" ;
+ nao:lastModified "2010-02-16T11:00:00Z" .
+
+dc:title a rdf:Property ;
+ rdfs:label "Title" ;
+ rdfs:comment "A name given to the resource." ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain rdfs:Resource ;
+ rdfs:range xsd:string ;
+ tracker:weight 10 .
+
+dc:creator a rdf:Property ;
+ rdfs:label "Creator" ;
+ rdfs:comment "An entity primarily responsible for making the resource." ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain rdfs:Resource ;
+ rdfs:range xsd:string ;
+ tracker:weight 4 .
+
+dc:subject a rdf:Property ;
+ rdfs:label "Subject" ;
+ rdfs:comment "The topic of the resource." ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain rdfs:Resource ;
+ rdfs:range xsd:string ;
+ tracker:weight 5 .
+
+dc:description a rdf:Property ;
+ rdfs:label "Description" ;
+ rdfs:comment "An account of the resource." ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain rdfs:Resource ;
+ rdfs:range xsd:string ;
+ tracker:weight 3 .
+
+dc:publisher a rdf:Property ;
+ rdfs:label "Publisher" ;
+ rdfs:comment "An entity responsible for making the resource available." ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain rdfs:Resource ;
+ rdfs:range xsd:string ;
+ tracker:weight 4 .
+
+dc:contributor a rdf:Property ;
+ rdfs:label "Contributor" ;
+ rdfs:comment "An entity responsible for making contributions to the resource." ;
+ rdfs:domain rdfs:Resource ;
+ rdfs:range xsd:string ;
+ tracker:weight 4 .
+
+dc:date a rdf:Property ;
+ rdfs:label "Date" ;
+ rdfs:comment "A point or period of time associated with an event in the lifecycle of the resource." ;
+ rdfs:domain rdfs:Resource ;
+ rdfs:range xsd:dateTime .
+
+dc:type a rdf:Property ;
+ rdfs:label "Type" ;
+ rdfs:comment "The nature or genre of the resource." ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain rdfs:Resource ;
+ rdfs:range xsd:string .
+
+dc:format a rdf:Property ;
+ rdfs:label "Format" ;
+ rdfs:comment "The file format, physical medium, or dimensions of the resource." ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain rdfs:Resource ;
+ rdfs:range xsd:string .
+
+dc:identifier a rdf:Property ;
+ rdfs:label "Identifier" ;
+ rdfs:comment "An unambiguous reference to the resource within a given context." ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain rdfs:Resource ;
+ rdfs:range xsd:string .
+
+dc:source a rdf:Property ;
+ rdfs:label "Source" ;
+ rdfs:comment "A related resource from which the described resource is derived." ;
+ rdfs:domain rdfs:Resource ;
+ rdfs:range rdfs:Resource .
+
+dc:language a rdf:Property ;
+ rdfs:label "Language" ;
+ rdfs:comment "A language of the resource." ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain rdfs:Resource ;
+ rdfs:range xsd:string .
+
+dc:relation a rdf:Property ;
+ rdfs:label "Relation" ;
+ rdfs:comment "A related resource." ;
+ rdfs:domain rdfs:Resource ;
+ rdfs:range xsd:string .
+
+dc:coverage a rdf:Property ;
+ rdfs:label "Coverage" ;
+ rdfs:comment "The spatial or temporal topic of the resource, the spatial applicability of the resource, or the jurisdiction under which the resource is relevant." ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain rdfs:Resource ;
+ rdfs:range xsd:string .
+
+dc:rights a rdf:Property ;
+ rdfs:label "Rights" ;
+ rdfs:comment "Information about rights held in and over the resource." ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain rdfs:Resource ;
+ rdfs:range xsd:string .
+
diff --git a/src/ontologies/30-nie.description b/src/ontologies/30-nie.description
new file mode 100644
index 000000000..9d123ca89
--- /dev/null
+++ b/src/ontologies/30-nie.description
@@ -0,0 +1,20 @@
+@prefix dsc: <http://www.tracker-project.org/temp/dsc#> .
+
+<virtual-ontology-uri:30-nie.ontology> a dsc:Ontology ;
+ dsc:title "Nepomuk Information Element (NIE)" ;
+ dsc:description "Top classes in the ontology. Almost everything else is subclass of these." ;
+ dsc:upstream "http://www.semanticdesktop.org/ontologies/nie/";
+ dsc:author "Antoni Mylka, DFKI, &lt;antoni.mylka@dfki.de&gt;";
+ dsc:author "Leo Sauermann, DFKI, &lt;leo.sauermann@dfki.de&gt;";
+ dsc:author "Michael Sintek, DFKI, &lt;michael.sintek@dfki.de&gt;";
+ dsc:author "Ludger van Elst, DFKI, &lt;elst@dfki.uni-kl.de&gt;";
+ dsc:editor "Antoni Mylka, DFKI, &lt;antoni.mylka@dfki.de&gt;";
+ dsc:gitlog "http://git.gnome.org/cgit/tracker/log/src/ontologies/30-nie.ontology";
+ dsc:contributor "Evgeny 'phreedom' Egorochkin, KDE Strigi Developer, &lt;stexx@mail.ru&gt;";
+ dsc:contributor "Christiaan Fluit, Aduna, &lt;christiaan.fluit@aduna-software.com&gt;";
+
+ dsc:localPrefix "nie" ;
+ dsc:baseUrl "http://www.semanticdesktop.org/ontologies/2007/01/19/nie#";
+ dsc:relativePath "./30-nie.ontology" ;
+
+ dsc:copyright "&copy; 2007 <ulink url=\"http://www.dfki.de/\">DFKI</ulink> &copy; 2009 <ulink url=\"http://www.nokia.com/\">Nokia</ulink>. The ontologies are made available under the terms of NEPOMUK <ulink url=\"http://www.semanticdesktop.org/ontologies/nfo/LICENSE.txt\">software license</ulink> (FIXME verify)".
diff --git a/src/ontologies/30-nie.ontology b/src/ontologies/30-nie.ontology
new file mode 100644
index 000000000..bfc6a875d
--- /dev/null
+++ b/src/ontologies/30-nie.ontology
@@ -0,0 +1,280 @@
+@prefix dc: <http://purl.org/dc/elements/1.1/> .
+@prefix nie: <http://www.semanticdesktop.org/ontologies/2007/01/19/nie#> .
+@prefix nao: <http://www.semanticdesktop.org/ontologies/2007/08/15/nao#> .
+@prefix nrl: <http://www.semanticdesktop.org/ontologies/2007/08/15/nrl#> .
+@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
+@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
+@prefix tracker: <http://www.tracker-project.org/ontologies/tracker#> .
+@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
+@prefix nao: <http://www.semanticdesktop.org/ontologies/2007/08/15/nao#> .
+
+nie: a tracker:Namespace, tracker:Ontology ;
+ tracker:prefix "nie" ;
+ nao:lastModified "2014-06-03T13:06:00Z" .
+
+nie:DataObject a rdfs:Class ;
+ rdfs:label "Data Object" ;
+ rdfs:comment "A unit of data that is created, annotated and processed on the user desktop. It represents a native structure the user works with. The usage of the term 'native' is important. It means that a DataObject can be directly mapped to a data structure maintained by a native application. This may be a file, a set of files or a part of a file. The granularity depends on the user. This class is not intended to be instantiated by itself. Use more specific subclasses." ;
+ rdfs:subClassOf rdfs:Resource .
+
+nie:DataSource a rdfs:Class ;
+ rdfs:label "Data Source" ;
+ rdfs:comment "A superclass for all entities from which DataObjects can be extracted. Each entity represents a native application or some other system that manages information that may be of interest to the user of the Semantic Desktop. Subclasses may include FileSystems, Mailboxes, Calendars, websites etc. The exact choice of subclasses and their properties is considered application-specific. Each data extraction application is supposed to provide it's own DataSource ontology. Such an ontology should contain supported data source types coupled with properties necessary for the application to gain access to the data sources. (paths, urls, passwords etc...)";
+ rdfs:subClassOf rdfs:Resource .
+
+nie:InformationElement a rdfs:Class ;
+ rdfs:label "Information Element" ;
+ rdfs:comment "A unit of content the user works with. This is a superclass for all interpretations of a DataObject." ;
+ rdfs:subClassOf rdfs:Resource .
+
+nie:title a rdf:Property ;
+ rdfs:label "Title" ;
+ rdfs:comment "The title of the document" ;
+ rdfs:subPropertyOf dc:title ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nie:InformationElement ;
+ rdfs:range xsd:string ;
+ tracker:fulltextIndexed true ;
+ tracker:weight 10 ;
+ tracker:writeback true .
+
+nie:url a rdf:Property ;
+ a nrl:InverseFunctionalProperty ;
+ rdfs:label "URL" ;
+ rdfs:comment "URL pointing at the location of the resource. In cases where creating a simple file:// or http:// URL for a file is difficult (e.g. for files inside compressed archives) the applications are encouraged to use conventions defined by Apache Commons VFS Project at http://jakarta.apache.org/ commons/ vfs/ filesystems.html." ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nie:DataObject ;
+ rdfs:range xsd:string ;
+ tracker:indexed true .
+
+nie:informationElementDate a rdf:Property ;
+ rdfs:subPropertyOf dc:date ;
+ rdfs:domain nie:InformationElement ;
+ rdfs:range xsd:dateTime .
+
+nie:contentLastModified a rdf:Property ;
+ rdfs:subPropertyOf nie:informationElementDate ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nie:InformationElement ;
+ rdfs:range xsd:dateTime .
+
+nie:subject a rdf:Property ;
+ rdfs:label "Subject" ;
+ rdfs:comment "The subject or topic of the document" ;
+ rdfs:subPropertyOf dc:subject ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nie:InformationElement ;
+ rdfs:range xsd:string ;
+ tracker:fulltextIndexed true ;
+ tracker:weight 5 .
+
+nie:mimeType a rdf:Property ;
+ rdfs:label "Mime Type" ;
+ rdfs:comment "File Mime Type" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nie:InformationElement ;
+ rdfs:range xsd:string ;
+ tracker:indexed true .
+
+nie:byteSize a rdf:Property ;
+ rdfs:label "Size" ;
+ rdfs:comment "File size in bytes" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nie:DataObject ;
+ rdfs:range xsd:integer .
+
+nie:language a rdf:Property ;
+ rdfs:label "Language" ;
+ rdfs:comment "Language the InformationElement is expressed in. Users are encouraged to use the two-letter code specified in the RFC 3066" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nie:InformationElement ;
+ rdfs:range xsd:string .
+
+nie:plainTextContent a rdf:Property ;
+ rdfs:label "Plain-text content" ;
+ rdfs:comment "Plain-text representation of the content of a InformationElement with all markup removed. The main purpose of this property is full-text indexing and search. Its exact content is considered application-specific. The user can make no assumptions about what is and what is not contained within. Applications should use more specific properties wherever possible.";
+ nrl:maxCardinality 1 ;
+ rdfs:domain nie:InformationElement ;
+ rdfs:range xsd:string ;
+ tracker:fulltextIndexed true ;
+ tracker:weight 2 ;
+ tracker:forceJournal false .
+
+nie:legal a rdf:Property ;
+ rdfs:comment "A common superproperty for all properties that point at legal information about an Information Element";
+ rdfs:subPropertyOf dc:rights ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nie:InformationElement ;
+ rdfs:range xsd:string .
+
+nie:relatedTo a rdf:Property ;
+ rdfs:comment "A common superproperty for all relations between a piece of content and other pieces of data (which may be interpreted as other pieces of content).";
+ rdfs:subPropertyOf dc:relation ;
+ rdfs:domain nie:InformationElement ;
+ rdfs:range nie:DataObject .
+
+nie:generator a rdf:Property ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nie:InformationElement ;
+ rdfs:range xsd:string .
+
+nie:description a rdf:Property ;
+ rdfs:subPropertyOf dc:description ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nie:InformationElement ;
+ rdfs:range xsd:string ;
+ tracker:fulltextIndexed true ;
+ tracker:weight 3 ;
+ tracker:writeback true .
+
+# Bug in nepomuk specification. Taking domain from superproperty
+nie:disclaimer a rdf:Property ;
+ rdfs:subPropertyOf nie:legal ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nie:InformationElement ;
+ rdfs:range xsd:string .
+
+nie:dataSource a rdf:Property ;
+ rdfs:subPropertyOf dc:source ;
+ rdfs:domain nie:DataObject ;
+ rdfs:range nie:DataSource .
+
+# Bug in nepomuk specification. Taking domain from superproperty
+nie:depends a rdf:Property ;
+ rdfs:subPropertyOf nie:relatedTo ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nie:InformationElement ;
+ rdfs:range nie:DataObject .
+
+nie:links a rdf:Property ;
+ rdfs:subPropertyOf nie:relatedTo ;
+ rdfs:comment "A linking relation. A piece of content links/mentions a piece of data";
+ nrl:maxCardinality 1 ;
+ rdfs:domain nie:InformationElement ;
+ rdfs:range nie:DataObject .
+
+# Bug in nepomuk specification. Taking domain from superproperty
+nie:copyright a rdf:Property ;
+ rdfs:subPropertyOf dc:rights , nie:legal ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nie:InformationElement ;
+ rdfs:range xsd:string ;
+ tracker:writeback true .
+
+nie:comment a rdf:Property ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nie:InformationElement ;
+ rdfs:range xsd:string ;
+ tracker:fulltextIndexed true ;
+ tracker:weight 2 .
+
+nie:interpretedAs a rdf:Property ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nie:DataObject ;
+ rdfs:range nie:InformationElement .
+
+nie:isStoredAs a rdf:Property ;
+ nao:deprecated true ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nie:InformationElement ;
+ rdfs:range nie:DataObject .
+
+nie:version a rdf:Property ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nie:InformationElement ;
+ rdfs:range xsd:string .
+
+nie:contentCreated a rdf:Property ;
+ rdfs:subPropertyOf nie:informationElementDate ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nie:InformationElement ;
+ rdfs:range xsd:dateTime ;
+ tracker:writeback true .
+
+nie:contentAccessed a rdf:Property ;
+ rdfs:subPropertyOf nie:informationElementDate ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nie:InformationElement ;
+ rdfs:range xsd:dateTime .
+
+nie:lastRefreshed a rdf:Property ;
+ rdfs:subPropertyOf dc:date ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nie:DataObject ;
+ rdfs:range xsd:dateTime .
+
+# Bug in nepomuk specification. Taking domain from superproperty
+nie:license a rdf:Property ;
+ rdfs:comment "Terms and intellectual property rights licensing conditions.";
+ rdfs:subPropertyOf dc:rights , nie:legal ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nie:InformationElement ;
+ rdfs:range xsd:string .
+
+nie:created a rdf:Property ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nie:DataObject ;
+ rdfs:range xsd:dateTime .
+
+nie:identifier a rdf:Property ;
+ rdfs:subPropertyOf dc:identifier ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nie:InformationElement ;
+ rdfs:range xsd:string .
+
+nie:keyword a rdf:Property ;
+ rdfs:domain nie:InformationElement ;
+ rdfs:range xsd:string ;
+ tracker:fulltextIndexed true ;
+ tracker:weight 5 ;
+ tracker:writeback true .
+
+nie:hasLogicalPart a rdf:Property ;
+ rdfs:domain nie:InformationElement ;
+ rdfs:range nie:InformationElement ;
+ tracker:weight 2 .
+
+nie:hasPart a rdf:Property ;
+ rdfs:subPropertyOf nie:relatedTo ;
+ rdfs:domain nie:InformationElement ;
+ rdfs:range nie:DataObject ;
+ tracker:weight 2 .
+
+nie:isPartOf a rdf:Property ;
+ rdfs:domain nie:DataObject ;
+ rdfs:range nie:InformationElement ;
+ tracker:weight 2 .
+
+# Bug in nepomuk specification. Taking domain from superproperty
+nie:licenseType a rdf:Property ;
+ rdfs:subPropertyOf nie:legal ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nie:InformationElement ;
+ rdfs:range xsd:string .
+
+nie:characterSet a rdf:Property ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nie:InformationElement ;
+ rdfs:range xsd:string .
+
+nie:isLogicalPartOf a rdf:Property ;
+ rdfs:domain nie:InformationElement ;
+ rdfs:range nie:InformationElement ;
+ tracker:weight 2 .
+
+nie:contentSize a rdf:Property ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nie:InformationElement ;
+ rdfs:range xsd:integer .
+
+nie:rootElementOf a rdf:Property ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nie:InformationElement ;
+ rdfs:range nie:DataSource ;
+ tracker:weight 2 .
+
+nie:usageCounter a rdf:Property ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nie:InformationElement ;
+ rdfs:range xsd:integer ;
+ tracker:weight 3 .
diff --git a/src/ontologies/31-nao.description b/src/ontologies/31-nao.description
new file mode 100644
index 000000000..4a6646da6
--- /dev/null
+++ b/src/ontologies/31-nao.description
@@ -0,0 +1,29 @@
+@prefix dsc: <http://www.tracker-project.org/temp/dsc#> .
+
+<virtual-ontology-uri:31-nao.ontology> a dsc:Ontology ;
+ dsc:title "Nepomuk Annotation Ontology (NAO)" ;
+ dsc:description "Tags, ratings and other common annotations to all classes" ;
+
+ dsc:author "Simon Scerri, DERI/NUIG, &lt;simon.scerri@deri.org&gt;";
+ dsc:author "Michael Sintek, DFKI, &lt;michael.sintek@dfki.de&gt;";
+ dsc:author "Ludger van Elst, DFKI, &lt;elst@dfki.uni-kl.de&gt;";
+ dsc:author "Siegfried Handschuh, DERI/NUIG, &lt;siegfried.handschuh@deri.org&gt;";
+
+ dsc:editor "Simon Scerri, DERI/NUIG, &lt;simon.scerri@deri.org&gt;";
+ dsc:editor "Tracker developers (translation into turtle)" ;
+
+ dsc:contributor "Leo Sauermann, DFKI, &lt;leo.sauermann@dfki.de&gt;";
+ dsc:contributor "Max V&ouml;lkel, FZI, &lt;voelkel@fzi.de&gt;";
+ dsc:contributor "Sebastian Tr&uuml;g, EDGE-IT, &lt;strueg@mandriva.com&gt;";
+ dsc:contributor "Knud M&ouml;ller, DERI/NUIG, &lt;knud.moeller@deri.org&gt;";
+ dsc:contributor "Julien Gaugaz, L3S, &lt;gaugaz@l3s.de&gt;";
+ dsc:contributor "Antoni Mylka, DFKI, &lt;antoni.mylka@dfki.de&gt;";
+
+ dsc:gitlog "http://git.gnome.org/cgit/tracker/log/src/ontologies/31-nao.ontology";
+ dsc:upstream "http://www.semanticdesktop.org/ontologies/nao/";
+
+ dsc:localPrefix "nao" ;
+ dsc:baseUrl "http://www.semanticdesktop.org/ontologies/2007/08/15/nao#" ;
+ dsc:relativePath "./31-nao.ontology" ;
+
+ dsc:copyright "&copy; 2007 <ulink url=\"http://nepomuk.semanticdesktop.org\">NEPOMUK Consortium</ulink>&reg;. This work is made available under the terms of NEPOMUK <ulink url=\"http://www.semanticdesktop.org/ontologies/nfo/LICENSE.txt\">software license</ulink>" .
diff --git a/src/ontologies/31-nao.ontology b/src/ontologies/31-nao.ontology
new file mode 100644
index 000000000..1b3a109ca
--- /dev/null
+++ b/src/ontologies/31-nao.ontology
@@ -0,0 +1,92 @@
+@prefix dc: <http://purl.org/dc/elements/1.1/> .
+@prefix nao: <http://www.semanticdesktop.org/ontologies/2007/08/15/nao#> .
+@prefix nie: <http://www.semanticdesktop.org/ontologies/2007/01/19/nie#> .
+@prefix nrl: <http://www.semanticdesktop.org/ontologies/2007/08/15/nrl#> .
+@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
+@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
+@prefix tracker: <http://www.tracker-project.org/ontologies/tracker#> .
+@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
+
+nao: a tracker:Namespace, tracker:Ontology ;
+ tracker:prefix "nao" ;
+ nao:lastModified "2010-12-25T16:00:00Z" .
+
+nao:Tag a rdfs:Class ;
+ rdfs:subClassOf rdfs:Resource ;
+ tracker:notify true .
+
+nao:prefLabel a rdf:Property ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nao:Tag ;
+ rdfs:range xsd:string ;
+ tracker:writeback true ;
+ tracker:fulltextIndexed true ;
+ tracker:weight 10 .
+
+nao:description a rdf:Property ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nao:Tag ;
+ rdfs:range xsd:string ;
+ rdfs:subPropertyOf rdfs:comment ;
+ rdfs:comment "In the context of the social semantic desktop the textual annotation provided via rdfs:comment 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 the desktop" ;
+ tracker:fulltextIndexed true ;
+ tracker:weight 3 .
+
+nao:hasTag a rdf:Property ;
+ rdfs:domain rdfs:Resource ;
+ rdfs:range rdfs:Resource ;
+ tracker:writeback true ;
+ tracker:indexed true .
+
+nao:identifier a rdf:Property ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain rdfs:Resource ;
+ rdfs:range xsd:string .
+
+nao:numericRating a rdf:Property ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain rdfs:Resource ;
+ rdfs:range xsd:double .
+
+nao:deprecated a rdf:Property;
+ rdfs:domain rdfs:Resource;
+ rdfs:range xsd:boolean;
+ rdfs:label "deprecated";
+ rdfs:comment "If this property is assigned, the subject class, property, or resource, is deprecated and should not be used in production systems any longer. It may be removed without further notice." .
+
+# These are added and approval by Nepomuk-upstream is pending
+
+nao:Property a rdfs:Class ;
+ rdfs:label "Custom property to extend a class dynamically" ;
+ rdfs:comment "Dont use this without asking first your ontology doctor" ;
+ rdfs:subClassOf rdfs:Resource .
+
+nao:propertyName a rdf:Property ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nao:Property ;
+ rdfs:range xsd:string .
+
+nao:propertyValue a rdf:Property ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nao:Property ;
+ rdfs:range xsd:string .
+
+nao:hasProperty a rdf:Property ;
+ rdfs:domain nie:InformationElement ;
+ rdfs:range nao:Property .
+
+nao:predefined-tag-favorite a nao:Tag .
+
+nao:lastModified a rdf:Property ;
+ rdfs:label "lastModified" ;
+ rdfs:comment "last modification date" ;
+ rdfs:subPropertyOf dc:date ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain rdfs:Resource ;
+ rdfs:range xsd:dateTime .
+
+nao:isRelated a rdf:Property ;
+ rdfs:label "Is related" ;
+ rdfs:comment "This property defines a symmetric relation between any two resources. In order for this property to be used legally, the relationship must be symmetric." ;
+ rdfs:domain rdfs:Resource ;
+ rdfs:range rdfs:Resource .
diff --git a/src/ontologies/32-nco.description b/src/ontologies/32-nco.description
new file mode 100644
index 000000000..2f26de6da
--- /dev/null
+++ b/src/ontologies/32-nco.description
@@ -0,0 +1,27 @@
+@prefix dsc: <http://www.tracker-project.org/temp/dsc#> .
+
+<virtual-ontology-uri:32-nco.ontology> a dsc:Ontology ;
+ dsc:title "Nepomuk Contacts Ontology (NCO)" ;
+ dsc:description "All about contacts. Rough equivalent of the VCARD standard." ;
+
+ dsc:author "Antoni Mylka, DFKI, &lt;antoni.mylka@dfki.de&gt;";
+ dsc:author "Leo Sauermann, DFKI, &lt;leo.sauermann@dfki.de&gt;";
+ dsc:author "Michael Sintek, DFKI, &lt;michael.sintek@dfki.de&gt;";
+ dsc:author "Ludger van Elst, DFKI, &lt;elst@dfki.uni-kl.de&gt;";
+ dsc:author "Tracker Developers" ;
+
+ dsc:editor "Tracker developers (translation into turtle)" ;
+ dsc:editor "Antoni Mylka, DFKI, &lt;antoni.mylka@dfki.de&gt;";
+
+ dsc:contributor "Evgeny 'phreedom' Egorochkin, KDE Strigi Developer, &lt;stexx@mail.ru&gt;";
+ dsc:contributor "Christiaan Fluit, Aduna, &lt;christiaan.fluit@aduna-software.com&gt;";
+
+ dsc:upstream "http://www.semanticdesktop.org/ontologies/nco/";
+ dsc:gitlog "http://git.gnome.org/cgit/tracker/log/src/ontologies/32-nco.ontology";
+
+ dsc:localPrefix "nco" ;
+ dsc:baseUrl "http://www.semanticdesktop.org/ontologies/2007/03/22/nco#" ;
+ dsc:relativePath "./32-nco.ontology" ;
+
+ dsc:copyright "&copy; 2007 <ulink url=\"http://www.dfki.de/\">DFKI</ulink> &copy; 2009 <ulink url=\"http://www.nokia.com/\">Nokia</ulink>. The ontologies are made available under the terms of NEPOMUK <ulink url=\"http://www.semanticdesktop.org/ontologies/nfo/LICENSE.txt\">software license</ulink> (FIXME verify)".
+
diff --git a/src/ontologies/32-nco.ontology b/src/ontologies/32-nco.ontology
new file mode 100644
index 000000000..a7c80f5ba
--- /dev/null
+++ b/src/ontologies/32-nco.ontology
@@ -0,0 +1,777 @@
+@prefix dc: <http://purl.org/dc/elements/1.1/> .
+@prefix nao: <http://www.semanticdesktop.org/ontologies/2007/08/15/nao#> .
+@prefix nco: <http://www.semanticdesktop.org/ontologies/2007/03/22/nco#> .
+@prefix nie: <http://www.semanticdesktop.org/ontologies/2007/01/19/nie#> .
+@prefix nrl: <http://www.semanticdesktop.org/ontologies/2007/08/15/nrl#> .
+@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
+@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
+@prefix tracker: <http://www.tracker-project.org/ontologies/tracker#> .
+@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
+@prefix nao: <http://www.semanticdesktop.org/ontologies/2007/08/15/nao#> .
+
+nco: a tracker:Namespace, tracker:Ontology ;
+ tracker:prefix "nco" ;
+ nao:lastModified "2011-09-29T12:20:00Z" .
+
+nco:Role a rdfs:Class ;
+ rdfs:label "Role" ;
+ rdfs:comment "A role played by a contact. Contacts that denote people, can have many roles (e.g. see the hasAffiliation property and Affiliation class). Contacts that denote Organizations or other Agents usually have one role. Each role can introduce additional contact media." ;
+ rdfs:subClassOf rdfs:Resource .
+
+nco:Affiliation a rdfs:Class ;
+ rdfs:label "Affiliation" ;
+ rdfs:comment "Aggregates three properties defined in RFC2426. Originally all three were attached directly to a person. One person could have only one title and one role within one organization. This class is intended to lift this limitation." ;
+ rdfs:subClassOf nco:Role .
+
+nco:Contact a rdfs:Class ;
+ rdfs:label "Contact" ;
+ rdfs:comment "A Contact. A piece of data that can provide means to identify or communicate with an entity." ;
+ rdfs:subClassOf nie:InformationElement , nco:Role .
+
+nco:ContactGroup a rdfs:Class ;
+ rdfs:label "ContactGroup" ;
+ rdfs:comment "A group of Contacts. Could be used to express a group in an addressbook or on a contact list of an IM application. One contact can belong to many groups." ;
+ rdfs:subClassOf nie:InformationElement ;
+ tracker:notify true .
+
+nco:ContactList a rdfs:Class ;
+ rdfs:label "ContactList" ;
+ rdfs:comment "A contact list, this class represents an addressbook or a contact list of an IM application. Contacts inside a contact list can belong to contact groups." ;
+ rdfs:subClassOf nie:InformationElement ;
+ tracker:notify true .
+
+# Maybe a bug? Shouldnt it be a subclass of nie:InformationElement?
+nco:ContactMedium a rdfs:Class ;
+ rdfs:label "ContactMedium" ;
+ rdfs:comment "A superclass for all contact media - ways to contact an entity represented by a Contact instance. Some of the subclasses of this class (the various kinds of telephone numbers and postal addresses) have been inspired by the values of the TYPE parameter of ADR and TEL properties defined in RFC 2426 sec. 3.2.1. and 3.3.1 respectively. Each value is represented by an appropriate subclass with two major exceptions TYPE=home and TYPE=work. They are to be expressed by the roles these contact media are attached to i.e. contact media with TYPE=home parameter are to be attached to the default role (nco:Contact or nco:PersonContact), whereas media with TYPE=work parameter should be attached to nco:Affiliation or nco:OrganizationContact." ;
+ rdfs:subClassOf rdfs:Resource .
+
+nco:EmailAddress a rdfs:Class ;
+ rdfs:label "EmailAddress" ;
+ rdfs:comment "An email address. The recommended best practice is to use mailto: uris for instances of this class." ;
+ rdfs:subClassOf nco:ContactMedium .
+
+nco:IMAddress a rdfs:Class ;
+ rdfs:label "IM Address" ;
+ rdfs:comment "An instant messaging address such as xmpp:foo@bar.com." ;
+ tracker:notify true ;
+ rdfs:subClassOf nco:ContactMedium .
+
+nco:IMAccount a rdfs:Class ;
+ rdfs:label "IMAccount" ;
+ rdfs:comment "An account in an Instant Messaging system. This refers to IM accounts of the user 'me'." ;
+ tracker:notify true ;
+ rdfs:subClassOf nie:InformationElement .
+
+nco:OrganizationContact a rdfs:Class ;
+ rdfs:label "OrganizationContact" ;
+ rdfs:comment "A Contact that denotes on Organization." ;
+ rdfs:subClassOf nco:Contact .
+
+nco:PersonContact a rdfs:Class ;
+ rdfs:label "PersonContact" ;
+ rdfs:comment "A Contact that denotes a Person. A person can have multiple Affiliations." ;
+ tracker:notify true ;
+ rdfs:subClassOf nco:Contact .
+
+nco:default-contact-me a nco:PersonContact.
+
+nco:PhoneNumber a rdfs:Class ;
+ rdfs:label "PhoneNumber" ;
+ rdfs:comment "A telephone number." ;
+ rdfs:subClassOf nco:ContactMedium .
+
+nco:PostalAddress a rdfs:Class ;
+ rdfs:label "PostalAddress" ;
+ rdfs:comment "A postal address. A class aggregating the various parts of a value for the 'ADR' property as defined in RFC 2426 Sec. 3.2.1." ;
+ rdfs:subClassOf nco:ContactMedium .
+
+nco:ModemNumber a rdfs:Class ;
+ rdfs:label "ModemNumber" ;
+ rdfs:comment "A modem phone number. Inspired by the (TYPE=modem) parameter of the TEL property as defined in RFC 2426 sec 3.3.1." ;
+ rdfs:subClassOf nco:PhoneNumber .
+
+nco:MessagingNumber a rdfs:Class ;
+ rdfs:label "MessagingNumber" ;
+ rdfs:comment "A number that can accept textual messages." ;
+ rdfs:subClassOf nco:PhoneNumber .
+
+nco:PagerNumber a rdfs:Class ;
+ rdfs:label "PagerNumber" ;
+ rdfs:comment "A pager phone number. Inspired by the (TYPE=pager) parameter of the TEL property as defined in RFC 2426 sec 3.3.1." ;
+ rdfs:subClassOf nco:MessagingNumber .
+
+nco:Gender a rdfs:Class ;
+ rdfs:label "Gender" ;
+ rdfs:comment "Gender. Instances of this class may include male and female." ;
+ rdfs:subClassOf rdfs:Resource .
+
+nco:gender-male a nco:Gender .
+nco:gender-female a nco:Gender .
+nco:gender-other a nco:Gender .
+
+nco:VoicePhoneNumber a rdfs:Class ;
+ rdfs:label "VoicePhoneNumber" ;
+ rdfs:comment "A telephone number with voice communication capabilities. Class inspired by the TYPE=voice parameter of the TEL property defined in RFC 2426 sec. 3.3.1" ;
+ rdfs:subClassOf nco:PhoneNumber .
+
+nco:VideoTelephoneNumber a rdfs:Class ;
+ rdfs:label "VideoTelephoneNumber" ;
+ rdfs:comment "A Video telephone number. A class inspired by the TYPE=video parameter of the TEL property defined in RFC 2426 sec. 3.3.1" ;
+ rdfs:subClassOf nco:VoicePhoneNumber .
+
+nco:IsdnNumber a rdfs:Class ;
+ rdfs:label "IsdnNumber" ;
+ rdfs:comment "An ISDN phone number. Inspired by the (TYPE=isdn) parameter of the TEL property as defined in RFC 2426 sec 3.3.1." ;
+ rdfs:subClassOf nco:VoicePhoneNumber .
+
+nco:ParcelDeliveryAddress a rdfs:Class ;
+ rdfs:label "ParcelDeliveryAddress" ;
+ rdfs:comment "Parcel Delivery Addresse. Class inspired by TYPE=parcel parameter of the ADR property defined in RFC 2426 sec. 3.2.1" ;
+ rdfs:subClassOf nco:PostalAddress .
+
+# Useless class.
+#nco:AudioIMAccount a rdfs:Class ;
+# rdfs:label "AudioIMAccount" ;
+# rdfs:comment "An account in an InstantMessaging system capable of real-time audio conversations." ;
+# rdfs:subClassOf nco:IMAccount .
+
+nco:FaxNumber a rdfs:Class ;
+ rdfs:label "FaxNumber" ;
+ rdfs:comment "A fax number. Inspired by the (TYPE=fax) parameter of the TEL property as defined in RFC 2426 sec 3.3.1." ;
+ rdfs:subClassOf nco:PhoneNumber .
+
+nco:CarPhoneNumber a rdfs:Class ;
+ rdfs:label "CarPhoneNumber" ;
+ rdfs:comment "A car phone number. Inspired by the (TYPE=car) parameter of the TEL property as defined in RFC 2426 sec 3.3.1." ;
+ rdfs:subClassOf nco:VoicePhoneNumber .
+
+nco:ContactListDataObject a rdfs:Class ;
+ rdfs:label "ContactListDataObject" ;
+ rdfs:comment "An entity occuring on a contact list (usually interpreted as an nco:Contact)" ;
+ rdfs:subClassOf nie:DataObject .
+
+nco:PcsNumber a rdfs:Class ;
+ rdfs:label "PcsNumber" ;
+ rdfs:comment "Personal Communication Services Number. A class inspired by the TYPE=pcs parameter of the TEL property defined in RFC 2426 sec. 3.3.1" ;
+ rdfs:subClassOf nco:VoicePhoneNumber .
+
+nco:InternationalDeliveryAddress a rdfs:Class ;
+ rdfs:label "InternationalDeliveryAddress" ;
+ rdfs:comment "International Delivery Addresse. Class inspired by TYPE=intl parameter of the ADR property defined in RFC 2426 sec. 3.2.1" ;
+ rdfs:subClassOf nco:PostalAddress .
+
+#nco:VideoIMAccount a rdfs:Class ;
+# rdfs:label "VideoIMAccount" ;
+# rdfs:comment "An account in an instant messaging system capable of video conversations." ;
+# rdfs:subClassOf nco:AudioIMAccount .
+
+nco:BbsNumber a rdfs:Class ;
+ rdfs:label "BbsNumber" ;
+ rdfs:comment "A Bulletin Board System (BBS) phone number. Inspired by the (TYPE=bbsl) parameter of the TEL property as defined in RFC 2426 sec 3.3.1." ;
+ rdfs:subClassOf nco:ModemNumber .
+
+nco:CellPhoneNumber a rdfs:Class ;
+ rdfs:label "CellPhoneNumber" ;
+ rdfs:comment "A cellular phone number. Inspired by the (TYPE=cell) parameter of the TEL property as defined in RFC 2426 sec 3.3.1. Usually a cellular phone can accept voice calls as well as textual messages (SMS), therefore this class has two superclasses." ;
+ rdfs:subClassOf nco:MessagingNumber , nco:VoicePhoneNumber .
+
+nco:DomesticDeliveryAddress a rdfs:Class ;
+ rdfs:label "DomesticDeliveryAddress" ;
+ rdfs:comment "Domestic Delivery Addresse. Class inspired by TYPE=dom parameter of the ADR property defined in RFC 2426 sec. 3.2.1" ;
+ rdfs:subClassOf nco:PostalAddress .
+
+nco:nameFamily a rdf:Property ;
+ rdfs:label "nameFamily" ;
+ rdfs:comment "The family name of an Object represented by this Contact. These applies to people that have more than one given name. The 'first' one is considered 'the' given name (see nameGiven) property. All additional ones are considered 'additional' names. The name inherited from parents is the 'family name'. e.g. For Dr. John Phil Paul Stevenson Jr. M.D. A.C.P. we have contact with: honorificPrefix: 'Dr.', nameGiven: 'John', nameAdditional: 'Phil', nameAdditional: 'Paul', nameFamily: 'Stevenson', honorificSuffix: 'Jr.', honorificSuffix: 'M.D.', honorificSuffix: 'A.C.P.'. These properties form an equivalent of the compound 'N' property as defined in RFC 2426 Sec. 3.1.2" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nco:PersonContact ;
+ rdfs:range xsd:string ;
+ tracker:indexed true ;
+ tracker:fulltextIndexed true ;
+ tracker:weight 4 .
+
+nco:nameGiven a rdf:Property ;
+ rdfs:label "nameGiven" ;
+ rdfs:comment "The given name for the object represented by this Contact. See documentation for 'nameFamily' property for details." ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nco:PersonContact ;
+ rdfs:range xsd:string ;
+ tracker:fulltextIndexed true ;
+ tracker:weight 5 .
+
+nco:nameAdditional a rdf:Property ;
+ rdfs:label "nameAdditional" ;
+ rdfs:comment "Additional given name of an object represented by this contact. See documentation for 'nameFamily' property for details." ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nco:PersonContact ;
+ rdfs:range xsd:string ;
+ tracker:fulltextIndexed true ;
+ tracker:weight 5 .
+
+nco:fullname a rdf:Property ;
+ rdfs:label "fullname" ;
+ rdfs:comment "To specify the formatted text corresponding to the name of the object the Contact represents. An equivalent of the FN property as defined in RFC 2426 Sec. 3.1.1." ;
+ rdfs:subPropertyOf dc:title ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nco:Contact ;
+ rdfs:range xsd:string ;
+ tracker:fulltextIndexed true ;
+ tracker:weight 6 .
+
+nco:hasContactMedium a rdf:Property ;
+ rdfs:label "hasContactMedium" ;
+ rdfs:comment "A superProperty for all properties linking a Contact to an instance of a contact medium." ;
+ rdfs:domain nco:Role ;
+ rdfs:range nco:ContactMedium .
+
+# FIXME Range string or resource?
+nco:url a rdf:Property ;
+ rdfs:label "url" ;
+ rdfs:comment "A uniform resource locator associated with the given role of a Contact. Inspired by the 'URL' property defined in RFC 2426 Sec. 3.6.8." ;
+ rdfs:domain nco:Role ;
+ rdfs:range rdfs:Resource ;
+ tracker:weight 4 .
+
+nco:contributor a rdf:Property ;
+ rdfs:label "contributor" ;
+ rdfs:comment "An entity responsible for making contributions to the content of the InformationElement." ;
+ rdfs:subPropertyOf dc:contributor ;
+ rdfs:domain nie:InformationElement ;
+ rdfs:range nco:Contact ;
+ tracker:writeback true .
+
+nco:creator a rdf:Property ;
+ rdfs:label "creator" ;
+ rdfs:comment "Creator of a data object, an entity primarily responsible for the creation of the content of the data object." ;
+ rdfs:subPropertyOf dc:creator , nco:contributor ;
+ rdfs:domain nie:InformationElement ;
+ rdfs:range nco:Contact ;
+ tracker:weight 4 ;
+ tracker:writeback true .
+
+nco:region a rdf:Property ;
+ rdfs:label "region" ;
+ rdfs:comment "Region. Inspired by the fifth part of the value of the 'ADR' property as defined in RFC 2426, sec. 3.2.1" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nco:PostalAddress ;
+ rdfs:range xsd:string ;
+ tracker:fulltextIndexed true ;
+ tracker:weight 3 .
+
+nco:key a rdf:Property ;
+ rdfs:label "key" ;
+ rdfs:comment "An encryption key attached to a contact. Inspired by the KEY property defined in RFC 2426 sec. 3.7.2" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nco:Contact ;
+ rdfs:range nie:DataObject .
+
+nco:nameHonorificSuffix a rdf:Property ;
+ rdfs:label "nameHonorificSuffix" ;
+ rdfs:comment "A suffix for the name of the Object represented by the given object. See documentation for the 'nameFamily' for details." ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nco:PersonContact ;
+ rdfs:range xsd:string ;
+ tracker:weight 3 .
+
+nco:contactUID a rdf:Property ;
+ rdfs:label "contactUID" ;
+ rdfs:comment "A value that represents a globally unique identifier corresponding to the individual or resource associated with the Contact. An equivalent of the 'UID' property defined in RFC 2426 Sec. 3.6.7" ;
+ rdfs:subPropertyOf nie:identifier ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nco:Contact ;
+ rdfs:range xsd:string ;
+ tracker:weight 5 .
+
+nco:contactLocalUID a rdf:Property;
+ rdfs:label "local contact UID";
+ rdfs:comment "Unique ID for the contact in the local storage" ;
+ nrl:maxCardinality 1;
+ rdfs:domain nco:Contact ;
+ rdfs:range xsd:string .
+
+nco:publisher a rdf:Property ;
+ rdfs:label "publisher" ;
+ rdfs:comment "An entity responsible for making the InformationElement available." ;
+ rdfs:subPropertyOf dc:publisher ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nie:InformationElement ;
+ rdfs:range nco:Contact ;
+ tracker:weight 2 .
+
+nco:country a rdf:Property ;
+ rdfs:label "country" ;
+ rdfs:comment "A part of an address specifying the country. Inspired by the seventh part of the value of the 'ADR' property as defined in RFC 2426, sec. 3.2.1" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nco:PostalAddress ;
+ rdfs:range xsd:string ;
+ tracker:fulltextIndexed true ;
+ tracker:weight 3 .
+
+nco:nameHonorificPrefix a rdf:Property ;
+ rdfs:label "nameHonorificPrefix" ;
+ rdfs:comment "A prefix for the name of the object represented by this Contact. See documentation for the 'nameFamily' property for details." ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nco:PersonContact ;
+ rdfs:range xsd:string ;
+ tracker:weight 3 .
+
+nco:extendedAddress a rdf:Property ;
+ rdfs:label "extendedAddress" ;
+ rdfs:comment "An extended part of an address. This field might be used to express parts of an address that aren't include in the name of the Contact but also aren't part of the actual location. Usually the streed address and following fields are enough for a postal letter to arrive. Examples may include ('University of California Campus building 45', 'Sears Tower 34th floor' etc.) Inspired by the second part of the value of the 'ADR' property as defined in RFC 2426, sec. 3.2.1" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nco:PostalAddress ;
+ rdfs:range xsd:string ;
+ tracker:fulltextIndexed true ;
+ tracker:weight 6 .
+
+nco:hasIMContact a rdf:Property ;
+ rdfs:label "hasIMAccount" ;
+ rdfs:comment "Indicates that this Instant Messaging account has the specified Instant Messaging address in the contact list." ;
+ rdfs:domain nco:IMAccount ;
+ rdfs:range nco:IMAddress .
+
+# FIXME Range geo:Point but we dont have that class
+nco:hasLocation a rdf:Property ;
+ rdfs:label "hasLocation" ;
+ rdfs:comment "Geographical location of the contact. Inspired by the 'GEO' property specified in RFC 2426 Sec. 3.4.2" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nco:Contact ;
+ rdfs:range rdfs:Resource .
+
+nco:phoneNumber a rdf:Property ;
+ rdfs:label "phoneNumber" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nco:PhoneNumber ;
+ rdfs:range xsd:string ;
+ tracker:indexed true ;
+ tracker:fulltextIndexed true ;
+ tracker:weight 5 .
+
+nco:nickname a rdf:Property ;
+ rdfs:label "nickname" ;
+ rdfs:comment "A nickname of the Object represented by this Contact. This is an equivalen of the 'NICKNAME' property as defined in RFC 2426 Sec. 3.1.3." ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nco:Contact ;
+ rdfs:range xsd:string ;
+ tracker:fulltextIndexed true ;
+ tracker:weight 5 .
+
+nco:containsContact a rdf:Property ;
+ rdfs:label "containsContact" ;
+ rdfs:comment "A property used to group contacts into contact groups. This property was NOT defined in the VCARD standard. See documentation for the 'ContactList' class for details" ;
+ rdfs:subPropertyOf nie:hasPart ;
+ rdfs:domain nco:ContactList ;
+ rdfs:range nco:ContactListDataObject .
+
+nco:department a rdf:Property ;
+ rdfs:label "department" ;
+ rdfs:comment "Department. The organizational unit within the organization." ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nco:Affiliation ;
+ rdfs:range xsd:string ;
+ tracker:fulltextIndexed true ;
+ tracker:weight 4 .
+
+nco:imID a rdf:Property ;
+ rdfs:label "imID" ;
+ rdfs:comment "Identifier of the IM account. Examples of such identifier might include ICQ UINs, Jabber IDs, Skype names etc." ;
+ rdfs:subPropertyOf nao:identifier ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nco:IMAddress ;
+ rdfs:range xsd:string ;
+ tracker:fulltextIndexed true ;
+ tracker:weight 5 .
+
+nco:imAccountAddress a rdf:Property ;
+ a nrl:InverseFunctionalProperty ;
+ rdfs:label "imAccountAddress" ;
+ rdfs:comment "Instant Messaging address of this IM account. The user 'me' can send and receive messages from this IM address." ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nco:IMAccount ;
+ rdfs:range nco:IMAddress .
+
+# FIXME Range geo:Point but we dont have that class
+nco:addressLocation a rdf:Property ;
+ rdfs:label "addressLocation" ;
+ rdfs:comment "The geographical location of a postal address." ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nco:PostalAddress ;
+ rdfs:range rdfs:Resource ;
+ tracker:weight 3 .
+
+nco:note a rdf:Property ;
+ rdfs:label "note" ;
+ rdfs:comment "A note about the object represented by this Contact. An equivalent for the 'NOTE' property defined in RFC 2426 Sec. 3.6.2" ;
+ rdfs:domain nco:Contact ;
+ rdfs:range xsd:string ;
+ tracker:fulltextIndexed true ;
+ tracker:weight 4 .
+
+nco:representative a rdf:Property ;
+ rdfs:label "representative" ;
+ rdfs:comment "An object that represent an object represented by this Contact. Usually this property is used to link a Contact to an organization, to a contact to the representative of this organization the user directly interacts with. An equivalent for the 'AGENT' property defined in RFC 2426 Sec. 3.5.4" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nco:Contact ;
+ rdfs:range nco:Contact .
+
+nco:streetAddress a rdf:Property ;
+ rdfs:label "streetAddress" ;
+ rdfs:comment "The streed address. Inspired by the third part of the value of the 'ADR' property as defined in RFC 2426, sec. 3.2.1" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nco:PostalAddress ;
+ rdfs:range xsd:string ;
+ tracker:fulltextIndexed true ;
+ tracker:weight 6 .
+
+nco:hasPhoneNumber a rdf:Property ;
+ rdfs:label "hasPhoneNumber" ;
+ rdfs:comment "A number for telephony communication with the object represented by this Contact. An equivalent of the 'TEL' property defined in RFC 2426 Sec. 3.3.1" ;
+ rdfs:subPropertyOf nco:hasContactMedium ;
+ rdfs:domain nco:Role ;
+ rdfs:range nco:PhoneNumber .
+
+nco:photo a rdf:Property ;
+ rdfs:label "photo" ;
+ rdfs:comment "Photograph attached to a Contact. The DataObject refered to by this property is usually interpreted as an nfo:Image. Inspired by the PHOTO property defined in RFC 2426 sec. 3.1.4" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nco:Contact ;
+ rdfs:range nie:InformationElement .
+
+# FIXME why range is not Image? Bug in Nepomuk?
+nco:logo a rdf:Property ;
+ rdfs:label "logo" ;
+ rdfs:comment "Logo of a company. Inspired by the LOGO property defined in RFC 2426 sec. 3.5.3" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nco:OrganizationContact ;
+ rdfs:range nie:DataObject .
+
+# FIXME Same remarks as in url
+nco:websiteUrl a rdf:Property ;
+ rdfs:label "websiteUrl" ;
+ rdfs:comment "A url of a website." ;
+ rdfs:subPropertyOf nco:url ;
+ rdfs:domain nco:Role ;
+ rdfs:range rdfs:Resource ;
+ tracker:weight 5 .
+
+nco:birthDate a rdf:Property ;
+ rdfs:label "birthDate" ;
+ rdfs:comment "Birth date of the object represented by this Contact. An equivalent of the 'BDAY' property as defined in RFC 2426 Sec. 3.1.5." ;
+ rdfs:subPropertyOf dc:date ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nco:Contact ;
+ rdfs:range xsd:dateTime ;
+ tracker:weight 5 .
+
+nco:hasEmailAddress a rdf:Property ;
+ rdfs:label "hasEmailAddress" ;
+ rdfs:comment "An address for electronic mail communication with the object specified by this contact. An equivalent of the 'EMAIL' property as defined in RFC 2426 Sec. 3.3.1." ;
+ rdfs:subPropertyOf nco:hasContactMedium ;
+ rdfs:domain nco:Role ;
+ rdfs:range nco:EmailAddress ;
+ tracker:indexed true .
+
+nco:postalcode a rdf:Property ;
+ rdfs:label "postalcode" ;
+ rdfs:comment "Postal Code. Inspired by the sixth part of the value of the 'ADR' property as defined in RFC 2426, sec. 3.2.1" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nco:PostalAddress ;
+ rdfs:range xsd:string ;
+ tracker:fulltextIndexed true ;
+ tracker:weight 6 .
+
+nco:org a rdf:Property ;
+ rdfs:label "org" ;
+ rdfs:comment "Name of an organization or a unit within an organization the object represented by a Contact is associated with. An equivalent of the 'ORG' property defined in RFC 2426 Sec. 3.5.5" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nco:Affiliation ;
+ rdfs:range nco:OrganizationContact ;
+ tracker:weight 4 .
+
+nco:title a rdf:Property ;
+ rdfs:label "title" ;
+ rdfs:domain nco:Affiliation ;
+ rdfs:range xsd:string ;
+ tracker:fulltextIndexed true ;
+ tracker:weight 10 .
+
+nco:voiceMail a rdf:Property ;
+ rdfs:label "voiceMail" ;
+ rdfs:comment "Indicates if the given number accepts voice mail. (e.g. there is an answering machine). Inspired by TYPE=msg parameter of the TEL property defined in RFC 2426 sec. 3.3.1" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nco:VoicePhoneNumber ;
+ rdfs:range xsd:boolean .
+
+nco:belongsToGroup a rdf:Property ;
+ rdfs:label "addressLocation" ;
+ rdfs:comment "Links a Contact with a ContactGroup it belongs to." ;
+ rdfs:domain nco:Contact ;
+ rdfs:range nco:ContactGroup .
+
+nco:contactGroupName a rdf:Property ;
+ rdfs:label "contactGroupName" ;
+ rdfs:comment "The name of the contact group. This property was NOT defined in the VCARD standard. See documentation of the 'ContactGroup' class for details" ;
+ rdfs:subPropertyOf dc:title ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nco:ContactGroup ;
+ rdfs:range xsd:string ;
+ tracker:fulltextIndexed true ;
+ tracker:weight 4 .
+
+nco:contactMediumComment a rdf:Property ;
+ rdfs:label "contactMediumComment" ;
+ rdfs:comment "A comment about the contact medium." ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nco:ContactMedium ;
+ rdfs:range xsd:string .
+
+# Same remarks as in url
+nco:foafUrl a rdf:Property ;
+ rdfs:label "foafUrl" ;
+ rdfs:comment "The URL of the FOAF file." ;
+ rdfs:subPropertyOf nco:url ;
+ rdfs:domain nco:Role ;
+ rdfs:range rdfs:Resource .
+
+nco:emailAddress a rdf:Property ;
+ a nrl:InverseFunctionalProperty ;
+ rdfs:label "emailAddress" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nco:EmailAddress ;
+ rdfs:range xsd:string ;
+ tracker:fulltextIndexed true ;
+ tracker:weight 4 .
+
+nco:locality a rdf:Property ;
+ rdfs:label "locality" ;
+ rdfs:comment "Locality or City. Inspired by the fourth part of the value of the 'ADR' property as defined in RFC 2426, sec. 3.2.1" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nco:PostalAddress ;
+ rdfs:range xsd:string ;
+ tracker:fulltextIndexed true ;
+ tracker:weight 4 .
+
+nco:county a rdf:Property ;
+ rdfs:label "County" ;
+ rdfs:comment "Regional division between state and city. Not in RFC 2426 sec 3.2.1. Added for API compatibility" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nco:PostalAddress ;
+ rdfs:range xsd:string ;
+ tracker:fulltextIndexed true ;
+ tracker:weight 2 .
+
+nco:district a rdf:Property ;
+ rdfs:label "District" ;
+ rdfs:comment "Local division inside a city. Not in RFC 2426 sec 3.2.1. Added for API compatibility" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nco:PostalAddress ;
+ rdfs:range xsd:string ;
+ tracker:fulltextIndexed true ;
+ tracker:weight 2 .
+
+nco:sound a rdf:Property ;
+ rdfs:label "sound" ;
+ rdfs:comment "Sound clip attached to a Contact. The DataObject refered to by this property is usually interpreted as an nfo:Audio. Inspired by the SOUND property defined in RFC 2425 sec. 3.6.6." ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nco:Contact ;
+ rdfs:range nie:InformationElement .
+
+nco:imNickname a rdf:Property ;
+ rdfs:label "imNickname" ;
+ rdfs:comment "A nickname attached to a particular IM address." ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nco:IMAddress ;
+ rdfs:range xsd:string ;
+ tracker:fulltextIndexed true ;
+ tracker:weight 5 .
+
+nco:imAvatar a rdf:Property ;
+ rdfs:label "imAvatar" ;
+ rdfs:comment "A picture attached to a particular IM address.";
+ nrl:maxCardinality 1 ;
+ rdfs:domain nco:IMAddress ;
+ rdfs:range nie:DataObject .
+
+nco:hobby a rdf:Property ;
+ rdfs:label "hobby" ;
+ rdfs:comment "A hobby associated with a PersonContact. This property can be used to express hobbies and interests." ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nco:PersonContact ;
+ rdfs:range xsd:string ;
+ tracker:fulltextIndexed true ;
+ tracker:weight 2 .
+
+# Same remarks as in url
+nco:blogUrl a rdf:Property ;
+ rdfs:label "blogUrl" ;
+ rdfs:comment "A Blog url." ;
+ rdfs:subPropertyOf nco:url ;
+ rdfs:domain nco:Role ;
+ rdfs:range rdfs:Resource .
+
+nco:role a rdf:Property ;
+ rdfs:label "role" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nco:Affiliation ;
+ rdfs:range xsd:string ;
+ tracker:fulltextIndexed true ;
+ tracker:weight 2 .
+
+nco:hasPostalAddress a rdf:Property ;
+ rdfs:label "hasPostalAddress" ;
+ rdfs:comment "The default Address for a Contact. An equivalent of the 'ADR' property as defined in RFC 2426 Sec. 3.2.1." ;
+ rdfs:subPropertyOf nco:hasContactMedium ;
+ rdfs:domain nco:Role ;
+ rdfs:range nco:PostalAddress ;
+ tracker:indexed true .
+
+nco:imAccountType a rdf:Property ;
+ rdfs:label "imAccountType" ;
+ rdfs:comment "Type of the IM account. This may be the name of the service that provides the IM functionality. Examples might include Jabber, ICQ, MSN etc" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nco:IMAccount ;
+ rdfs:range xsd:string .
+
+nco:imProtocol a rdf:Property ;
+ rdfs:label "imProtocol" ;
+ rdfs:comment "Protocol of the account ('skype', 'gtalk', 'icq', ...)" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nco:IMAddress ;
+ rdfs:range xsd:string .
+
+nco:pobox a rdf:Property ;
+ rdfs:label "pobox" ;
+ rdfs:comment "Post office box. This is the first part of the value of the 'ADR' property as defined in RFC 2426, sec. 3.2.1" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nco:PostalAddress ;
+ rdfs:range xsd:string ;
+ tracker:fulltextIndexed true ;
+ tracker:weight 5 .
+
+nco:imStatusMessage a rdf:Property ;
+ rdfs:label "imStatusMessage" ;
+ rdfs:comment "A feature common in most IM systems. A message left by the user for all his/her contacts to see." ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nco:IMAddress ;
+ rdfs:range xsd:string .
+
+nco:imDisplayName a rdf:Property ;
+ rdfs:label "displayname";
+ rdfs:comment "The user-visible name of this account. This SHOULD be chosen by the user at account creation time. The account creation user interface is responsible for setting a reasonable default value in the user's locale; something like 'Jabber (bob@example.com)' would be sensible." ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nco:IMAccount ;
+ rdfs:range xsd:string .
+
+nco:imEnabled a rdf:Property ;
+ rdfs:label "enabled" ;
+ rdfs:comment "";
+ nrl:maxCardinality 1 ;
+ rdfs:domain nco:IMAccount ;
+ rdfs:range xsd:boolean .
+
+nco:gender a rdf:Property ;
+ rdfs:label "gender" ;
+ rdfs:comment "Gender of the given contact." ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nco:PersonContact ;
+ rdfs:range nco:Gender .
+
+nco:hasAffiliation a rdf:Property ;
+ rdfs:label "hasAffiliation" ;
+ rdfs:comment "Links a PersonContact with an Affiliation." ;
+ rdfs:domain nco:PersonContact ;
+ rdfs:range nco:Affiliation .
+
+#
+# IM related properties
+#
+nco:PresenceStatus a rdfs:Class ;
+ rdfs:label "Presence statuses";
+ rdfs:comment "Predefined set of status level instances" ;
+ rdfs:subClassOf rdfs:Resource .
+
+nco:presence-status-unset a nco:PresenceStatus .
+nco:presence-status-offline a nco:PresenceStatus .
+nco:presence-status-available a nco:PresenceStatus .
+nco:presence-status-away a nco:PresenceStatus .
+nco:presence-status-extended-away a nco:PresenceStatus .
+nco:presence-status-hidden a nco:PresenceStatus .
+nco:presence-status-busy a nco:PresenceStatus .
+nco:presence-status-unknown a nco:PresenceStatus .
+nco:presence-status-error a nco:PresenceStatus .
+
+nco:imPresence a rdf:Property ;
+ rdfs:label "imPresence" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nco:IMAddress ;
+ rdfs:range nco:PresenceStatus .
+
+nco:presenceLastModified a rdf:Property ;
+ rdfs:label "Presence last modified";
+ rdfs:comment "Timestamp of the last change in the presence status";
+ nrl:maxCardinality 1;
+ rdfs:domain nco:IMAddress ;
+ rdfs:range xsd:dateTime .
+
+nco:IMCapability a rdfs:Class ;
+ rdfs:label "IM Capabilities" ;
+ rdfs:comment "Features of a certain IM connection (depends on the IMAccount implementation used by the Contact)" ;
+ rdfs:subClassOf rdfs:Resource .
+
+nco:im-capability-text-chat a nco:IMCapability .
+nco:im-capability-media-calls a nco:IMCapability .
+nco:im-capability-audio-calls a nco:IMCapability .
+nco:im-capability-video-calls a nco:IMCapability .
+nco:im-capability-upgrading-calls a nco:IMCapability .
+nco:im-capability-file-transfers a nco:IMCapability .
+nco:im-capability-stream-tubes a nco:IMCapability .
+nco:im-capability-dbus-tubes a nco:IMCapability .
+
+
+nco:imCapability a rdf:Property ;
+ rdfs:label "imContact Capability";
+ rdfs:comment "Capabilities of an IM Contact, what can we interact with him";
+ rdfs:domain nco:IMAddress ;
+ rdfs:range nco:IMCapability .
+
+nco:hasIMAddress a rdf:Property ;
+ rdfs:label "imAddress";
+ rdfs:comment "An address for communication using instant messages with the object specified by this contact." ;
+ rdfs:subPropertyOf nco:hasContactMedium ;
+ rdfs:domain nco:Role ;
+ rdfs:range nco:IMAddress .
+
+#
+# Authorization flow between IM Accounts
+#
+nco:AuthorizationStatus a rdfs:Class ;
+ rdfs:label "IM Address approval status" ;
+ rdfs:comment "Predefined instances to indicate the auth status: yes, no, requested" ;
+ rdfs:subClassOf rdfs:Resource .
+
+nco:predefined-auth-status-yes a nco:AuthorizationStatus .
+nco:predefined-auth-status-no a nco:AuthorizationStatus .
+nco:predefined-auth-status-requested a nco:AuthorizationStatus .
+
+nco:imAddressAuthStatusFrom a rdf:Property ;
+ rdfs:label "IM Address authorization status in the remote end" ;
+ rdfs:comment "Has the other end authorize to receive information about his changes" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nco:IMAddress ;
+ rdfs:range nco:AuthorizationStatus .
+
+nco:imAddressAuthStatusTo a rdf:Property ;
+ rdfs:label "IM Address authorization status in the local end" ;
+ rdfs:comment "Do i authorize this im Account to receive my information" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nco:IMAddress ;
+ rdfs:range nco:AuthorizationStatus .
+
+# Proposal for Nepomuk
+nco:video a rdf:Property ;
+ rdfs:label "Contact video";
+ rdfs:comment "Video avatar of a contact. Note that is an icon/avatar, not a generic 'present in video' property";
+ rdfs:domain nco:Role ;
+ nrl:maxCardinality 1 ;
+ rdfs:range nie:InformationElement .
diff --git a/src/ontologies/33-nfo.description b/src/ontologies/33-nfo.description
new file mode 100644
index 000000000..f7e63455d
--- /dev/null
+++ b/src/ontologies/33-nfo.description
@@ -0,0 +1,26 @@
+@prefix dsc: <http://www.tracker-project.org/temp/dsc#> .
+
+<virtual-ontology-uri:33-nfo.ontology> a dsc:Ontology ;
+ dsc:title "Nepomuk File Ontology (NFO)" ;
+ dsc:description "About files and other desktop resources." ;
+
+ dsc:gitlog "http://git.gnome.org/cgit/tracker/log/src/ontologies/33-nfo.ontology";
+ dsc:upstream "http://www.semanticdesktop.org/ontologies/nfo/";
+
+ dsc:author "Antoni Mylka, DFKI, &lt;antoni.mylka@dfki.de&gt;";
+ dsc:author "Leo Sauermann, DFKI, &lt;leo.sauermann@dfki.de&gt;";
+ dsc:author "Michael Sintek, DFKI, &lt;michael.sintek@dfki.de&gt;";
+ dsc:author "Ludger van Elst, DFKI, &lt;elst@dfki.uni-kl.de&gt;";
+ dsc:author "Tracker Developers" ;
+
+ dsc:editor "Tracker developers (translation into turtle)" ;
+ dsc:editor "Antoni Mylka, DFKI, &lt;antoni.mylka@dfki.de&gt;";
+
+ dsc:contributor "Evgeny 'phreedom' Egorochkin, KDE Strigi Developer, &lt;stexx@mail.ru&gt;";
+ dsc:contributor "Christiaan Fluit, Aduna, &lt;christiaan.fluit@aduna-software.com&gt;";
+
+ dsc:localPrefix "nfo" ;
+ dsc:baseUrl "http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#" ;
+ dsc:relativePath "./33-nfo.ontology" ;
+
+ dsc:copyright "&copy; 2007 <ulink url=\"http://www.dfki.de/\">DFKI</ulink> &copy; 2009 <ulink url=\"http://www.nokia.com/\">Nokia</ulink>. The ontologies are made available under the terms of NEPOMUK <ulink url=\"http://www.semanticdesktop.org/ontologies/nfo/LICENSE.txt\">software license</ulink> (FIXME verify)".
diff --git a/src/ontologies/33-nfo.ontology b/src/ontologies/33-nfo.ontology
new file mode 100644
index 000000000..e8cebafb3
--- /dev/null
+++ b/src/ontologies/33-nfo.ontology
@@ -0,0 +1,1081 @@
+@prefix dc: <http://purl.org/dc/elements/1.1/> .
+@prefix nco: <http://www.semanticdesktop.org/ontologies/2007/03/22/nco#> .
+@prefix nfo: <http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#> .
+@prefix nie: <http://www.semanticdesktop.org/ontologies/2007/01/19/nie#> .
+@prefix nrl: <http://www.semanticdesktop.org/ontologies/2007/08/15/nrl#> .
+@prefix nao: <http://www.semanticdesktop.org/ontologies/2007/08/15/nao#> .
+@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
+@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
+@prefix tracker: <http://www.tracker-project.org/ontologies/tracker#> .
+@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
+@prefix nao: <http://www.semanticdesktop.org/ontologies/2007/08/15/nao#> .
+
+nfo: a tracker:Namespace, tracker:Ontology ;
+ tracker:prefix "nfo" ;
+ nao:lastModified "2014-10-06T13:05:00Z" .
+
+nfo:Document a rdfs:Class ;
+ rdfs:label "Document" ;
+ rdfs:comment "A generic document. A common superclass for all documents on the desktop." ;
+ tracker:notify true;
+ rdfs:subClassOf nie:InformationElement .
+
+nfo:FileDataObject a rdfs:Class ;
+ rdfs:label "FileDataObject" ;
+ rdfs:comment "A resource containing a finite sequence of bytes with arbitrary information, that is available to a computer program and is usually based on some kind of durable storage. A file is durable in the sense that it remains available for programs to use after the current program has finished." ;
+ rdfs:subClassOf nie:DataObject .
+
+nfo:Software a rdfs:Class ;
+ rdfs:label "Software" ;
+ rdfs:comment "A piece of software. Examples may include applications and the operating system. This interpretation most commonly applies to SoftwareItems." ;
+ rdfs:subClassOf nie:InformationElement .
+
+nfo:Media a rdfs:Class ;
+ rdfs:label "Media" ;
+ rdfs:comment "A piece of media content. This class may be used to express complex media containers with many streams of various media content (both aural and visual)." ;
+ rdfs:subClassOf nie:InformationElement .
+
+nfo:Visual a rdfs:Class ;
+ rdfs:label "Visual" ;
+ rdfs:comment "File containing visual content." ;
+ tracker:domainIndex nie:contentCreated ;
+ rdfs:subClassOf nfo:Media .
+
+nfo:Image a rdfs:Class ;
+ rdfs:label "Image" ;
+ rdfs:comment "A file containing an image." ;
+ tracker:notify true ;
+ rdfs:subClassOf nfo:Visual .
+
+nfo:RasterImage a rdfs:Class ;
+ rdfs:label "RasterImage" ;
+ rdfs:comment "A raster image." ;
+ rdfs:subClassOf nfo:Image .
+
+nfo:DataContainer a rdfs:Class ;
+ rdfs:label "DataContainer" ;
+ rdfs:comment "A superclass for all entities, whose primary purpose is to serve as containers for other data object. They usually don't have any 'meaning' by themselves. Examples include folders, archives and optical disc images." ;
+ tracker:notify true ;
+ rdfs:subClassOf nie:InformationElement .
+
+nfo:RemotePortAddress a rdfs:Class ;
+ rdfs:label "RemotePortAddress" ;
+ rdfs:comment "An address specifying a remote host and port. Such an address can be interpreted in many ways (examples of such interpretations include mailboxes, websites, remote calendars or filesystems), depending on an interpretation, various kinds of data may be extracted from such an address." ;
+ rdfs:subClassOf nie:DataObject .
+
+nfo:MediaFileListEntry a rdfs:Class ;
+ rdfs:label "MediaFileListEntry" ;
+ rdfs:comment "A single node in the list of media files contained within an MediaList instance. This class is intended to provide a type all those links have. In valid NRL untyped resources cannot be linked. There are no properties defined for this class but the application may expect rdf:first and rdf:last links. The former points to the DataObject instance, interpreted as Media the latter points at another MediaFileListEntr. At the end of the list there is a link to rdf:nil." ;
+ rdfs:subClassOf rdfs:Resource .
+
+nfo:VectorImage a rdfs:Class ;
+ rdfs:label "VectorImage" ;
+ rdfs:subClassOf nfo:Image .
+
+nfo:Audio a rdfs:Class ;
+ rdfs:label "Audio" ;
+ rdfs:comment "A file containing audio content" ;
+ tracker:notify true ;
+ rdfs:subClassOf nfo:Media .
+
+nfo:CompressionType a rdfs:Class ;
+ rdfs:label "CompressionType" ;
+ rdfs:comment "Type of compression. Instances of this class represent the limited set of values allowed for the nfo:compressionType property." ;
+ rdfs:subClassOf rdfs:Resource .
+
+nfo:Icon a rdfs:Class ;
+ rdfs:label "Icon" ;
+ rdfs:comment "An Icon (regardless of whether it's a raster or a vector icon. A resource representing an icon could have two types (Icon and Raster, or Icon and Vector) if required." ;
+ rdfs:subClassOf nfo:Image .
+
+nfo:TextDocument a rdfs:Class ;
+ rdfs:label "TextDocument" ;
+ rdfs:comment "A text document" ;
+ rdfs:subClassOf nfo:Document .
+
+nfo:PlainTextDocument a rdfs:Class ;
+ rdfs:label "PlainTextDocument" ;
+ rdfs:comment "A file containing plain text (ASCII, Unicode or other encodings). Examples may include TXT, HTML, XML, program source code etc." ;
+ rdfs:subClassOf nfo:TextDocument .
+
+nfo:HtmlDocument a rdfs:Class ;
+ rdfs:label "HtmlDocument" ;
+ rdfs:comment "A HTML document, may contain links to other files." ;
+ rdfs:subClassOf nfo:PlainTextDocument .
+
+nfo:OperatingSystem a rdfs:Class ;
+ rdfs:label "OperatingSystem" ;
+ rdfs:comment "An OperatingSystem" ;
+ rdfs:subClassOf nfo:Software .
+
+nfo:MediaList a rdfs:Class ;
+ rdfs:label "MediaList" ;
+ rdfs:comment "A file containing a list of media files.e.g. a playlist" ;
+ rdfs:subClassOf nie:InformationElement .
+
+nfo:Executable a rdfs:Class ;
+ rdfs:label "Executable" ;
+ rdfs:comment "An executable file." ;
+ rdfs:subClassOf nie:InformationElement .
+
+nfo:Folder a rdfs:Class ;
+ rdfs:label "Folder" ;
+ rdfs:comment "A folder/directory. Examples of folders include folders on a filesystem and message folders in a mailbox." ;
+ rdfs:subClassOf nfo:DataContainer .
+
+nfo:Font a rdfs:Class ;
+ rdfs:label "Font" ;
+ rdfs:comment "A font." ;
+ rdfs:subClassOf nie:InformationElement .
+
+nfo:Filesystem a rdfs:Class ;
+ rdfs:label "Filesystem" ;
+ rdfs:comment "A filesystem. Examples of filesystems include hard disk partitions, removable media, but also images thereof stored in files." ;
+ rdfs:subClassOf nfo:DataContainer .
+
+nfo:SoftwareService a rdfs:Class ;
+ rdfs:label "SoftwareService" ;
+ rdfs:comment "A service published by a piece of software, either by an operating system or an application. Examples of such services may include calendar, addresbook and mailbox managed by a PIM application. This category is introduced to distinguish between data available directly from the applications (Via some Interprocess Communication Mechanisms) and data available from files on a disk. In either case both DataObjects would receive a similar interpretation (e.g. a Mailbox) and wouldn't differ on the content level." ;
+ rdfs:subClassOf nie:DataObject .
+
+nfo:SoftwareItem a rdfs:Class ;
+ rdfs:label "SoftwareItem" ;
+ rdfs:comment "A DataObject representing a piece of software. Examples of interpretations of a SoftwareItem include an Application and an OperatingSystem." ;
+ rdfs:subClassOf nie:DataObject .
+
+nfo:Presentation a rdfs:Class ;
+ rdfs:label "Presentation" ;
+ rdfs:comment "A Presentation made by some presentation software (Corel Presentations, OpenOffice Impress, MS Powerpoint etc.)" ;
+ rdfs:subClassOf nfo:Document .
+
+nfo:RemoteDataObject a rdfs:Class ;
+ rdfs:label "RemoteDataObject" ;
+ rdfs:comment "A file data object stored at a remote location. Don't confuse this class with a RemotePortAddress. This one applies to a particular resource, RemotePortAddress applies to an address, that can have various interpretations." ;
+ rdfs:subClassOf nfo:FileDataObject .
+
+nfo:PaginatedTextDocument a rdfs:Class ;
+ rdfs:label "PaginatedTextDocument" ;
+ rdfs:comment "A file containing a text document, that is unambiguously divided into pages. Examples might include PDF, DOC, PS', DVI etc." ;
+ rdfs:subClassOf nfo:TextDocument .
+
+nfo:Video a rdfs:Class ;
+ rdfs:label "Video" ;
+ rdfs:comment "A video file." ;
+ tracker:notify true ;
+ rdfs:subClassOf nfo:Visual .
+
+nfo:Spreadsheet a rdfs:Class ;
+ rdfs:label "Spreadsheet" ;
+ rdfs:comment "A spreadsheet, created by a spreadsheet application. Examples might include Gnumeric, OpenOffice Calc or MS Excel." ;
+ rdfs:subClassOf nfo:Document .
+
+nfo:Trash a rdfs:Class ;
+ rdfs:label "Trash" ;
+ rdfs:comment "Represents a container for deleted files, a feature common in modern operating systems." ;
+ rdfs:subClassOf nfo:DataContainer .
+
+nfo:FileHash a rdfs:Class ;
+ rdfs:label "FileHash" ;
+ rdfs:comment "A fingerprint of the file, generated by some hashing function." ;
+ rdfs:subClassOf rdfs:Resource .
+
+nfo:SourceCode a rdfs:Class ;
+ rdfs:label "SourceCode" ;
+ rdfs:comment "Code in a compilable or interpreted programming language." ;
+ rdfs:subClassOf nfo:PlainTextDocument .
+
+nfo:Application a rdfs:Class ;
+ rdfs:label "Application" ;
+ rdfs:comment "An application" ;
+ rdfs:subClassOf nfo:Software .
+
+nfo:EmbeddedFileDataObject a rdfs:Class ;
+ rdfs:label "EmbeddedFileDataObject" ;
+ rdfs:comment "A file embedded in another data object. There are many ways in which a file may be embedded in another one. Use this class directly only in cases if none of the subclasses gives a better description of your case." ;
+ rdfs:subClassOf nfo:FileDataObject .
+
+nfo:Attachment a rdfs:Class ;
+ rdfs:label "Attachment" ;
+ rdfs:comment "A file attached to another data object. Many data formats allow for attachments: emails, vcards, ical events, id3 and exif..." ;
+ rdfs:subClassOf nfo:EmbeddedFileDataObject .
+
+nfo:ArchiveItem a rdfs:Class ;
+ rdfs:label "ArchiveItem" ;
+ rdfs:comment "A file entity inside an archive." ;
+ rdfs:subClassOf nfo:EmbeddedFileDataObject .
+
+nfo:Archive a rdfs:Class ;
+ rdfs:label "Archive" ;
+ rdfs:comment "A compressed file. May contain other files or folder inside." ;
+ rdfs:subClassOf nfo:DataContainer .
+
+nfo:MindMap a rdfs:Class ;
+ rdfs:label "MindMap" ;
+ rdfs:comment "A MindMap, created by a mind-mapping utility. Examples might include FreeMind or mind mapper." ;
+ rdfs:subClassOf nfo:Document .
+
+nfo:MediaStream a rdfs:Class ;
+ rdfs:label "MediaStream" ;
+ rdfs:comment "A stream of multimedia content, usually contained within a media container such as a movie (containing both audio and video) or a DVD (possibly containing many streams of audio and video). Most common interpretations for such a DataObject include Audio and Video." ;
+ rdfs:subClassOf nie:DataObject .
+
+nfo:BookmarkFolder a rdfs:Class ;
+ rdfs:label "Bookmark Folder" ;
+ rdfs:comment "A folder with bookmarks of a webbrowser. Use nfo:containsBookmark to relate Bookmarks. Folders can contain subfolders, use containsBookmarkFolder to relate them." ;
+ tracker:notify true ;
+ rdfs:subClassOf nie:InformationElement .
+
+nfo:FilesystemImage a rdfs:Class ;
+ rdfs:label "FilesystemImage" ;
+ rdfs:comment "An image of a filesystem. Instances of this class may include CD images, DVD images or hard disk partition images created by various pieces of software (e.g. Norton Ghost)" ;
+ rdfs:subClassOf nfo:Filesystem .
+
+nfo:HardDiskPartition a rdfs:Class ;
+ rdfs:label "HardDiskPartition" ;
+ rdfs:comment "A partition on a hard disk" ;
+ rdfs:subClassOf nie:DataObject .
+
+nfo:Cursor a rdfs:Class ;
+ rdfs:label "Cursor" ;
+ rdfs:comment "A Cursor." ;
+ rdfs:subClassOf nfo:RasterImage .
+
+nfo:Bookmark a rdfs:Class ;
+ rdfs:label "Bookmark" ;
+ rdfs:comment "A bookmark of a webbrowser. Use nie:title for the name/label, nie:contentCreated to represent the date when the user added the bookmark, and nie:contentLastModified for modifications. nfo:bookmarks to store the link." ;
+ tracker:notify true ;
+ rdfs:subClassOf nie:InformationElement .
+
+nfo:DeletedResource a rdfs:Class ;
+ rdfs:label "DeletedResource" ;
+ rdfs:comment "A file entity that has been deleted from the original source. Usually such entities are stored within various kinds of 'Trash' or 'Recycle Bin' folders." ;
+ rdfs:subClassOf nfo:FileDataObject .
+
+nfo:Website a rdfs:Class ;
+ rdfs:label "Website" ;
+ rdfs:comment "A website, usually a container for remote resources, that may be interpreted as HTMLDocuments, images or other types of content." ;
+ rdfs:subClassOf nie:InformationElement .
+
+nfo:WebHistory a rdfs:Class ;
+ rdfs:label "Web History" ;
+ rdfs:comment "A web history entry" ;
+ tracker:notify true ;
+ rdfs:subClassOf nie:InformationElement .
+
+nfo:count a rdf:Property ;
+ rdfs:label "count" ;
+ rdfs:comment "A common superproperty for all properties signifying the amount of atomic media data units. Examples of subproperties may include sampleCount and frameCount." ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nfo:Media ;
+ rdfs:range xsd:integer .
+
+nfo:channels a rdf:Property ;
+ rdfs:label "channels" ;
+ rdfs:comment "Number of channels. This property is to be used directly if no detailed information is necessary. Otherwise use more detailed subproperties." ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nfo:Audio ;
+ rdfs:range xsd:integer .
+
+nfo:sideChannels a rdf:Property ;
+ rdfs:label "sideChannels" ;
+ rdfs:comment "Number of side channels" ;
+ rdfs:subPropertyOf nfo:channels ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nfo:Audio ;
+ rdfs:range xsd:integer .
+
+nfo:frameRate a rdf:Property ;
+ rdfs:label "frameRate" ;
+ rdfs:comment "Amount of video frames per second." ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nfo:Video ;
+ rdfs:range xsd:double .
+
+nfo:commentCharacterCount a rdf:Property ;
+ rdfs:label "commentCharacterCount" ;
+ rdfs:comment "The amount of character in comments i.e. characters ignored by the compiler/interpreter." ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nfo:SourceCode ;
+ rdfs:range xsd:integer .
+
+nfo:duration a rdf:Property ;
+ rdfs:label "duration" ;
+ rdfs:comment "Duration of a media piece." ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nfo:Media ;
+ rdfs:range xsd:integer .
+
+nfo:wordCount a rdf:Property ;
+ rdfs:label "wordCount" ;
+ rdfs:comment "The amount of words in a text document." ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nfo:TextDocument ;
+ rdfs:range xsd:integer .
+
+nfo:fileLastAccessed a rdf:Property ;
+ rdfs:label "fileLastAccessed" ;
+ rdfs:comment "Time when the file was last accessed." ;
+ rdfs:subPropertyOf dc:date ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nfo:FileDataObject ;
+ rdfs:range xsd:dateTime .
+
+nfo:fileCreated a rdf:Property ;
+ rdfs:label "fileCreated" ;
+ rdfs:comment "File creation date" ;
+ rdfs:subPropertyOf nie:created ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nfo:FileDataObject ;
+ rdfs:range xsd:dateTime .
+
+nfo:belongsToContainer a rdf:Property ;
+ rdfs:label "belongsToContainer" ;
+ rdfs:comment "Models the containment relations between Files and Folders (or CompressedFiles)." ;
+ rdfs:subPropertyOf nie:isPartOf ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nie:DataObject ;
+ rdfs:range nfo:DataContainer .
+
+nfo:aspectRatio a rdf:Property ;
+ rdfs:label "aspectRatio" ;
+ rdfs:comment "Visual content aspect ratio. (Width divided by Height)" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nfo:Visual ;
+ rdfs:range xsd:double .
+
+nfo:heading a rdf:Property ;
+ rdfs:label "Heading" ;
+ rdfs:comment "Specifies the direction of travelling while capturing image/video. The range of values from 0.00 to 359.99 (where 0 is due North, 90 is East, 180 South and 270 is West)";
+ nrl:maxCardinality 1;
+ tracker:writeback true ;
+ rdfs:domain nfo:Visual ;
+ rdfs:range xsd:double .
+
+nfo:tilt a rdf:Property ;
+ rdfs:label "Tilt" ;
+ rdfs:comment "Vertical inclination of the camera while capturing the image, in angles starting on 0 as horizontal, positive numbers pointing up, negative angles pointing down" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nfo:Visual ;
+ rdfs:range xsd:double .
+
+nfo:fileSize a rdf:Property ;
+ rdfs:label "fileSize" ;
+ rdfs:comment "The size of the file in bytes. For compressed files it means the size of the packed file, not of the contents. For folders it means the aggregated size of all contained files and folders" ;
+ rdfs:subPropertyOf nie:byteSize ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nfo:FileDataObject ;
+ rdfs:range xsd:integer .
+
+nfo:conflicts a rdf:Property ;
+ rdfs:label "conflicts" ;
+ rdfs:comment "States that a piece of software is in conflict with another piece of software." ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nfo:Software ;
+ rdfs:range nfo:Software .
+
+nfo:hashValue a rdf:Property ;
+ rdfs:label "hashValue" ;
+ rdfs:comment "The actual value of the hash." ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nfo:FileHash ;
+ rdfs:range xsd:string .
+
+nfo:pageCount a rdf:Property ;
+ rdfs:label "pageCount" ;
+ rdfs:comment "Number of pages." ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nfo:PaginatedTextDocument ;
+ rdfs:range xsd:integer .
+
+nfo:programmingLanguage a rdf:Property ;
+ rdfs:label "programmingLanguage" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nfo:SourceCode ;
+ rdfs:range xsd:string .
+
+nfo:definesClass a rdf:Property ;
+ rdfs:label "definesClass" ;
+ rdfs:comment "Name of a class defined in the source code file." ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nfo:SourceCode ;
+ rdfs:range xsd:string .
+
+nfo:interlaceMode a rdf:Property ;
+ rdfs:label "interlaceMode" ;
+ rdfs:comment "True if the image is interlaced, false if not." ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nfo:Visual ;
+ rdfs:range xsd:boolean .
+
+nfo:permissions a rdf:Property ;
+ rdfs:label "permissions" ;
+ rdfs:comment "A string containing the permissions of a file. A feature common in many UNIX-like operating systems." ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nfo:FileDataObject ;
+ rdfs:range xsd:string .
+
+nfo:lfeChannels a rdf:Property ;
+ rdfs:label "lfeChannels" ;
+ rdfs:comment "Number of Low Frequency Expansion (subwoofer) channels." ;
+ rdfs:subPropertyOf nfo:channels ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nfo:Audio ;
+ rdfs:range xsd:integer .
+
+nfo:supercedes a rdf:Property ;
+ rdfs:label "supercedes" ;
+ rdfs:comment "States that a piece of software supercedes another piece of software." ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nfo:Software ;
+ rdfs:range nfo:Software .
+
+nfo:definesFunction a rdf:Property ;
+ rdfs:label "definesFunction" ;
+ rdfs:comment "A name of a function/method defined in the given source code file." ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nfo:SourceCode ;
+ rdfs:range xsd:string .
+
+nfo:hasMediaFileListEntry a rdf:Property ;
+ rdfs:label "hasMediaFileListEntry" ;
+ rdfs:comment "This property is intended to point to an RDF list of MediaFiles." ;
+ rdfs:domain nfo:MediaList ;
+ rdfs:range nfo:MediaFileListEntry ;
+ tracker:writeback true .
+
+# Propose in nepomuk
+nfo:entryCounter a rdf:Property ;
+ rdfs:label "entry Counter" ;
+ rdfs:comment "Number of entries in the list. Optimize some common queries" ;
+ rdfs:domain nfo:MediaList ;
+ rdfs:range xsd:integer ;
+ nrl:maxCardinality 1 ;
+ tracker:writeback true .
+
+nfo:listDuration a rdf:Property ;
+ rdfs:label "List duration" ;
+ rdfs:comment "Sum of the duration of all items in the list. Optimize some common queries. In seconds";
+ rdfs:domain nfo:MediaList ;
+ rdfs:range xsd:integer ;
+ nrl:maxCardinality 1 ;
+ tracker:writeback true .
+
+# Propose in nepomuk
+nfo:listPosition a rdf:Property ;
+ rdfs:label "list position" ;
+ rdfs:comment "Position of an entry in a list. Double, to optimize the poor insertions" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nfo:MediaFileListEntry ;
+ rdfs:range xsd:double ;
+ tracker:writeback true .
+
+
+# Propose in nepomuk
+
+nfo:entryUrl a rdf:Property ;
+ rdfs:label "Entry URL" ;
+ rdfs:comment "URL to the element in certain position of the list" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nfo:MediaFileListEntry ;
+ rdfs:range xsd:string ;
+ tracker:writeback true .
+
+nfo:height a rdf:Property ;
+ rdfs:label "height" ;
+ rdfs:comment "Visual content height in pixels." ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nfo:Visual ;
+ rdfs:range xsd:integer .
+
+nfo:hashAlgorithm a rdf:Property ;
+ rdfs:label "hashAlgorithm" ;
+ rdfs:comment "Name of the algorithm used to compute the hash value. Examples might include CRC32, MD5, SHA, TTH etc." ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nfo:FileHash ;
+ rdfs:range xsd:string .
+
+nfo:fileName a rdf:Property ;
+ rdfs:label "fileName" ;
+ rdfs:comment "Name of the file, together with the extension" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nfo:FileDataObject ;
+ rdfs:range xsd:string ;
+ tracker:indexed true ;
+ tracker:fulltextIndexed true ;
+ tracker:weight 7 .
+
+nfo:encoding a rdf:Property ;
+ rdfs:label "encoding" ;
+ rdfs:comment "The encoding used for the Embedded File. Examples might include BASE64 or UUEncode" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nfo:EmbeddedFileDataObject ;
+ rdfs:range xsd:string .
+
+nfo:verticalResolution a rdf:Property ;
+ rdfs:label "verticalResolution" ;
+ rdfs:comment "Vertical resolution of an Image (if printed). Expressed in DPI" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nfo:Image ;
+ rdfs:range xsd:integer .
+
+nfo:definesGlobalVariable a rdf:Property ;
+ rdfs:label "definesGlobalVariable" ;
+ rdfs:comment "Name of a global variable defined within the source code file." ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nfo:SourceCode ;
+ rdfs:range xsd:string .
+
+nfo:compressionType a rdf:Property ;
+ rdfs:label "compressionType" ;
+ rdfs:comment "The type of the compression. Values include, lossy and lossless." ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nfo:Media ;
+ rdfs:range nfo:CompressionType .
+
+nfo:hasMediaStream a rdf:Property ;
+ rdfs:label "hasMediaStream" ;
+ rdfs:comment "Connects a media container with a single media stream contained within." ;
+ rdfs:subPropertyOf nie:hasPart ;
+ rdfs:domain nfo:Media ;
+ rdfs:range nie:DataObject .
+
+nfo:width a rdf:Property ;
+ rdfs:label "width" ;
+ rdfs:comment "Visual content width in pixels." ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nfo:Visual ;
+ rdfs:range xsd:integer .
+
+nfo:sampleCount a rdf:Property ;
+ rdfs:label "sampleCount" ;
+ rdfs:comment "The amount of samples in an audio clip." ;
+ rdfs:subPropertyOf nfo:count ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nfo:Audio ;
+ rdfs:range xsd:integer .
+
+# Propose in Nepomuk
+nfo:tableOfContents a rdf:Property ;
+ rdfs:label "Table of contents";
+ rdfs:comment "Section titles and figure descriptions of the document.";
+ nrl:maxCardinality 1 ;
+ rdfs:domain nfo:Document ;
+ rdfs:range xsd:string ;
+ tracker:fulltextIndexed true ;
+ tracker:weight 5 .
+
+# Not in upstream Nepomuk. Pending to submit there.
+nfo:Note a rdfs:Class ;
+ rdfs:label "Note";
+ rdfs:comment "Usually small document with snippets, reminders or frequenly used content.";
+ rdfs:subClassOf nfo:Document .
+
+nfo:lineCount a rdf:Property ;
+ rdfs:label "lineCount" ;
+ rdfs:comment "The amount of lines in a text document" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nfo:TextDocument ;
+ rdfs:range xsd:integer .
+
+# FIXME It can be xsd:string...
+nfo:bitDepth a rdf:Property ;
+ rdfs:label "bitDepth" ;
+ rdfs:comment "A common superproperty for all properties signifying the amount of bits for an atomic unit of data. Examples of subproperties may include bitsPerSample and bitsPerPixel" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nfo:Media ;
+ rdfs:range rdfs:Literal .
+
+nfo:bitsPerSample a rdf:Property ;
+ rdfs:label "bitsPerSample" ;
+ rdfs:comment "Amount of bits in each audio sample." ;
+ rdfs:subPropertyOf nfo:bitDepth ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nfo:Audio ;
+ rdfs:range xsd:integer .
+
+nfo:hasHash a rdf:Property ;
+ rdfs:label "hasHash" ;
+ rdfs:comment "Links the file with it's hash value." ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nfo:FileDataObject ;
+ rdfs:range nfo:FileHash .
+
+nfo:fileOwner a rdf:Property ;
+ rdfs:label "fileOwner" ;
+ rdfs:comment "The owner of the file as defined by the file system access rights feature." ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nfo:FileDataObject ;
+ rdfs:range nco:Contact .
+
+nfo:containsBookmarkFolder a rdf:Property ;
+ rdfs:label "contains folder" ;
+ rdfs:comment "The folder contains a bookmark folder." ;
+ rdfs:subPropertyOf nie:hasLogicalPart ;
+ rdfs:domain nfo:BookmarkFolder ;
+ rdfs:range nfo:BookmarkFolder .
+
+# FIXME request range fix to upstream Nepomuk
+nfo:codec a rdf:Property ;
+ rdfs:label "codec" ;
+ rdfs:comment "The name of the codec necessary to decode a piece of media." ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nfo:Media ;
+ rdfs:range xsd:string .
+
+# FIXME Added property
+nfo:encodedBy a rdf:Property ;
+ rdfs:label "encodedBy" ;
+ rdfs:comment "The contains the name of the person or organisation that encoded the media" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nfo:Media ;
+ rdfs:range xsd:string .
+
+nfo:fontFamily a rdf:Property ;
+ rdfs:label "fontFamily" ;
+ rdfs:comment "The name of the font family." ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nfo:Font ;
+ rdfs:range xsd:string ;
+ tracker:fulltextIndexed true ;
+ tracker:weight 5 .
+
+nfo:frontChannels a rdf:Property ;
+ rdfs:label "frontChannels" ;
+ rdfs:comment "Number of front channels." ;
+ rdfs:subPropertyOf nfo:channels ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nfo:Audio ;
+ rdfs:range xsd:integer .
+
+nfo:originalLocation a rdf:Property ;
+ rdfs:label "originalLocation" ;
+ rdfs:comment "The original location of the deleted resource." ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nfo:DeletedResource ;
+ rdfs:range xsd:string .
+
+nfo:foundry a rdf:Property ;
+ rdfs:label "foundry" ;
+ rdfs:comment "The foundry, the organization that created the font." ;
+ rdfs:subPropertyOf nco:creator ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nfo:Font ;
+ rdfs:range nco:Contact .
+
+nfo:colorDepth a rdf:Property ;
+ rdfs:label "colorDepth" ;
+ rdfs:comment "Amount of bits used to express the color of each pixel." ;
+ rdfs:subPropertyOf nfo:bitDepth ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nfo:Visual ;
+ rdfs:range xsd:integer .
+
+nfo:frameCount a rdf:Property ;
+ rdfs:label "frameCount" ;
+ rdfs:comment "The amount of frames in a video sequence." ;
+ rdfs:subPropertyOf nfo:count ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nfo:Video ;
+ rdfs:range xsd:integer .
+
+nfo:horizontalResolution a rdf:Property ;
+ rdfs:label "horizontalResolution" ;
+ rdfs:comment "Horizontal resolution of an image (if printed). Expressed in DPI." ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nfo:Image ;
+ rdfs:range xsd:integer .
+
+nfo:characterCount a rdf:Property ;
+ rdfs:label "characterCount" ;
+ rdfs:comment "The amount of characters in the document." ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nfo:TextDocument ;
+ rdfs:range xsd:integer .
+
+nfo:bitrateType a rdf:Property ;
+ rdfs:label "bitrateType" ;
+ rdfs:comment "The type of the bitrate. Examples may include CBR and VBR." ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nfo:Media ;
+ rdfs:range xsd:string .
+
+nfo:isPasswordProtected a rdf:Property ;
+ rdfs:label "isPasswordProtected" ;
+ rdfs:comment "States if a given resource is password-protected." ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nfo:ArchiveItem ;
+ rdfs:range xsd:boolean .
+
+nfo:sampleRate a rdf:Property ;
+ rdfs:label "sampleRate" ;
+ rdfs:comment "The amount of audio samples per second." ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nfo:Audio ;
+ rdfs:range xsd:double .
+
+nfo:fileLastModified a rdf:Property ;
+ rdfs:label "fileLastModified" ;
+ rdfs:comment "last modification date" ;
+ rdfs:subPropertyOf dc:date ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nfo:FileDataObject ;
+ rdfs:range xsd:dateTime ;
+ tracker:indexed true .
+
+nfo:containsBookmark a rdf:Property ;
+ rdfs:label "contains bookmark" ;
+ rdfs:comment "The folder contains a bookmark." ;
+ rdfs:subPropertyOf nie:hasLogicalPart ;
+ rdfs:domain nfo:BookmarkFolder ;
+ rdfs:range nfo:Bookmark .
+
+nfo:averageBitrate a rdf:Property ;
+ rdfs:label "averageBitrate" ;
+ rdfs:comment "The average overall bitrate of a media container. (i.e. the size of the piece of media in bits, divided by it's duration expressed in seconds)." ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nfo:Media ;
+ rdfs:range xsd:double .
+
+nfo:averageVideoBitrate a rdf:Property ;
+ rdfs:label "averageBitrate" ;
+ rdfs:comment "The average overall bitrate of a media container. (i.e. the size of the piece of media in bits, divided by it's duration expressed in seconds)." ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nfo:Video ;
+ rdfs:range xsd:double .
+
+nfo:averageAudioBitrate a rdf:Property ;
+ rdfs:label "averageBitrate" ;
+ rdfs:comment "The average overall bitrate of a media container. (i.e. the size of the piece of media in bits, divided by it's duration expressed in seconds)." ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nfo:Audio ;
+ rdfs:range xsd:double .
+
+nfo:deletionDate a rdf:Property ;
+ rdfs:label "deletionDate" ;
+ rdfs:comment "The date and time of the deletion." ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nfo:DeletedResource ;
+ rdfs:range xsd:dateTime .
+
+nfo:depiction a rdf:Property ;
+ a nrl:InverseFunctionalProperty ;
+ rdfs:label "depiction" ;
+ rdfs:comment "Relates an information element to an image which depicts said element." ;
+ rdfs:domain rdfs:Resource ;
+ rdfs:range nfo:Image .
+
+nfo:depicts a rdf:Property ;
+ a nrl:InverseFunctionalProperty ;
+ rdfs:label "depicts" ;
+ rdfs:comment "Relates an image to the information elements it depicts." ;
+ rdfs:domain nfo:Image ;
+ rdfs:range rdfs:Resource .
+
+nfo:bookmarks a rdf:Property ;
+ rdfs:label "link" ;
+ rdfs:comment "The address of the linked object. Usually a web URL." ;
+ rdfs:subPropertyOf nie:links ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nfo:Bookmark ;
+ rdfs:range nie:DataObject .
+
+nfo:uncompressedSize a rdf:Property ;
+ rdfs:label "uncompressedSize" ;
+ rdfs:comment "Uncompressed size of the content of a compressed file." ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nfo:Archive ;
+ rdfs:range xsd:integer .
+
+nfo:rearChannels a rdf:Property ;
+ rdfs:label "rearChannels" ;
+ rdfs:comment "Number of rear channels." ;
+ rdfs:subPropertyOf nfo:channels ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nfo:Audio ;
+ rdfs:range xsd:integer .
+
+nfo:genre a rdf:Property ;
+ rdfs:label "Genre" ;
+ rdfs:comment "Genre of media" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nfo:Media ;
+ rdfs:range xsd:string ;
+ tracker:fulltextIndexed true ;
+ tracker:weight 4 .
+
+nfo:gain a rdf:Property ;
+ rdfs:label "Gain" ;
+ rdfs:comment "Gain of media" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nfo:Audio ;
+ rdfs:range xsd:integer .
+
+nfo:peakGain a rdf:Property ;
+ rdfs:label "Peak Gain" ;
+ rdfs:comment "Peak Gain of media" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nfo:Audio ;
+ rdfs:range xsd:integer .
+
+nfo:characterPosition a rdf:Property ;
+ rdfs:label "Character position" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nfo:Bookmark ;
+ rdfs:range xsd:integer .
+
+nfo:pageNumber a rdf:Property ;
+ rdfs:label "Page number" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nfo:Bookmark ;
+ rdfs:range xsd:integer .
+
+nfo:streamPosition a rdf:Property ;
+ rdfs:label "Stream position" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nfo:Bookmark ;
+ rdfs:range xsd:integer .
+
+nfo:streamDuration a rdf:Property ;
+ rdfs:label "Stream duration" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nfo:Bookmark ;
+ rdfs:range xsd:integer .
+
+nfo:domain a rdf:Property ;
+ rdfs:label "Domain for a web history entry" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nfo:WebHistory ;
+ rdfs:range xsd:string ;
+ tracker:weight 3 .
+
+nfo:uri a rdf:Property ;
+ rdfs:label "Uri for a web history entry" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nfo:WebHistory ;
+ rdfs:range xsd:string ;
+ tracker:weight 5 .
+
+# Added
+
+nfo:ImageCategory a rdfs:Class ;
+ rdfs:label "Image category" ;
+ rdfs:comment "A image category" ;
+ rdfs:subClassOf nfo:DataContainer .
+
+nfo:image-category-screenshot a nfo:ImageCategory .
+
+nfo:SoftwareCategory a rdfs:Class ;
+ rdfs:label "Software" ;
+ rdfs:comment "A software category" ;
+ rdfs:subClassOf nfo:DataContainer, nie:InformationElement .
+
+nfo:softwareCategoryIcon a rdf:Property ;
+ rdfs:label "SoftwareIcon" ;
+ rdfs:comment "Icon of the software" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nfo:SoftwareCategory ;
+ rdfs:range nfo:Image .
+
+nfo:SoftwareApplication a rdfs:Class ;
+ rdfs:label "Application" ;
+ rdfs:comment "An application" ;
+ rdfs:subClassOf nfo:Software ;
+ tracker:notify true .
+
+nfo:softwareIcon a rdf:Property ;
+ rdfs:label "SoftwareIcon" ;
+ rdfs:comment "Icon of the software" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nfo:Software ;
+ rdfs:range nfo:Image .
+
+nfo:softwareCmdLine a rdf:Property ;
+ rdfs:label "SoftwareCmdLine" ;
+ rdfs:comment "Command to launch the software" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nfo:Software ;
+ rdfs:range xsd:string ;
+ tracker:weight 3 .
+
+# Also added
+
+nfo:Orientation a rdfs:Class ;
+ rdfs:label "Orientation enum" ;
+ rdfs:comment "Orientation enum" ;
+ rdfs:subClassOf rdfs:Resource .
+
+nfo:orientation-top a nfo:Orientation .
+nfo:orientation-top-mirror a nfo:Orientation .
+nfo:orientation-bottom a nfo:Orientation .
+nfo:orientation-bottom-mirror a nfo:Orientation .
+nfo:orientation-left-mirror a nfo:Orientation .
+nfo:orientation-right a nfo:Orientation .
+nfo:orientation-right-mirror a nfo:Orientation .
+nfo:orientation-left a nfo:Orientation .
+
+nfo:orientation a rdf:Property ;
+ rdfs:domain nfo:Image ;
+ rdfs:range nfo:Orientation ;
+ nrl:maxCardinality 1 ;
+ tracker:writeback true .
+
+@prefix poi: <http://www.tracker-project.org/ontologies/poi#> .
+
+poi: a tracker:Namespace ;
+ tracker:prefix "poi" .
+
+# TDB
+poi:ObjectOfInterest a rdfs:Class ;
+ rdfs:subClassOf rdfs:Resource .
+
+# Ivan's magic proposal for happy media lists
+nfo:mediaListEntry a rdf:Property ;
+ rdfs:label "Media list entry" ;
+ rdfs:comment "A certain item belongs to a media list. This can reflect that a song is in a playlist, an image or video in an Album" ;
+ rdfs:domain nfo:MediaList ;
+ rdfs:range nie:InformationElement .
+
+# This change must be proposed upstream
+nfo:isContentEncrypted a rdf:Property ;
+ rdfs:label "Is content encrypted" ;
+ rdfs:comment "Might change (IE of DataObject property?)" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nie:InformationElement ;
+ rdfs:range xsd:boolean .
+
+# This change must be proposed upstream
+nfo:isBootable a rdf:Property ;
+ rdfs:label "Is content bootable" ;
+ rdfs:comment "True when the file is bootable, for example like an ISO or other disc images" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nie:InformationElement ;
+ rdfs:range xsd:boolean .
+
+# Ontology request by Alexander Bokovoy, replaces nfo:device
+# These classes and properties need to be submitted to NEPOMUK
+nfo:Equipment a rdfs:Class ;
+ rdfs:label "Equipment" ;
+ rdfs:comment "The equipment used to create media" ;
+ rdfs:subClassOf nie:InformationElement .
+
+nfo:equipment a rdf:Property ;
+ rdfs:label "Device" ;
+ rdfs:comment "Equipment used to create the media" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nfo:Media ;
+ rdfs:range nfo:Equipment .
+
+nfo:manufacturer a rdf:Property ;
+ rdfs:label "Manufacturer" ;
+ rdfs:comment "The manufacturer of the equipment" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nfo:Equipment ;
+ rdfs:range xsd:string .
+
+nfo:model a rdf:Property ;
+ rdfs:label "Model" ;
+ rdfs:comment "The model of the equipment" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nfo:Equipment ;
+ rdfs:range xsd:string .
+
+nfo:equipmentSoftware a rdf:Property ;
+ rdfs:label "Equipment software" ;
+ rdfs:comment "The software of the equipment" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nfo:Equipment ;
+ rdfs:range xsd:string .
+
+# This class needs to be submitted to NEPOMUK
+nfo:HelpDocument a rdfs:Class ;
+ rdfs:label "Help document" ;
+ rdfs:comment "User guides and similar to assist the user" ;
+ rdfs:subClassOf nfo:Document .
+
+# This class needs to be submitted to NEPOMUK
+nfo:EBook a rdfs:Class ;
+ rdfs:label "Electronic book" ;
+ rdfs:comment "Books which can be electronically viewed" ;
+ rdfs:subClassOf nfo:PaginatedTextDocument .
+
+# This property needs to be submitted to NEPOMUK
+nfo:lastPlayedPosition a rdf:Property ;
+ rdfs:comment "Position in the media (in seconds) where the play was paused. Positive number, being 0 the beginning of the media." ;
+ rdfs:label "last played position" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nfo:Media ;
+ rdfs:range xsd:integer .
+
+# Bug upstream: http://sourceforge.net/apps/trac/oscaf/ticket/123
+nfo:audioOffset a rdf:Property;
+ rdfs:label "Time offset within media container (seconds)" ;
+ rdfs:comment "Specifies the start offset of this resource within a larger file, such as a single song within a recording of a radio broadcast or a CD rip.";
+ nrl:maxCardinality 1 ;
+ rdfs:domain nfo:Audio ;
+ rdfs:range xsd:double.
+
+
+# Regions on images. These class and props need to be submitted to NEPOMUK
+nfo:RegionOfInterest a rdfs:Class;
+ rdfs:label "Region of Interest";
+ rdfs:comment "Area on an image with relevant content. Following the spec in http://www.metadataworkinggroup.org";
+ rdfs:subClassOf nie:InformationElement.
+
+nfo:regionOfInterestX a rdf:Property;
+ rdfs:label "Region of interest X";
+ rdfs:comment "Coordinate X where the region starts. It is normalized (values between 0 and 1) to the width of the picture. Starting in the upper left corner.";
+ nrl:maxCardinality 1 ;
+ rdfs:domain nfo:RegionOfInterest ;
+ rdfs:range xsd:double.
+
+nfo:regionOfInterestY a rdf:Property;
+ rdfs:label "Region of interest Y";
+ rdfs:comment "Coordinate y where the region starts. It is normalized (values between 0 and 1) to the height of the picture. Starting in the upper left corner.";
+ nrl:maxCardinality 1 ;
+ rdfs:domain nfo:RegionOfInterest ;
+ rdfs:range xsd:double.
+
+nfo:regionOfInterestWidth a rdf:Property;
+ rdfs:label "Region of interest width";
+ rdfs:comment "Width of the region. It is normalized (values between 0 and 1) to the total width of the picture.";
+ nrl:maxCardinality 1 ;
+ rdfs:domain nfo:RegionOfInterest ;
+ rdfs:range xsd:double.
+
+nfo:regionOfInterestHeight a rdf:Property;
+ rdfs:label "Region of interest height";
+ rdfs:comment "Height of the region. It is normalized (values between 0 and 1) to the total height of the picture.";
+ nrl:maxCardinality 1 ;
+ rdfs:domain nfo:RegionOfInterest ;
+ rdfs:range xsd:double.
+
+nfo:RegionOfInterestContent a rdfs:Class;
+ rdfs:label "Region of interest type";
+ rdfs:comment "Content in the area. There is a predefined set of contents in the spec: http://www.metadataworkinggroup.org";
+ rdfs:subClassOf nie:InformationElement.
+
+nfo:roi-content-face a nfo:RegionOfInterestContent .
+nfo:roi-content-pet a nfo:RegionOfInterestContent .
+nfo:roi-content-focus a nfo:RegionOfInterestContent .
+nfo:roi-content-barcode a nfo:RegionOfInterestContent .
+nfo:roi-content-undefined a nfo:RegionOfInterestContent .
+
+nfo:regionOfInterestType a rdf:Property;
+ rdfs:label "Region of interest type";
+ rdfs:comment "The content of a region can be one of the predefined types in the spec";
+ nrl:maxCardinality 1 ;
+ rdfs:domain nfo:RegionOfInterest ;
+ rdfs:range nfo:RegionOfInterestContent .
+
+nfo:hasRegionOfInterest a rdf:Property;
+ rdfs:label "Has region or interest";
+ rdfs:comment "Link an element with a defined region";
+ rdfs:domain nfo:Image ;
+ rdfs:range nfo:RegionOfInterest.
+
+nfo:roiRefersTo a rdf:Property;
+ rdfs:label "Region of interest refers to" ;
+ rdfs:comment "Link to an item that is represented in the region. The 'type' of the region can give a clue of what exact content is linked in this property";
+ nrl:maxCardinality 1 ;
+ rdfs:domain nfo:RegionOfInterest ;
+ rdfs:range nie:InformationElement.
diff --git a/src/ontologies/34-nmo.description b/src/ontologies/34-nmo.description
new file mode 100644
index 000000000..a22aec70c
--- /dev/null
+++ b/src/ontologies/34-nmo.description
@@ -0,0 +1,27 @@
+@prefix dsc: <http://www.tracker-project.org/temp/dsc#> .
+
+<virtual-ontology-uri:34-nmo.ontology> a dsc:Ontology ;
+ dsc:title "Nepomuk Messaging Ontology (NMO)" ;
+ dsc:description "Model for messages and communications, including Email, SMS, MMS and phone calls" ;
+
+ dsc:author "Antoni Mylka, DFKI, &lt;antoni.mylka@dfki.de&gt;";
+ dsc:author "Leo Sauermann, DFKI, &lt;leo.sauermann@dfki.de&gt;";
+ dsc:author "Michael Sintek, DFKI, &lt;michael.sintek@dfki.de&gt;";
+ dsc:author "Ludger van Elst, DFKI, &lt;elst@dfki.uni-kl.de&gt;";
+ dsc:author "Tracker Developers" ;
+
+ dsc:editor "Tracker developers (translation into turtle)" ;
+ dsc:editor "Antoni Mylka, DFKI, &lt;antoni.mylka@dfki.de&gt;";
+
+ dsc:contributor "Evgeny 'phreedom' Egorochkin, KDE Strigi Developer, &lt;stexx@mail.ru&gt;";
+ dsc:contributor "Christiaan Fluit, Aduna, &lt;christiaan.fluit@aduna-software.com&gt;";
+
+ dsc:gitlog "http://git.gnome.org/cgit/tracker/log/data/ontologies/34-nmo.ontology";
+
+ dsc:localPrefix "nmo" ;
+ dsc:baseUrl "http://www.semanticdesktop.org/ontologies/2007/03/22/nmo#" ;
+ dsc:relativePath "./34-nmo.ontology" ;
+
+ dsc:upstream "http://www.semanticdesktop.org/ontologies/nmo/";
+
+ dsc:copyright "&copy; 2007 <ulink url=\"http://www.dfki.de/\">DFKI</ulink> &copy; 2009 <ulink url=\"http://www.nokia.com/\">Nokia</ulink>. The ontologies are made available under the terms of NEPOMUK <ulink url=\"http://www.semanticdesktop.org/ontologies/nfo/LICENSE.txt\">software license</ulink> (FIXME verify)".
diff --git a/src/ontologies/34-nmo.ontology b/src/ontologies/34-nmo.ontology
new file mode 100644
index 000000000..063753387
--- /dev/null
+++ b/src/ontologies/34-nmo.ontology
@@ -0,0 +1,548 @@
+@prefix nco: <http://www.semanticdesktop.org/ontologies/2007/03/22/nco#> .
+@prefix nfo: <http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#> .
+@prefix nie: <http://www.semanticdesktop.org/ontologies/2007/01/19/nie#> .
+@prefix nmo: <http://www.semanticdesktop.org/ontologies/2007/03/22/nmo#> .
+@prefix nrl: <http://www.semanticdesktop.org/ontologies/2007/08/15/nrl#> .
+@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
+@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
+@prefix tracker: <http://www.tracker-project.org/ontologies/tracker#> .
+@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
+@prefix nao: <http://www.semanticdesktop.org/ontologies/2007/08/15/nao#> .
+@prefix nao: <http://www.semanticdesktop.org/ontologies/2007/08/15/nao#> .
+
+nmo: a tracker:Namespace, tracker:Ontology ;
+ tracker:prefix "nmo" ;
+ nao:lastModified "2011-08-16T11:00:00Z" .
+
+# FIXME Extension requested in Nepomuk
+nmo:MimePart a rdfs:Class ;
+ rdfs:subClassOf nfo:EmbeddedFileDataObject .
+
+# FIXME Extension requested in Nepomuk
+nmo:Multipart a rdfs:Class ;
+ rdfs:subClassOf nfo:DataContainer .
+
+# FIXME Extension requested in Nepomuk
+nmo:partBoundary a rdf:Property ;
+ rdfs:domain nmo:Multipart ;
+ rdfs:range xsd:string .
+
+nmo:Message a rdfs:Class ;
+ rdfs:comment "A message. Could be an email, instant messanging message, SMS message etc." ;
+ rdfs:subClassOf nfo:TextDocument ;
+ tracker:notify true .
+
+# FIXME Extension requested in Nepomuk
+nmo:Email a rdfs:Class;
+ rdfs:label "Email envelope" ;
+ rdfs:comment "Root node in a MIME Email" ;
+ rdfs:subClassOf nmo:Message .
+
+# FIXME Extension requested in Nepomuk
+nmo:hasContent a rdf:Property ;
+ rdfs:label "Has content" ;
+ rdfs:comment "Link between the root node and the first MIME node in the Email tree" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nmo:Email ;
+ rdfs:range nmo:MimePart .
+
+# FIXME Extension requested in Nepomuk
+nmo:Attachment a rdfs:Class ;
+ rdfs:subClassOf nmo:MimePart ;
+ rdfs:subClassOf nfo:Attachment .
+
+nmo:MailAccount a rdfs:Class ;
+ rdfs:subClassOf nie:InformationElement .
+
+nmo:MailboxDataObject a rdfs:Class ;
+ rdfs:subClassOf nie:DataObject .
+
+nmo:MessageHeader a rdfs:Class ;
+ rdfs:label "Message header" ;
+ rdfs:comment "Pairs key=value to store arbitrary message header. Note that if a property exists already in the ontology for those headers it should be used. This is just a safe guard mechanism." ;
+ rdfs:subClassOf rdfs:Resource .
+
+nmo:IMMessage a rdfs:Class ;
+ rdfs:subClassOf nmo:Message .
+
+nmo:Conversation a rdfs:Class ;
+ rdfs:comment "A conversation. An exchange of one or multiple messages within a time frame or about a specific topic." ;
+ rdfs:subClassOf nie:InformationElement .
+
+nmo:CommunicationChannel a rdfs:Class ;
+ rdfs:comment "A communication channel. The container for all messages between participants of a specific group or in a persistent channel." ;
+ rdfs:subClassOf nie:InformationElement .
+
+nmo:PermanentChannel a rdfs:Class ;
+ rdfs:comment "Well-known stable channel like an IRC room in a specific server. Predefined URL schema for the instances is recommended" ;
+ rdfs:subClassOf nmo:CommunicationChannel .
+
+nmo:TransientChannel a rdfs:Class ;
+ rdfs:comment "Channel created ad-hoc for the communication like a multi chat in some systems" ;
+ rdfs:subClassOf nmo:CommunicationChannel .
+
+nmo:sentDate a rdf:Property ;
+ rdfs:comment "Date when this message was sent." ;
+ tracker:indexed true ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nmo:Message ;
+ rdfs:range xsd:dateTime .
+
+nmo:Call a rdfs:Class ;
+ rdfs:label "Call" ;
+ rdfs:comment "Phone call. Voice communication with the user with somebody else." ;
+ rdfs:subClassOf nmo:Message ;
+ tracker:domainIndex nmo:sentDate ;
+ tracker:notify true .
+
+# required for backward compatibility
+nmo:VOIPCall a rdfs:Class ;
+ rdfs:subClassOf nmo:Call .
+
+nmo:MailFolder a rdfs:Class ;
+ rdfs:subClassOf nfo:Folder .
+
+nmo:recipient a rdf:Property ;
+ rdfs:domain nmo:Message ;
+ rdfs:range nco:Contact .
+
+nmo:from a rdf:Property ;
+ rdfs:comment "The sender of the message." ;
+ tracker:indexed true ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nmo:Message ;
+ rdfs:range nco:Contact .
+
+nmo:headerName a rdf:Property ;
+ rdfs:comment "Key of the message header key-value pair" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nmo:MessageHeader ;
+ rdfs:range xsd:string ;
+ tracker:weight 3 .
+
+nmo:headerValue a rdf:Property ;
+ rdfs:comment "Value of the message header key-value pair" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nmo:MessageHeader ;
+ rdfs:range xsd:string ;
+ tracker:weight 4 .
+
+nmo:isAnswered a rdf:Property ;
+ rdfs:comment "True when the user has sent a replay to this message" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nmo:Message ;
+ rdfs:range xsd:boolean .
+
+nmo:isFlagged a rdf:Property ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nmo:Email ;
+ rdfs:range xsd:boolean .
+
+nmo:isDeleted a rdf:Property ;
+ rdfs:comment "True when the user has removed the Email in the UI but still exists in the DB. Usually a purge or confirmation from the user will actually remove the data." ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nmo:Message ;
+ rdfs:range xsd:boolean .
+
+nmo:isDraft a rdf:Property ;
+ rdfs:comment "The user hasn't finished editing the message and might want to continue later" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nmo:Message ;
+ rdfs:range xsd:boolean .
+
+nmo:isRecent a rdf:Property ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nmo:Email ;
+ rdfs:range xsd:boolean .
+
+nmo:isRead a rdf:Property ;
+ rdfs:comment "The messsage has been readed. The user has opened the message or has marked it directly as readed" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nmo:Message ;
+ rdfs:range xsd:boolean .
+
+nmo:isSent a rdf:Property ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nmo:Message ;
+ rdfs:range xsd:boolean .
+
+nmo:isEmergency a rdf:Property ;
+ rdfs:comment "Special message from the network, probably coming via Cell broadcasting with emergency information" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nmo:Message ;
+ rdfs:range xsd:boolean .
+
+nmo:htmlMessageContent a rdf:Property ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nmo:Message ;
+ rdfs:range xsd:string .
+
+nmo:references a rdf:Property ;
+ rdfs:domain nmo:Message ;
+ rdfs:range nmo:Message .
+
+nmo:inReplyTo a rdf:Property ;
+ rdfs:subPropertyOf nmo:references ;
+ rdfs:domain nmo:Message ;
+ rdfs:range nmo:Message .
+
+nmo:charSet a rdf:Property ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nmo:MimePart ;
+ rdfs:range xsd:string .
+
+
+nmo:contentId a rdf:Property ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nmo:MimePart ;
+ rdfs:range xsd:string .
+
+nmo:contentTransferEncoding a rdf:Property ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nmo:MimePart ;
+ rdfs:range xsd:string .
+
+nmo:contentDescription a rdf:Property ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nmo:MimePart ;
+ rdfs:range xsd:string .
+
+nmo:contentDisposition a rdf:Property ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nmo:MimePart ;
+ rdfs:range xsd:string .
+
+# FIXME Extension requested in Nepomuk
+nmo:mimeHeader a rdf:Property ;
+ rdfs:domain nmo:MimePart ;
+ rdfs:range rdfs:Resource .
+
+nmo:messageHeader a rdf:Property ;
+ rdfs:domain nmo:Message ;
+ rdfs:range nmo:MessageHeader .
+
+nmo:messageId a rdf:Property ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nmo:Message ;
+ rdfs:range xsd:string .
+
+nmo:messageSubject a rdf:Property ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nmo:Message ;
+ rdfs:range xsd:string ;
+ tracker:fulltextIndexed true ;
+ tracker:weight 5 .
+
+nmo:receivedDate a rdf:Property ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nmo:Message ;
+ rdfs:range xsd:dateTime .
+
+nmo:replyTo a rdf:Property ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nmo:Message ;
+ rdfs:range nco:Contact .
+
+nmo:sender a rdf:Property ;
+ tracker:indexed true ;
+ rdfs:subPropertyOf nmo:recipient ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nmo:Message ;
+ rdfs:range nco:Contact .
+
+nmo:to a rdf:Property ;
+ rdfs:domain nmo:Message ;
+ tracker:indexed true ;
+ rdfs:range nco:Contact .
+
+nmo:bcc a rdf:Property ;
+ rdfs:domain nmo:Message ;
+ rdfs:range nco:Contact .
+
+nmo:cc a rdf:Property ;
+ rdfs:domain nmo:Message ;
+ rdfs:range nco:Contact .
+
+nmo:conversation a rdf:Property ;
+ rdfs:comment "Connects this message to a conversation. Every message must only be part of a single conversation." ;
+ tracker:indexed true ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nmo:Message ;
+ rdfs:range nmo:Conversation .
+
+nmo:communicationChannel a rdf:Property ;
+ rdfs:comment "Connects this message to a communication channel. Every message must only be in a single channel." ;
+ tracker:indexed true ;
+ tracker:secondaryIndex nmo:receivedDate ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nmo:Message ;
+ rdfs:range nmo:CommunicationChannel .
+
+nmo:lastMessageDate a rdf:Property ;
+ rdfs:comment "nmo:sentDate of the most recent message in this channel." ;
+ tracker:indexed true ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nmo:CommunicationChannel ;
+ rdfs:range xsd:dateTime .
+
+nmo:lastSuccessfulMessageDate a rdf:Property ;
+ rdfs:comment "nmo:sentDate of the most recent successful message in this channel." ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nmo:CommunicationChannel ;
+ rdfs:range xsd:dateTime .
+
+nmo:hasParticipant a rdf:Property ;
+ tracker:indexed true ;
+ rdfs:domain nmo:CommunicationChannel ;
+ rdfs:range nco:Contact .
+
+nmo:duration a rdf:Property ;
+ rdfs:comment "Duration of the call in seconds" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nmo:Call ;
+ rdfs:range xsd:integer .
+
+# FIXME Extension to nepomuk
+nmo:accountName a rdf:Property ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nmo:MailAccount ;
+ rdfs:range xsd:string ;
+ tracker:weight 3 .
+
+# FIXME Extension to nepomuk
+nmo:accountDisplayName a rdf:Property ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nmo:MailAccount ;
+ rdfs:range xsd:string ;
+ tracker:weight 3 .
+
+# FIXME Extension to nepomuk
+nmo:fromAddress a rdf:Property ;
+ rdfs:comment "From address of an account" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nmo:MailAccount ;
+ rdfs:range nco:EmailAddress .
+
+# FIXME Extension to nepomuk
+nmo:signature a rdf:Property ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nmo:MailAccount ;
+ rdfs:range xsd:string ;
+ tracker:weight 2 .
+
+# FIXME Extension to nepomuk
+nmo:folderName a rdf:Property ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nmo:MailFolder ;
+ rdfs:range xsd:string ;
+ tracker:weight 4 .
+
+# FIXME Extension to nepomuk
+nmo:status a rdf:Property ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nmo:Email ;
+ rdfs:range xsd:string .
+
+# FIXME Extension to nepomuk
+nmo:responseType a rdf:Property ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nmo:Email ;
+ rdfs:range xsd:string .
+
+# FIXME Extension to nepomuk
+nmo:serverCount a rdf:Property ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nmo:MailFolder ;
+ rdfs:range xsd:integer .
+
+# FIXME Extension to nepomik
+nmo:serverUnreadCount a rdf:Property ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nmo:MailFolder ;
+ rdfs:range xsd:integer .
+
+# Don't use this!! Only for compat with original Nepomuk NMO
+nmo:hasAttachment a rdf:Property ;
+ rdfs:domain nmo:Message ;
+ rdfs:range nfo:Attachment .
+
+# Don't use this!! Only for compat with original Nepomuk NMO
+nmo:contentMimeType a rdf:Property ;
+ rdfs:domain nmo:Email ;
+ rdfs:range xsd:string ;
+ rdfs:subPropertyOf nie:mimeType .
+
+
+#
+# SMS support
+#
+nmo:PhoneMessage a rdfs:Class ;
+ rdfs:label "Phone messages (sms and mms)";
+ rdfs:comment "Superclass with shared properties between SMS and MMS.";
+ rdfs:subClassOf nmo:Message .
+
+
+nmo:SMSMessage a rdfs:Class ;
+ rdfs:label "SMS Message";
+ rdfs:comment "Plain SMS Message" ;
+ rdfs:subClassOf nmo:PhoneMessage.
+
+nmo:toVCard a rdf:Property ;
+ rdfs:label "fromVCard" ;
+ rdfs:comment "Reference to a VCard in the filesystem, containing the Contact information of 'to' recipients" ;
+ rdfs:domain nmo:PhoneMessage ;
+ rdfs:range nfo:FileDataObject .
+
+nmo:fromVCard a rdf:Property ;
+ rdfs:label "fromVCard" ;
+ rdfs:comment "Reference to a VCard in the filesystem, containing the Contact information of the 'from' recipient";
+ nrl:maxCardinality 1 ;
+ rdfs:domain nmo:PhoneMessage ;
+ rdfs:range nfo:FileDataObject .
+
+#FIXME unify encoding representation... this is the third encoding property in nepomuk
+nmo:encoding a rdf:Property ;
+ rdfs:label "enconding";
+ rdfs:comment "Encoding of the message" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nmo:PhoneMessage ;
+ rdfs:range xsd:string .
+
+
+nmo:phoneMessageId a rdf:Property ;
+ rdfs:label "Phone message Id";
+ rdfs:comment "Id assigned in the system when the phone message is received" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nmo:PhoneMessage;
+ rdfs:range xsd:integer.
+
+nmo:PhoneMessageFolder a rdfs:Class ;
+ rdfs:label "Phone message Folder";
+ rdfs:comment "Folder for phone message (SMS and MMS). Not a subclass of nfo:Folder because it would confuse filesystem folders" ;
+ rdfs:subClassOf nie:InformationElement .
+
+nmo:phoneMessageFolderId a rdf:Property ;
+ rdfs:label "folder id";
+ rdfs:comment "Id assigned to the folder for sync purpouses" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nmo:PhoneMessageFolder ;
+ rdfs:range xsd:string ;
+ rdfs:subPropertyOf nie:identifier .
+
+nmo:validityPeriod a rdf:Property ;
+ rdfs:label "Validity period" ;
+ rdfs:comment "Validity period of an SMS in seconds. It is a value coming from the network" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nmo:PhoneMessage ;
+ rdfs:range xsd:integer .
+
+nmo:containsPhoneMessageFolder a rdf:Property ;
+ rdfs:label "contains Phone Message Folder";
+ rdfs:comment "To link and reconstruct a hierarchy of folders" ;
+ rdfs:domain nmo:PhoneMessageFolder;
+ rdfs:range nmo:PhoneMessageFolder .
+
+nmo:containsPhoneMessage a rdf:Property ;
+ rdfs:label "Contains Phone Message";
+ rdfs:comment "Link between an Phone Message and a Folder" ;
+ rdfs:domain nmo:PhoneMessageFolder;
+ rdfs:range nmo:PhoneMessage .
+
+
+nmo:predefined-phone-msg-folder-inbox a nmo:PhoneMessageFolder ;
+ nie:title "Inbox" ;
+ nmo:phoneMessageFolderId "0x1002" .
+
+nmo:predefined-phone-msg-folder-outbox a nmo:PhoneMessageFolder ;
+ nie:title "Outbox" ;
+ nmo:phoneMessageFolderId "0x1003" .
+
+nmo:predefined-phone-msg-folder-draft a nmo:PhoneMessageFolder ;
+ nie:title "Draft" ;
+ nmo:phoneMessageFolderId "0x1004" .
+
+nmo:predefined-phone-msg-folder-sent a nmo:PhoneMessageFolder ;
+ nie:title "Sent" ;
+ nmo:phoneMessageFolderId "0x1005" .
+
+
+nmo:predefined-phone-msg-folder-myfolder a nmo:PhoneMessageFolder ;
+ nie:title "MyFolder" ;
+ nmo:phoneMessageFolderId "0x1008" .
+
+nmo:DeliveryStatus a rdfs:Class ;
+ rdfs:label "Delivery statuses" ;
+ rdfs:comment "Predefined set of delivery status instances" ;
+ rdfs:subClassOf rdfs:Resource .
+
+nmo:deliveryStatus a rdf:Property ;
+ rdfs:label "deliveryStatus" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nmo:Message ;
+ rdfs:range nmo:DeliveryStatus .
+
+nmo:delivery-status-sent a nmo:DeliveryStatus .
+nmo:delivery-status-delivered a nmo:DeliveryStatus .
+nmo:delivery-status-temporarily-failed a nmo:DeliveryStatus .
+nmo:delivery-status-temporarily-failed-offline a nmo:DeliveryStatus .
+nmo:delivery-status-permanently-failed a nmo:DeliveryStatus .
+
+
+nmo:reportDelivery a rdf:Property ;
+ rdfs:label "Report delivery" ;
+ rdfs:comment "Report delivery has been requested for the message" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nmo:Message ;
+ rdfs:range xsd:boolean .
+
+# Read report property
+nmo:sentWithReportRead a rdf:Property ;
+ rdfs:label "Report read" ;
+ rdfs:comment "The message has been send with a flag indicating that we want to receive a confirmation when the recipient reads it" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nmo:Message ;
+ rdfs:range xsd:boolean .
+
+nmo:ReportReadStatus a rdfs:Class ;
+ rdfs:label "Read statuses" ;
+ rdfs:comment "Predefined set of read status instances" ;
+ rdfs:subClassOf rdfs:Resource .
+
+nmo:reportReadStatus a rdf:Property ;
+ rdfs:label "reportReadStatus" ;
+ rdfs:comment "If the message was sent with report read enable, this property stores the status of that message: if the recipient has read it, delete it, or we are still waiting for an answer" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nmo:Message ;
+ rdfs:range nmo:ReportReadStatus .
+
+nmo:read-status-read a nmo:ReportReadStatus .
+nmo:read-status-deleted a nmo:ReportReadStatus .
+nmo:read-status-unknown a nmo:ReportReadStatus .
+
+nmo:mustAnswerReportRead a rdf:Property ;
+ rdfs:label "Report read requested" ;
+ rdfs:comment "The message came with the report-read flag enabled, and somebody must be send the answer back. Once the report is sent, this property goes to False.";
+ nrl:maxCardinality 1 ;
+ rdfs:domain nmo:Message ;
+ rdfs:range xsd:boolean .
+
+# MMS support
+nmo:MMSMessage a rdfs:Class;
+ rdfs:label "MMS Message" ;
+ rdfs:comment "An MMS message is basically a Email with different envelop. It inherits also from SMS the folders and delivery status" ;
+ rdfs:subClassOf nmo:PhoneMessage .
+
+nmo:mmsHasContent a rdf:Property ;
+ rdfs:label "MMS has content" ;
+ rdfs:comment "Link to the mimeparts with the multimedia content (miming nmo:hasContent)" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nmo:MMSMessage ;
+ rdfs:range nmo:MimePart .
+
+nmo:mmsId a rdf:Property ;
+ rdfs:label "mms id";
+ rdfs:comment "Unique identifier of an MMS message. It comes from the server";
+ nrl:maxCardinality 1 ;
+ rdfs:domain nmo:Message ;
+ rdfs:range xsd:string .
+
diff --git a/src/ontologies/35-ncal.description b/src/ontologies/35-ncal.description
new file mode 100644
index 000000000..482037d83
--- /dev/null
+++ b/src/ontologies/35-ncal.description
@@ -0,0 +1,25 @@
+@prefix dsc: <http://www.tracker-project.org/temp/dsc#> .
+
+<virtual-ontology-uri:35-ncal.ontology> a dsc:Ontology ;
+ dsc:title "Nepomuk Calendar Ontology (NCAL)" ;
+ dsc:description "Automatic translation of the ICAL standard into ontology. Too complex for our taste. Please check SCAL" ;
+
+ dsc:author "Antoni Mylka, DFKI, &lt;antoni.mylka@dfki.de&gt;";
+ dsc:author "Leo Sauermann, DFKI, &lt;leo.sauermann@dfki.de&gt;";
+ dsc:author "Michael Sintek, DFKI, &lt;michael.sintek@dfki.de&gt;";
+ dsc:author "Ludger van Elst, DFKI, &lt;elst@dfki.uni-kl.de&gt;";
+
+ dsc:editor "Tracker developers (translation into turtle)" ;
+ dsc:editor "Antoni Mylka, DFKI, &lt;antoni.mylka@dfki.de&gt;";
+
+ dsc:contributor "Evgeny 'phreedom' Egorochkin, KDE Strigi Developer, &lt;stexx@mail.ru&gt;";
+ dsc:contributor "Christiaan Fluit, Aduna, &lt;christiaan.fluit@aduna-software.com&gt;";
+
+ dsc:gitlog "http://git.gnome.org/cgit/tracker/log/src/ontologies/35-ncal.ontology";
+ dsc:upstream "http://www.semanticdesktop.org/ontologies/ncal/";
+
+ dsc:localPrefix "ncal" ;
+ dsc:baseUrl "http://www.semanticdesktop.org/ontologies/2007/04/02/ncal#" ;
+ dsc:relativePath "./35-ncal.ontology" ;
+
+ dsc:copyright "&copy; 2007 <ulink url=\"http://nepomuk.semanticdesktop.org\">NEPOMUK Consortium</ulink>&reg;. This work is made available under the terms of NEPOMUK <ulink url=\"http://www.semanticdesktop.org/ontologies/nfo/LICENSE.txt\">software license</ulink>" .
diff --git a/src/ontologies/35-ncal.ontology b/src/ontologies/35-ncal.ontology
new file mode 100644
index 000000000..1c027c15b
--- /dev/null
+++ b/src/ontologies/35-ncal.ontology
@@ -0,0 +1,975 @@
+@prefix dc: <http://purl.org/dc/elements/1.1/> .
+@prefix nrl: <http://www.semanticdesktop.org/ontologies/2007/08/15/nrl#> .
+@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
+@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
+@prefix ncal: <http://www.semanticdesktop.org/ontologies/2007/04/02/ncal#> .
+@prefix nie: <http://www.semanticdesktop.org/ontologies/2007/01/19/nie#> .
+@prefix nco: <http://www.semanticdesktop.org/ontologies/2007/03/22/nco#> .
+@prefix nfo: <http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#> .
+@prefix tracker: <http://www.tracker-project.org/ontologies/tracker#> .
+@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
+@prefix nao: <http://www.semanticdesktop.org/ontologies/2007/08/15/nao#> .
+
+ncal: a tracker:Namespace, tracker:Ontology ;
+ tracker:prefix "ncal" ;
+ nao:lastModified "2010-10-20T11:22:00Z" .
+
+ncal:UnionParentClass a rdfs:Class ;
+ rdfs:label "UnionParentClass" ;
+ rdfs:subClassOf rdfs:Resource .
+
+ncal:RecurrenceIdentifier a rdfs:Class ;
+ rdfs:label "RecurrenceIdentifier" ;
+ rdfs:comment "Recurrence Identifier. Introduced to provide a structure for the value of ncal:recurrenceId property. See the documentation of ncal:recurrenceId for details." ;
+ rdfs:subClassOf rdfs:Resource .
+
+ncal:AttachmentEncoding a rdfs:Class ;
+ rdfs:label "AttachmentEncoding" ;
+ rdfs:comment "Attachment encoding. This class has been introduced to express the limited vocabulary of values for the ncal:encoding property. See the documentation of ncal:encoding for details." ;
+ rdfs:subClassOf rdfs:Resource .
+
+ncal:EventStatus a rdfs:Class ;
+ rdfs:label "EventStatus" ;
+ rdfs:comment "A status of an event. This class has been introduced to express the limited set of values for the ncal:status property. The user may use the instances provided with this ontology or create his/her own. See the documentation for ncal:eventStatus for details." ;
+ rdfs:subClassOf rdfs:Resource .
+
+ncal:RecurrenceFrequency a rdfs:Class ;
+ rdfs:label "RecurrenceFrequency" ;
+ rdfs:comment "Frequency of a recurrence rule. This class has been introduced to express a limited set of allowed values for the ncal:freq property. See the documentation of ncal:freq for details." ;
+ rdfs:subClassOf rdfs:Resource .
+
+ncal:Attachment a rdfs:Class ;
+ rdfs:label "Attachment" ;
+ rdfs:comment "An object attached to a calendar entity. This class has been introduced to serve as a structured value of the ncal:attach property. See the documentation of ncal:attach for details." ;
+ rdfs:subClassOf nfo:Attachment .
+
+ncal:AccessClassification a rdfs:Class ;
+ rdfs:label "AccessClassification" ;
+ rdfs:comment "Access classification of a calendar component. Introduced to express the set of values for the ncal:class property. The user may use instances provided with this ontology or create his/her own with desired semantics. See the documentation of ncal:class for details." ;
+ rdfs:subClassOf rdfs:Resource .
+
+ncal:CalendarDataObject a rdfs:Class ;
+ rdfs:label "CalendarDataObject" ;
+ rdfs:comment "A DataObject found in a calendar. It is usually interpreted as one of the calendar entity types (e.g. Event, Journal, Todo etc.)" ;
+ rdfs:subClassOf nie:DataObject .
+
+ncal:JournalStatus a rdfs:Class ;
+ rdfs:label "JournalStatus" ;
+ rdfs:comment "A status of a journal entry. This class has been introduced to express the limited set of values for the ncal:status property. The user may use the instances provided with this ontology or create his/her own. See the documentation for ncal:journalStatus for details." ;
+ rdfs:subClassOf rdfs:Resource .
+
+ncal:RecurrenceIdentifierRange a rdfs:Class ;
+ rdfs:label "RecurrenceIdentifierRange" ;
+ rdfs:comment "Recurrence Identifier Range. This class has been created to provide means to express the limited set of values for the ncal:range property. See documentation for ncal:range for details." ;
+ rdfs:subClassOf rdfs:Resource .
+
+ncal:AttendeeOrOrganizer a rdfs:Class ;
+ rdfs:label "AttendeeOrOrganizer" ;
+ rdfs:comment "A common superclass for ncal:Attendee and ncal:Organizer." ;
+ rdfs:subClassOf rdfs:Resource .
+
+ncal:AlarmAction a rdfs:Class ;
+ rdfs:label "AlarmAction" ;
+ rdfs:comment "Action to be performed on alarm. This class has been introduced to express the limited set of values of the ncal:action property. Please refer to the documentation of ncal:action for details." ;
+ rdfs:subClassOf rdfs:Resource .
+
+ncal:RecurrenceRule a rdfs:Class ;
+ rdfs:label "RecurrenceRule" ;
+ rdfs:subClassOf rdfs:Resource .
+
+ncal:TodoStatus a rdfs:Class ;
+ rdfs:label "TodoStatus" ;
+ rdfs:comment "A status of a calendar entity. This class has been introduced to express the limited set of values for the ncal:status property. The user may use the instances provided with this ontology or create his/her own. See the documentation for ncal:todoStatus for details." ;
+ rdfs:subClassOf rdfs:Resource .
+
+ncal:TimeTransparency a rdfs:Class ;
+ rdfs:label "TimeTransparency" ;
+ rdfs:comment "Time transparency. Introduced to provide a way to express the limited vocabulary for the values of ncal:transp property. See documentation of ncal:transp for details." ;
+ rdfs:subClassOf rdfs:Resource .
+
+ncal:NcalTimeEntity a rdfs:Class ;
+ rdfs:label "NcalTimeEntity" ;
+ rdfs:comment "A time entity. Conceived as a common superclass for NcalDateTime and NcalPeriod. According to RFC 2445 both DateTime and Period can be interpreted in different timezones. The first case is explored in many properties. The second case is theoretically possible in ncal:rdate property. Therefore the timezone properties have been defined at this level." ;
+ rdfs:subClassOf rdfs:Resource .
+
+ncal:CalendarScale a rdfs:Class ;
+ rdfs:label "CalendarScale" ;
+ rdfs:comment "A calendar scale. This class has been introduced to provide the limited vocabulary for the ncal:calscale property." ;
+ rdfs:subClassOf rdfs:Resource .
+
+ncal:AttendeeRole a rdfs:Class ;
+ rdfs:label "AttendeeRole" ;
+ rdfs:comment "A role the attendee is going to play during an event. This class has been introduced to express the limited vocabulary for the values of ncal:role property. Please refer to the documentation of ncal:role for details." ;
+ rdfs:subClassOf rdfs:Resource .
+
+ncal:BydayRulePart a rdfs:Class ;
+ rdfs:label "BydayRulePart" ;
+ rdfs:comment "Expresses the compound value of a byday part of a recurrence rule. It stores the weekday and the integer modifier. Inspired by RFC 2445 sec. 4.3.10" ;
+ rdfs:subClassOf rdfs:Resource .
+
+ncal:Weekday a rdfs:Class ;
+ rdfs:label "Weekday" ;
+ rdfs:comment "Day of the week. This class has been created to provide the limited vocabulary for ncal:byday property. See the documentation for ncal:byday for details." ;
+ rdfs:subClassOf rdfs:Resource .
+
+ncal:Trigger a rdfs:Class ;
+ rdfs:label "Trigger" ;
+ rdfs:comment "An alarm trigger. This class has been created to serve as the range of ncal:trigger property. See the documentation for ncal:trigger for more details." ;
+ rdfs:subClassOf rdfs:Resource .
+
+ncal:FreebusyType a rdfs:Class ;
+ rdfs:label "FreebusyType" ;
+ rdfs:comment "Type of a Freebusy indication. This class has been introduced to serve as a limited set of values for the ncal:fbtype property. See the documentation of ncal:fbtype for details." ;
+ rdfs:subClassOf rdfs:Resource .
+
+ncal:CalendarUserType a rdfs:Class ;
+ rdfs:label "CalendarUserType" ;
+ rdfs:comment "A calendar user type. This class has been introduced to express the limited vocabulary for the ncal:cutype property. See documentation of ncal:cutype for details." ;
+ rdfs:subClassOf rdfs:Resource .
+
+ncal:ParticipationStatus a rdfs:Class ;
+ rdfs:label "ParticipationStatus" ;
+ rdfs:comment "Participation Status. This class has been introduced to express the limited vocabulary of values for the ncal:partstat property. See the documentation of ncal:partstat for details." ;
+ rdfs:subClassOf rdfs:Resource .
+
+ncal:RequestStatus a rdfs:Class ;
+ rdfs:label "RequestStatus" ;
+ rdfs:comment "Request Status. A class that was introduced to provide a structure for the value of ncal:requestStatus property. See documentation for ncal:requestStatus for details." ;
+ rdfs:subClassOf rdfs:Resource .
+
+ncal:NcalDateTime a rdfs:Class ;
+ rdfs:label "NcalDateTime" ;
+ rdfs:subClassOf ncal:NcalTimeEntity .
+
+ncal:TimezoneObservance a rdfs:Class ;
+ rdfs:label "TimezoneObservance" ;
+ rdfs:subClassOf ncal:UnionParentClass .
+
+ncal:Organizer a rdfs:Class ;
+ rdfs:label "Organizer" ;
+ rdfs:comment "An organizer of an event. This class has been introduced to serve as a range of ncal:organizer property. See documentation of ncal:organizer for details." ;
+ rdfs:subClassOf ncal:AttendeeOrOrganizer .
+
+ncal:Attendee a rdfs:Class ;
+ rdfs:label "Attendee" ;
+ rdfs:comment "An attendee of an event. This class has been introduced to serve as the range for ncal:attendee property. See documentation of ncal:attendee for details." ;
+ rdfs:subClassOf ncal:AttendeeOrOrganizer .
+
+ncal:NcalPeriod a rdfs:Class ;
+ rdfs:label "NcalPeriod" ;
+ rdfs:comment "A period of time. Inspired by the PERIOD datatype specified in RFC 2445 sec. 4.3.9" ;
+ rdfs:subClassOf ncal:NcalTimeEntity .
+
+ncal:Calendar a rdfs:Class ;
+ rdfs:label "Calendar" ;
+ rdfs:comment "A calendar. Inspirations for this class can be traced to the VCALENDAR component defined in RFC 2445 sec. 4.4, but it may just as well be used to represent any kind of Calendar." ;
+ rdfs:subClassOf nie:InformationElement .
+
+ncal:FreebusyPeriod a rdfs:Class ;
+ rdfs:label "FreebusyPeriod" ;
+ rdfs:comment "An aggregate of a period and a freebusy type. This class has been introduced to serve as a range of the ncal:freebusy property. See documentation for ncal:freebusy for details. Note that the specification of freebusy property states that the period is to be expressed using UTC time, so the timezone properties should NOT be used for instances of this class." ;
+ rdfs:subClassOf ncal:NcalPeriod .
+
+ncal:TriggerRelation a rdfs:Class ;
+ rdfs:label "TriggerRelation" ;
+ rdfs:comment "The relation between the trigger and its parent calendar component. This class has been introduced to express the limited vocabulary for the ncal:related property. See the documentation for ncal:related for more details." ;
+ rdfs:subClassOf rdfs:Resource .
+
+ncal:Alarm a rdfs:Class ;
+ rdfs:label "Alarm" ;
+ rdfs:comment "Provide a grouping of component properties that define an alarm." ;
+ rdfs:subClassOf nie:InformationElement , ncal:UnionParentClass .
+
+ncal:Event a rdfs:Class ;
+ rdfs:label "Event" ;
+ rdfs:comment "Provide a grouping of component properties that describe an event." ;
+ tracker:notify true ;
+ rdfs:subClassOf ncal:UnionParentClass , nie:InformationElement .
+
+ncal:Todo a rdfs:Class ;
+ rdfs:label "Todo" ;
+ rdfs:comment "Provide a grouping of calendar properties that describe a to-do." ;
+ tracker:notify true ;
+ rdfs:subClassOf ncal:UnionParentClass , nie:InformationElement .
+
+ncal:Freebusy a rdfs:Class ;
+ rdfs:label "Freebusy" ;
+ rdfs:comment "Provide a grouping of component properties that describe either a request for free/busy time, describe a response to a request for free/busy time or describe a published set of busy time." ;
+ rdfs:subClassOf ncal:UnionParentClass , nie:InformationElement .
+
+ncal:Journal a rdfs:Class ;
+ rdfs:label "Journal" ;
+ rdfs:comment "Provide a grouping of component properties that describe a journal entry." ;
+ tracker:notify true ;
+ rdfs:subClassOf ncal:UnionParentClass , nie:InformationElement .
+
+ncal:Timezone a rdfs:Class ;
+ rdfs:label "Timezone" ;
+ rdfs:comment "Provide a grouping of component properties that defines a time zone." ;
+ rdfs:subClassOf nie:InformationElement , ncal:UnionParentClass .
+
+ncal:attach a rdf:Property ;
+ rdfs:label "attach" ;
+ rdfs:comment "The property provides the capability to associate a document object with a calendar component. Defined in the RFC 2445 sec. 4.8.1.1" ;
+ rdfs:subPropertyOf nie:hasPart ;
+ rdfs:domain ncal:UnionParentClass ;
+ rdfs:range ncal:Attachment .
+
+ncal:percentComplete a rdf:Property ;
+ rdfs:label "percentComplete" ;
+ rdfs:comment "This property is used by an assignee or delegatee of a to-do to convey the percent completion of a to-do to the Organizer. Inspired by RFC 2445 sec. 4.8.1.8" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain ncal:Todo ;
+ rdfs:range xsd:integer .
+
+ncal:delegatedTo a rdf:Property ;
+ rdfs:label "delegatedTo" ;
+ rdfs:comment "To specify the calendar users to whom the calendar user specified by the property has delegated participation. Inspired by RFC 2445 sec. 4.2.5. Originally the value type for this parameter was CAL-ADDRESS. This has been expressed as nco:Contact to promote integration between NCAL and NCO." ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain ncal:Attendee ;
+ rdfs:range nco:Contact .
+
+ncal:action a rdf:Property ;
+ rdfs:label "action" ;
+ rdfs:comment "This property defines the action to be invoked when an alarm is triggered. Inspired by RFC 2445 sec 4.8.6.1. Originally this property had a limited set of values. They are expressed as instances of the AlarmAction class." ;
+ rdfs:domain ncal:Alarm ;
+ rdfs:range ncal:AlarmAction .
+
+ncal:ncalTimezone a rdf:Property ;
+ rdfs:label "ncalTimezone" ;
+ rdfs:comment "The timezone instance that should be used to interpret an NcalDateTime. The purpose of this property is similar to the TZID parameter specified in RFC 2445 sec. 4.2.19" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain ncal:NcalDateTime ;
+ rdfs:range ncal:Timezone .
+
+ncal:lastModified a rdf:Property ;
+ rdfs:label "lastModified" ;
+ rdfs:comment "The property specifies the date and time that the information associated with the calendar component was last revised in the calendar store. Note: This is analogous to the modification date and time for a file in the file system. Inspired by RFC 2445 sec. 4.8.7.3. Note that the RFC allows ONLY UTC time values for this property." ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain ncal:UnionParentClass ;
+ rdfs:range xsd:dateTime .
+
+ncal:delegatedFrom a rdf:Property ;
+ rdfs:label "delegatedFrom" ;
+ rdfs:comment "To specify the calendar users that have delegated their participation to the calendar user specified by the property. Inspired by RFC 2445 sec. 4.2.4. Originally the value type for this property was CAL-ADDRESS. This has been expressed as nco:Contact to promote integration between NCAL and NCO." ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain ncal:Attendee ;
+ rdfs:range nco:Contact .
+
+ncal:trigger a rdf:Property ;
+ rdfs:label "trigger" ;
+ rdfs:comment "This property specifies when an alarm will trigger. Inspired by RFC 2445 sec. 4.8.6.3 Originally the value of this property could accept two types : duration and date-time. To express this fact a Trigger class has been introduced. It also has a related property to account for the RELATED parameter." ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain ncal:UnionParentClass ;
+ rdfs:range ncal:Trigger .
+
+ncal:related a rdf:Property ;
+ rdfs:label "related" ;
+ rdfs:comment "To specify the relationship of the alarm trigger with respect to the start or end of the calendar component. Inspired by RFC 2445 4.2.14. The RFC has specified two possible values for this property ('START' and 'END') they have been expressed as instances of the TriggerRelation class." ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain ncal:Trigger ;
+ rdfs:range ncal:TriggerRelation .
+
+ncal:until a rdf:Property ;
+ rdfs:label "until" ;
+ rdfs:comment "The UNTIL rule part defines a date-time value which bounds the recurrence rule in an inclusive manner. If the value specified by UNTIL is synchronized with the specified recurrence, this date or date-time becomes the last instance of the recurrence. If specified as a date-time value, then it MUST be specified in an UTC time format. If not present, and the COUNT rule part is also not present, the RRULE is considered to repeat forever." ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain ncal:RecurrenceRule ;
+ rdfs:range xsd:dateTime .
+
+ncal:created a rdf:Property ;
+ rdfs:label "created" ;
+ rdfs:comment "This property specifies the date and time that the calendar information was created by the calendar user agent in the calendar store. Note: This is analogous to the creation date and time for a file in the file system. Inspired by RFC 2445 sec. 4.8.7.1. Note that this property is a subproperty of nie:created. The domain of nie:created is nie:DataObject. It is not a superclass of UnionOf_Vevent_Vjournal_Vtodo, but since that union is conceived as an 'abstract' class, and in real-life all resources referenced by this property will also be DataObjects, than this shouldn't cause too much of a problem. Note that RFC allows ONLY UTC time values for this property." ;
+ rdfs:subPropertyOf nie:created ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain ncal:UnionParentClass ;
+ rdfs:range xsd:dateTime .
+
+ncal:url a rdf:Property ;
+ rdfs:label "url" ;
+ rdfs:comment "This property defines a Uniform Resource Locator (URL) associated with the iCalendar object. Inspired by the RFC 2445 sec. 4.8.4.6. Original range had been specified as URI." ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain ncal:UnionParentClass ;
+ rdfs:range rdfs:Resource .
+
+ncal:comment a rdf:Property ;
+ rdfs:label "comment" ;
+ rdfs:comment "Non-processing information intended to provide a comment to the calendar user. Inspired by RFC 2445 sec. 4.8.1.4 with the following reservations: the LANGUAGE parameter has been discarded. Please use xml:lang literals to express language. For the ALTREP parameter use the commentAltRep property." ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain ncal:UnionParentClass ;
+ rdfs:range xsd:string ;
+ tracker:fulltextIndexed true ;
+ tracker:weight 3 .
+
+# Range Resource in nepomuk
+ncal:summaryAltRep a rdf:Property ;
+ rdfs:label "summaryAltRep" ;
+ rdfs:comment "Alternate representation of the comment. Introduced to cover the ALTREP parameter of the SUMMARY property. See documentation of ncal:summary for details." ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain ncal:UnionParentClass ;
+ rdfs:range rdfs:Resource .
+
+ncal:completed a rdf:Property ;
+ rdfs:label "completed" ;
+ rdfs:comment "This property defines the date and time that a to-do was actually completed. Inspired by RFC 2445 sec. 4.8.2.1. Note that the RFC allows ONLY UTC time values for this property." ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain ncal:Todo ;
+ rdfs:range xsd:dateTime .
+
+ncal:component a rdf:Property ;
+ rdfs:label "component" ;
+ rdfs:comment "Links the Vcalendar instance with the calendar components. This property has no direct equivalent in the RFC specification. It has been introduced to express the containmnent relations." ;
+ rdfs:subPropertyOf nie:hasPart ;
+ rdfs:domain ncal:Calendar ;
+ rdfs:range ncal:CalendarDataObject .
+
+ncal:cutype a rdf:Property ;
+ rdfs:label "cutype" ;
+ rdfs:comment "To specify the type of calendar user specified by the property. Inspired by RFC 2445 sec. 4.2.3. This parameter has a limited vocabulary. The terms that may serve as values for this property have been expressed as instances of CalendarUserType class. The user may use instances provided with this ontology or create his own." ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain ncal:Attendee ;
+ rdfs:range ncal:CalendarUserType .
+
+ncal:priority a rdf:Property ;
+ rdfs:label "priority" ;
+ rdfs:comment "The property defines the relative priority for a calendar component. Inspired by RFC 2445 sec. 4.8.1.9" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain ncal:UnionParentClass ;
+ rdfs:range xsd:integer .
+
+ncal:resources a rdf:Property ;
+ rdfs:label "resources" ;
+ rdfs:comment "Defines the equipment or resources anticipated for an activity specified by a calendar entity. Inspired by RFC 2445 sec. 4.8.1.10 with the following reservations: the LANGUAGE parameter has been discarded. Please use xml:lang literals to express language. For the ALTREP parameter use the resourcesAltRep property. This property specifies multiple resources. The order is not important. it is recommended to introduce a separate triple for each resource." ;
+ rdfs:domain ncal:UnionParentClass ;
+ rdfs:range xsd:string .
+
+ncal:bysecond a rdf:Property ;
+ rdfs:label "bysecond" ;
+ rdfs:comment "Second of a recurrence. Defined in RFC 2445 sec. 4.3.10" ;
+ rdfs:domain ncal:RecurrenceRule ;
+ rdfs:range xsd:integer .
+
+ncal:wkst a rdf:Property ;
+ rdfs:label "wkst" ;
+ rdfs:comment "The day that's counted as the start of the week. It is used to disambiguate the byweekno rule. Defined in RFC 2445 sec. 4.3.10" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain ncal:RecurrenceRule ;
+ rdfs:range ncal:Weekday .
+
+# Resource range defined in nepomuk
+ncal:tzurl a rdf:Property ;
+ rdfs:label "tzurl" ;
+ rdfs:comment "The TZURL provides a means for a VTIMEZONE component to point to a network location that can be used to retrieve an up-to- date version of itself. Inspired by RFC 2445 sec. 4.8.3.5. Originally the range of this property had been specified as URI." ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain ncal:Timezone ;
+ rdfs:range rdfs:Resource .
+
+ncal:statusDescription a rdf:Property ;
+ rdfs:label "statusDescription" ;
+ rdfs:comment "Longer return status description. Inspired by the second part of the structured value of the REQUEST-STATUS property defined in RFC 2445 sec. 4.8.8.2" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain ncal:RequestStatus ;
+ rdfs:range xsd:string .
+
+ncal:location a rdf:Property ;
+ rdfs:label "location" ;
+ rdfs:comment "Defines the intended venue for the activity defined by a calendar component. Inspired by RFC 2445 sec 4.8.1.7 with the following reservations: the LANGUAGE parameter has been discarded. Please use xml:lang literals to express language. For the ALTREP parameter use the locationAltRep property." ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain ncal:UnionParentClass ;
+ rdfs:range xsd:string ;
+ tracker:fulltextIndexed true ;
+ tracker:weight 3 .
+
+ncal:eventStatus a rdf:Property ;
+ rdfs:label "status" ;
+ rdfs:comment "Defines the overall status or confirmation for an Event. Based on the STATUS property defined in RFC 2445 sec. 4.8.1.11." ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain ncal:Event ;
+ rdfs:range ncal:EventStatus .
+
+ncal:bydayModifier a rdf:Property ;
+ rdfs:label "bydayModifier" ;
+ rdfs:comment "A n integer modifier for the BYDAY rule part. Each BYDAY value can also be preceded by a positive (+n) or negative (-n) integer. If present, this indicates the nth occurrence of the specific day within the MONTHLY or YEARLY RRULE. For example, within a MONTHLY rule, +1MO (or simply 1MO) represents the first Monday within the month, whereas -1MO represents the last Monday of the month. If an integer modifier is not present, it means all days of this type within the specified frequency. For example, within a MONTHLY rule, MO represents all Mondays within the month. Inspired by RFC 2445 sec. 4.3.10" ;
+ rdfs:domain ncal:BydayRulePart ;
+ rdfs:range xsd:integer .
+
+ncal:uid a rdf:Property ;
+ rdfs:label "uid" ;
+ rdfs:comment "This property defines the persistent, globally unique identifier for the calendar component. Inspired by the RFC 2445 sec 4.8.4.7" ;
+ rdfs:subPropertyOf nie:identifier ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain ncal:UnionParentClass ;
+ rdfs:range xsd:string .
+
+ncal:standard a rdf:Property ;
+ rdfs:label "standard" ;
+ rdfs:comment "Links the timezone with the standard timezone observance. This property has no direct equivalent in the RFC 2445. It has been inspired by the structure of the Vtimezone component defined in sec.4.6.5" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain ncal:Timezone ;
+ rdfs:range ncal:TimezoneObservance .
+
+ncal:method a rdf:Property ;
+ rdfs:label "method" ;
+ rdfs:comment "This property defines the iCalendar object method associated with the calendar object. Defined in RFC 2445 sec. 4.7.2" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain ncal:Calendar ;
+ rdfs:range xsd:string .
+
+ncal:triggerDateTime a rdf:Property ;
+ rdfs:label "triggerDateTime" ;
+ rdfs:comment "The exact date and time of the trigger. This property has been created to express the VALUE=DATE, and VALUE=DATE-TIME parameters of the TRIGGER property. See the documentation for ncal:trigger for more details" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain ncal:Trigger ;
+ rdfs:range xsd:dateTime .
+
+# Range is a URL (xsd:string instead of resource?)
+ncal:dir a rdf:Property ;
+ rdfs:label "dir" ;
+ rdfs:comment "Specifies a reference to a directory entry associated with the calendar user specified by the property. Inspired by RFC 2445 sec. 4.2.6. Originally the data type of the value of this parameter was URI (Usually an LDAP URI). This has been expressed as rdfs:resource." ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain ncal:AttendeeOrOrganizer ;
+ rdfs:range rdfs:Resource .
+
+ncal:interval a rdf:Property ;
+ rdfs:label "interval" ;
+ rdfs:comment "The INTERVAL rule part contains a positive integer representing how often the recurrence rule repeats. The default value is '1', meaning every second for a SECONDLY rule, or every minute for a MINUTELY rule, every hour for an HOURLY rule, every day for a DAILY rule, every week for a WEEKLY rule, every month for a MONTHLY rule andevery year for a YEARLY rule. Defined in RFC 2445 sec. 4.3.10" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain ncal:RecurrenceRule ;
+ rdfs:range xsd:integer .
+
+ncal:requestStatus a rdf:Property ;
+ rdfs:label "requestStatus" ;
+ rdfs:comment "This property defines the status code returned for a scheduling request. Inspired by RFC 2445 sec. 4.8.8.2. Original value of this property was a four-element structure. The RequestStatus class has been introduced to express it. In RFC 2445 this property could have the LANGUAGE parameter. This has been discarded in this ontology. Use xml:lang literals to express it if necessary." ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain ncal:UnionParentClass ;
+ rdfs:range ncal:RequestStatus .
+
+ncal:byday a rdf:Property ;
+ rdfs:label "byday" ;
+ rdfs:comment "Weekdays the recurrence should occur. Defined in RFC 2445 sec. 4.3.10" ;
+ rdfs:domain ncal:RecurrenceRule ;
+ rdfs:range ncal:BydayRulePart .
+
+ncal:recurrenceId a rdf:Property ;
+ rdfs:label "recurrenceId" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain ncal:UnionParentClass ;
+ rdfs:range ncal:RecurrenceIdentifier .
+
+# Range is a URL (xsd:string instead of resource?)
+ncal:attachmentUri a rdf:Property ;
+ rdfs:label "attachmentUri" ;
+ rdfs:comment "The uri of the attachment. Created to express the actual value of the ATTACH property defined in RFC 2445 sec. 4.8.1.1. This property expresses the default URI datatype of that property. see ncal:attachmentContents for the BINARY datatype." ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain ncal:Attachment ;
+ rdfs:range rdfs:Resource .
+
+ncal:periodBegin a rdf:Property ;
+ rdfs:label "periodBegin" ;
+ rdfs:comment "Beginng of a period. Inspired by the first part of a structured value of the PERIOD datatype specified in RFC 2445 sec. 4.3.9" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain ncal:NcalPeriod ;
+ rdfs:range xsd:dateTime .
+
+ncal:byweekno a rdf:Property ;
+ rdfs:label "byweekno" ;
+ rdfs:comment "The number of the week an event should recur. Defined in RFC 2445 sec. 4.3.10" ;
+ rdfs:domain ncal:RecurrenceRule ;
+ rdfs:range xsd:integer .
+
+ncal:member a rdf:Property ;
+ rdfs:label "member" ;
+ rdfs:comment "To specify the group or list membership of the calendar user specified by the property. Inspired by RFC 2445 sec. 4.2.11. Originally this parameter had a value type of CAL-ADDRESS. This has been expressed as nco:Contact to promote integration between NCAL and NCO" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain ncal:Attendee ;
+ rdfs:range nco:Contact .
+
+ncal:periodDuration a rdf:Property ;
+ rdfs:label "periodDuration" ;
+ rdfs:comment "Duration of a period of time. Inspired by the second part of a structured value of the PERIOD datatype specified in RFC 2445 sec. 4.3.9. Note that a single NcalPeriod instance shouldn't have the periodEnd and periodDuration properties specified simultaneously." ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain ncal:NcalPeriod ;
+ rdfs:range xsd:integer .
+
+ncal:dtstamp a rdf:Property ;
+ rdfs:label "dtstamp" ;
+ rdfs:comment "The property indicates the date/time that the instance of the iCalendar object was created. Inspired by RFC 2445 sec. 4.8.7.1. Note that the RFC allows ONLY UTC values for this property." ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain ncal:UnionParentClass ;
+ rdfs:range xsd:dateTime .
+
+ncal:tzoffsetfrom a rdf:Property ;
+ rdfs:label "tzoffsetfrom" ;
+ rdfs:comment "This property specifies the offset which is in use prior to this time zone observance. Inspired by RFC 2445 sec. 4.8.3.3. The original domain was underspecified. It said that this property must appear within a Timezone component. In this ontology a TimezoneObservance class has been introduced to clarify this specification. The original range was UTC-OFFSET. There is no equivalent among the XSD datatypes so plain string was chosen." ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain ncal:TimezoneObservance ;
+ rdfs:range xsd:string .
+
+ncal:triggerDuration a rdf:Property ;
+ rdfs:label "triggerDuration" ;
+ rdfs:comment "The duration of a trigger. This property has been created to express the VALUE=DURATION parameter of the TRIGGER property. See documentation for ncal:trigger for more details." ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain ncal:Trigger ;
+ rdfs:range xsd:integer .
+
+ncal:class a rdf:Property ;
+ rdfs:label "class" ;
+ rdfs:comment "Defines the access classification for a calendar component. Inspired by RFC 2445 sec. 4.8.1.3 with the following reservations: this property has limited vocabulary. Possible values are: PUBLIC, PRIVATE and CONFIDENTIAL. The default is PUBLIC. Those values are expressed as instances of the AccessClassification class. The user may create his/her own if necessary." ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain ncal:UnionParentClass ;
+ rdfs:range ncal:AccessClassification .
+
+ncal:organizer a rdf:Property ;
+ rdfs:label "organizer" ;
+ rdfs:comment "The property defines the organizer for a calendar component. Inspired by RFC 2445 sec. 4.8.4.3. Originally this property accepted many parameters. The Organizer class has been introduced to express them all. Note that NCAL is aligned with NCO. The actual value (of the CAL-ADDRESS type) is expressed as an instance of nco:Contact. Remember that the CN parameter has been removed from NCAL. Instead that value should be expressed using nco:fullname property of the above mentioned nco:Contact instance." ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain ncal:UnionParentClass ;
+ rdfs:range ncal:Organizer .
+
+ncal:calscale a rdf:Property ;
+ rdfs:label "calscale" ;
+ rdfs:comment "This property defines the calendar scale used for the calendar information specified in the iCalendar object. Defined in RFC 2445 sec. 4.7.1" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain ncal:Calendar ;
+ rdfs:range ncal:CalendarScale .
+
+ncal:periodEnd a rdf:Property ;
+ rdfs:label "periodEnd" ;
+ rdfs:comment "End of a period of time. Inspired by the second part of a structured value of a PERIOD datatype specified in RFC 2445 sec. 4.3.9. Note that a single NcalPeriod instance shouldn't have the periodEnd and periodDuration properties specified simultaneously." ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain ncal:NcalPeriod ;
+ rdfs:range xsd:dateTime .
+
+ncal:transp a rdf:Property ;
+ rdfs:label "transp" ;
+ rdfs:comment "Defines whether an event is transparent or not to busy time searches. Inspired by RFC 2445 sec.4.8.2.7. Values for this property can be chosen from a limited vocabulary. To express this a TimeTransparency class has been introduced." ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain ncal:Event ;
+ rdfs:range ncal:TimeTransparency .
+
+ncal:attendee a rdf:Property ;
+ rdfs:label "attendee" ;
+ rdfs:comment "The property defines an 'Attendee' within a calendar component. Inspired by RFC 2445 sec. 4.8.4.1. Originally this property accepted many parameters. The Attendee class has been introduced to express them all. Note that NCAL is aligned with NCO. The actual value (of the CAL-ADDRESS type) is expressed as an instance of nco:Contact. Remember that the CN parameter has been removed from NCAL. Instead that value should be expressed using nco:fullname property of the above mentioned nco:Contact instance. The RFC stated that whenever this property is attached to a Valarm instance', 'the Attendee cannot have any parameters apart from involvedContact.']" ;
+ rdfs:domain ncal:UnionParentClass ;
+ rdfs:range ncal:Attendee .
+
+ncal:bydayWeekday a rdf:Property ;
+ rdfs:label "bydayWeekday" ;
+ rdfs:comment "Connects a BydayRulePath with a weekday." ;
+ rdfs:domain ncal:BydayRulePart ;
+ rdfs:range ncal:Weekday .
+
+ncal:date a rdf:Property ;
+ rdfs:label "date" ;
+ rdfs:comment "Date an instance of NcalDateTime refers to. It was conceived to express values in DATE datatype specified in RFC 2445 4.3.4" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain ncal:NcalDateTime ;
+ rdfs:range xsd:dateTime .
+
+ncal:rrule a rdf:Property ;
+ rdfs:label "rrule" ;
+ rdfs:comment "This property defines a rule or repeating pattern for recurring events, to-dos, or time zone definitions. sec. 4.8.5.4" ;
+ rdfs:domain ncal:UnionParentClass ;
+ rdfs:range ncal:RecurrenceRule .
+
+ncal:dtend a rdf:Property ;
+ rdfs:label "dtend" ;
+ rdfs:comment "This property specifies the date and time that a calendar component ends. Inspired by RFC 2445 sec. 4.8.2.2" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain ncal:UnionParentClass ;
+ rdfs:range ncal:NcalDateTime .
+
+ncal:dateTime a rdf:Property ;
+ rdfs:label "dateTime" ;
+ rdfs:comment "Representation of a date an instance of NcalDateTime actually refers to. It's purpose is to express values in DATE-TIME datatype, as defined in RFC 2445 sec. 4.3.5" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain ncal:NcalDateTime ;
+ rdfs:range xsd:dateTime .
+
+ncal:tzoffsetto a rdf:Property ;
+ rdfs:label "tzoffsetto" ;
+ rdfs:comment "This property specifies the offset which is in use in this time zone observance. nspired by RFC 2445 sec. 4.8.3.4. The original domain was underspecified. It said that this property must appear within a Timezone component. In this ontology a TimezoneObservance class has been introduced to clarify this specification. The original range was UTC-OFFSET. There is no equivalent among the XSD datatypes so plain string was chosen." ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain ncal:TimezoneObservance ;
+ rdfs:range xsd:string .
+
+ncal:prodid a rdf:Property ;
+ rdfs:label "prodid" ;
+ rdfs:comment "This property specifies the identifier for the product that created the iCalendar object. Defined in RFC 2445 sec. 4.7.2" ;
+ rdfs:subPropertyOf nie:generator ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain ncal:Calendar ;
+ rdfs:range xsd:string .
+
+ncal:bymonthday a rdf:Property ;
+ rdfs:label "bymonthday" ;
+ rdfs:comment "Day of the month when the event should recur. Defined in RFC 2445 sec. 4.3.10" ;
+ rdfs:domain ncal:RecurrenceRule ;
+ rdfs:range xsd:integer .
+
+ncal:ncalRelation a rdf:Property ;
+ rdfs:label "ncalRelation" ;
+ rdfs:comment "A common superproperty for all types of ncal relations. It is not to be used directly." ;
+ rdfs:subPropertyOf dc:relation ;
+ rdfs:domain ncal:UnionParentClass ;
+ rdfs:range xsd:string .
+
+ncal:exdate a rdf:Property ;
+ rdfs:label "exdate" ;
+ rdfs:comment "This property defines the list of date/time exceptions for a recurring calendar component. Inspired by RFC 2445 sec. 4.8.5.1" ;
+ rdfs:domain ncal:UnionParentClass ;
+ rdfs:range ncal:NcalDateTime .
+
+ncal:summary a rdf:Property ;
+ rdfs:label "summary" ;
+ rdfs:comment "Defines a short summary or subject for the calendar component. Inspired by RFC 2445 sec 4.8.1.12 with the following reservations: the LANGUAGE parameter has been discarded. Please use xml:lang literals to express language. For the ALTREP parameter use the summaryAltRep property." ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain ncal:UnionParentClass ;
+ rdfs:range xsd:string ;
+ tracker:fulltextIndexed true ;
+ tracker:weight 5 .
+
+ncal:role a rdf:Property ;
+ rdfs:label "role" ;
+ rdfs:comment "To specify the participation role for the calendar user specified by the property. Inspired by the RFC 2445 sec. 4.2.16. Originally this property had a limited vocabulary for values. The terms of that vocabulary have been expressed as instances of the AttendeeRole class." ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain ncal:Attendee ;
+ rdfs:range ncal:AttendeeRole .
+
+ncal:fbtype a rdf:Property ;
+ rdfs:label "fbtype" ;
+ rdfs:comment "To specify the free or busy time type. Inspired by RFC 2445 sec. 4.2.9. The RFC specified a limited vocabulary for the values of this property. The terms of this vocabulary have been expressed as instances of the FreebusyType class. The user can use instances provided with this ontology or create his own." ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain ncal:FreebusyPeriod ;
+ rdfs:range ncal:FreebusyType .
+
+ncal:tzname a rdf:Property ;
+ rdfs:label "tzname" ;
+ rdfs:comment "Specifies the customary designation for a timezone description. Inspired by RFC 2445 sec. 4.8.3.2 The LANGUAGE parameter has been discarded. Please xml:lang literals to express languages. Original specification for the domain of this property stated that it must appear within the timezone component. In this ontology the TimezoneObservance class has been itroduced to clarify this specification." ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain ncal:TimezoneObservance ;
+ rdfs:range xsd:string .
+
+# Range is a URL (xsd:string instead of resource?)
+ncal:descriptionAltRep a rdf:Property ;
+ rdfs:label "descriptionAltRep" ;
+ rdfs:comment "Alternate representation of the calendar entity description. Introduced to cover the ALTREP parameter of the DESCRIPTION property. See documentation of ncal:description for details." ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain ncal:UnionParentClass ;
+ rdfs:range rdfs:Resource .
+
+# Range is a URL (xsd:string instead of resource?)
+ncal:commentAltRep a rdf:Property ;
+ rdfs:label "commentAltRep" ;
+ rdfs:comment "Alternate representation of the comment. Introduced to cover the ALTREP parameter of the COMMENT property. See documentation of ncal:comment for details." ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain ncal:UnionParentClass ;
+ rdfs:range rdfs:Resource .
+
+ncal:freebusy a rdf:Property ;
+ rdfs:label "freebusy" ;
+ rdfs:comment "The property defines one or more free or busy time intervals. Inspired by RFC 2445 sec. 4.8.2.6. Note that the periods specified by this property can only be expressed with UTC times. Originally this property could have many comma-separated values. Please use a separate triple for each value." ;
+ rdfs:domain ncal:Freebusy ;
+ rdfs:range ncal:FreebusyPeriod .
+
+ncal:version a rdf:Property ;
+ rdfs:label "version" ;
+ rdfs:comment "This property specifies the identifier corresponding to the highest version number or the minimum and maximum range of the iCalendar specification that is required in order to interpret the iCalendar object. Defined in RFC 2445 sec. 4.7.4" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain ncal:Calendar ;
+ rdfs:range xsd:string .
+
+ncal:range a rdf:Property ;
+ rdfs:label "range" ;
+ rdfs:comment "To specify the effective range of recurrence instances from the instance specified by the recurrence identifier specified by the property. It is intended to express the RANGE parameter specified in RFC 2445 sec. 4.2.13. The set of possible values for this property is limited. See also the documentation for ncal:recurrenceId for more details." ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain ncal:RecurrenceIdentifier ;
+ rdfs:range ncal:RecurrenceIdentifierRange .
+
+ncal:todoStatus a rdf:Property ;
+ rdfs:label "status" ;
+ rdfs:comment "Defines the overall status or confirmation for a todo. Based on the STATUS property defined in RFC 2445 sec. 4.8.1.11." ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain ncal:Todo ;
+ rdfs:range ncal:TodoStatus .
+
+ncal:journalStatus a rdf:Property ;
+ rdfs:label "status" ;
+ rdfs:comment "Defines the overall status or confirmation for a journal entry. Based on the STATUS property defined in RFC 2445 sec. 4.8.1.11." ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain ncal:Journal ;
+ rdfs:range ncal:JournalStatus .
+
+ncal:sequence a rdf:Property ;
+ rdfs:label "sequence" ;
+ rdfs:comment "This property defines the revision sequence number of the calendar component within a sequence of revisions. Inspired by RFC 2445 sec. 4.8.7.4" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain ncal:UnionParentClass ;
+ rdfs:range xsd:integer .
+
+ncal:contact a rdf:Property ;
+ rdfs:label "contact" ;
+ rdfs:comment "The property is used to represent contact information or alternately a reference to contact information associated with the calendar component. Inspired by RFC 2445 sec. 4.8.4.2 with the following reservations: the LANGUAGE parameter has been discarded. Please use xml:lang literals to express language. For the ALTREP parameter use the contactAltRep property.RFC doesn't define any format for the string." ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain ncal:UnionParentClass ;
+ rdfs:range xsd:string ;
+ tracker:fulltextIndexed true ;
+ tracker:weight 4 .
+
+ncal:repeat a rdf:Property ;
+ rdfs:label "repeat" ;
+ rdfs:comment "This property defines the number of time the alarm should be repeated, after the initial trigger. Inspired by RFC 2445 sec. 4.8.6.2" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain ncal:Alarm ;
+ rdfs:range xsd:integer .
+
+ncal:bysetpos a rdf:Property ;
+ rdfs:label "bysetpos" ;
+ rdfs:comment "The BYSETPOS rule part specify values which correspond to the nth occurrence within the set of events specified by the rule. Valid values are 1 to 366 or -366 to -1. It MUST only be used in conjunction with another BYxxx rule part. For example 'the last work day of the month' could be represented as: RRULE: FREQ=MONTHLY; BYDAY=MO', 'TU', 'WE', 'TH', 'FR; BYSETPOS=-1. Each BYSETPOS value can include a positive (+n) or negative (-n) integer. If present, this indicates the nth occurrence of the specific occurrence within the set of events specified by the rule. Defined in RFC 2445 sec. 4.3.10" ;
+ rdfs:domain ncal:RecurrenceRule ;
+ rdfs:range xsd:integer .
+
+ncal:due a rdf:Property ;
+ rdfs:label "due" ;
+ rdfs:comment "This property defines the date and time that a to-do is expected to be completed. Inspired by RFC 2445 sec. 4.8.2.3" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain ncal:Todo ;
+ rdfs:range ncal:NcalDateTime .
+
+# Range is a URL (xsd:string instead of resource?)
+ncal:contactAltRep a rdf:Property ;
+ rdfs:label "contactAltRep" ;
+ rdfs:comment "Alternate representation of the contact property. Introduced to cover the ALTREP parameter of the CONTACT property. See documentation of ncal:contact for details." ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain ncal:UnionParentClass ;
+ rdfs:range rdfs:Resource .
+
+ncal:rdate a rdf:Property ;
+ rdfs:label "rdate" ;
+ rdfs:comment "This property defines the list of date/times for a recurrence set. Inspired by RFC 2445 sec. 4.8.5.3. Note that RFC allows both DATE, DATE-TIME and PERIOD values for this property. That's why the range has been set to NcalTimeEntity." ;
+ rdfs:domain ncal:UnionParentClass ;
+ rdfs:range ncal:NcalTimeEntity .
+
+ncal:recurrenceIdDateTime a rdf:Property ;
+ rdfs:label "recurrenceIdDateTime" ;
+ rdfs:comment "The date and time of a recurrence identifier. Provided to express the actual value of the ncal:recurrenceId property. See documentation for ncal:recurrenceId for details." ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain ncal:RecurrenceIdentifier ;
+ rdfs:range ncal:NcalDateTime .
+
+ncal:returnStatus a rdf:Property ;
+ rdfs:label "returnStatus" ;
+ rdfs:comment "Short return status. Inspired by the first element of the structured value of the REQUEST-STATUS property described in RFC 2445 sec. 4.8.8.2." ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain ncal:RequestStatus ;
+ rdfs:range xsd:string .
+
+ncal:daylight a rdf:Property ;
+ rdfs:label "daylight" ;
+ rdfs:comment "Links a timezone with it's daylight observance. This property has no direct equivalent in the RFC 2445. It has been inspired by the structure of the Vtimezone component defined in sec.4.6.5" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain ncal:Timezone ;
+ rdfs:range ncal:TimezoneObservance .
+
+# Range is a URL (xsd:string instead of resource?)
+ncal:locationAltRep a rdf:Property ;
+ rdfs:label "locationAltRep" ;
+ rdfs:comment "Alternate representation of the event or todo location. Introduced to cover the ALTREP parameter of the LOCATION property. See documentation of ncal:location for details." ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain ncal:UnionParentClass ;
+ rdfs:range rdfs:Resource .
+
+ncal:involvedContact a rdf:Property ;
+ rdfs:label "involvedContact" ;
+ rdfs:comment "A contact of the Attendee or the organizer involved in an event or other calendar entity. This property has been introduced to express the actual value of the ATTENDEE and ORGANIZER properties. The contact will also represent the CN parameter of those properties. See documentation of ncal:attendee or ncal:organizer for more details." ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain ncal:AttendeeOrOrganizer ;
+ rdfs:range nco:Contact .
+
+ncal:hasAlarm a rdf:Property ;
+ rdfs:label "hasAlarm" ;
+ rdfs:comment "Links an event or a todo with a DataObject that can be interpreted as an alarm. This property has no direct equivalent in the RFC 2445. It has been provided to express this relation." ;
+ rdfs:subPropertyOf nie:hasPart ;
+ rdfs:domain ncal:UnionParentClass ;
+ rdfs:range ncal:CalendarDataObject .
+
+ncal:exrule a rdf:Property ;
+ rdfs:label "exrule" ;
+ rdfs:comment "This property defines a rule or repeating pattern for an exception to a recurrence set. Inspired by RFC 2445 sec. 4.8.5.2." ;
+ rdfs:domain ncal:UnionParentClass ;
+ rdfs:range ncal:RecurrenceRule .
+
+ncal:rsvp a rdf:Property ;
+ rdfs:label "rsvp" ;
+ rdfs:comment "To specify whether there is an expectation of a favor of a reply from the calendar user specified by the property value. Inspired by RFC 2445 sec. 4.2.17" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain ncal:Attendee ;
+ rdfs:range xsd:boolean .
+
+ncal:byhour a rdf:Property ;
+ rdfs:label "byhour" ;
+ rdfs:comment "Hour of recurrence. Defined in RFC 2445 sec. 4.3.10" ;
+ rdfs:domain ncal:RecurrenceRule ;
+ rdfs:range xsd:integer .
+
+# Range is geo:Point, not in the ontology
+ncal:geo a rdf:Property ;
+ rdfs:label "geo" ;
+ rdfs:comment "This property specifies information related to the global position for the activity specified by a calendar component. Inspired by RFC 2445 sec. 4.8.1.6" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain ncal:UnionParentClass ;
+ rdfs:range rdfs:Resource .
+
+ncal:byminute a rdf:Property ;
+ rdfs:label "byminute" ;
+ rdfs:comment "Minute of recurrence. Defined in RFC 2445 sec. 4.3.10" ;
+ rdfs:domain ncal:RecurrenceRule ;
+ rdfs:range xsd:integer .
+
+# Range is a URL (xsd:string instead of resource?)
+ncal:resourcesAltRep a rdf:Property ;
+ rdfs:label "resourcesAltRep" ;
+ rdfs:comment "Alternate representation of the resources needed for an event or todo. Introduced to cover the ALTREP parameter of the resources property. See documentation for ncal:resources for details." ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain ncal:UnionParentClass ;
+ rdfs:range rdfs:Resource .
+
+ncal:fmttype a rdf:Property ;
+ rdfs:label "fmttype" ;
+ rdfs:comment "To specify the content type of a referenced object. Inspired by RFC 2445 sec. 4.2.8. The value of this property should be an IANA-registered content type (e.g. application/binary)" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain ncal:Attachment ;
+ rdfs:range xsd:string .
+
+ncal:byyearday a rdf:Property ;
+ rdfs:label "byyearday" ;
+ rdfs:comment "Day of the year the event should occur. Defined in RFC 2445 sec. 4.3.10" ;
+ rdfs:domain ncal:RecurrenceRule ;
+ rdfs:range xsd:integer .
+
+ncal:dtstart a rdf:Property ;
+ rdfs:label "dtstart" ;
+ rdfs:comment "This property specifies when the calendar component begins. Inspired by RFC 2445 sec. 4.8.2.4" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain ncal:UnionParentClass ;
+ rdfs:range ncal:NcalDateTime .
+
+ncal:description a rdf:Property ;
+ rdfs:label "description" ;
+ rdfs:comment "A more complete description of the calendar component, than that provided by the ncal:summary property.Inspired by RFC 2445 sec. 4.8.1.5 with following reservations: the LANGUAGE parameter has been discarded. Please use xml:lang literals to express language. For the ALTREP parameter use the descriptionAltRep property." ;
+ rdfs:subPropertyOf nie:description ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain ncal:UnionParentClass ;
+ rdfs:range xsd:string ;
+ tracker:fulltextIndexed true ;
+ tracker:weight 3 .
+
+ncal:encoding a rdf:Property ;
+ rdfs:label "encoding" ;
+ rdfs:comment "To specify an alternate inline encoding for the property value. Inspired by RFC 2445 sec. 4.2.7. Originally this property had a limited vocabulary. ('8BIT' and 'BASE64'). The terms of this vocabulary have been expressed as instances of the AttachmentEncoding class" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain ncal:Attachment ;
+ rdfs:range ncal:AttachmentEncoding .
+
+ncal:requestStatusData a rdf:Property ;
+ rdfs:label "requestStatusData" ;
+ rdfs:comment "Additional data associated with a request status. Inspired by the third part of the structured value for the REQUEST-STATUS property defined in RFC 2445 sec. 4.8.8.2 ('Textual exception data. For example, the offending property name and value or complete property line')" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain ncal:RequestStatus ;
+ rdfs:range xsd:string .
+
+ncal:partstat a rdf:Property ;
+ rdfs:label "partstat" ;
+ rdfs:comment "To specify the participation status for the calendar user specified by the property. Inspired by RFC 2445 sec. 4.2.12. Originally this parameter had three sets of allowed values. Which set applied to a particular case - depended on the type of calendar entity this parameter occured in. (event, todo, journal entry). This would be awkward to model in RDF so a single ParticipationStatus class has been introduced. Terms of the values vocabulary are expressed as instances of this class. Users are advised to pay attention which instances they use." ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain ncal:Attendee ;
+ rdfs:range ncal:ParticipationStatus .
+
+ncal:relatedToSibling a rdf:Property ;
+ rdfs:label "relatedToSibling" ;
+ rdfs:comment "The property is used to represent a relationship or reference between one calendar component and another. Inspired by RFC 2445 sec. 4.8.4.5. Originally this property had a RELTYPE parameter. It has been decided that it is more natural to introduce three different properties to express the values of that parameter. This property expresses the RELATED-TO property with RELTYPE=SIBLING parameter." ;
+ rdfs:subPropertyOf ncal:ncalRelation ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain ncal:UnionParentClass ;
+ rdfs:range xsd:string .
+
+ncal:count a rdf:Property ;
+ rdfs:label "count" ;
+ rdfs:comment "How many times should an event be repeated. Defined in RFC 2445 sec. 4.3.10" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain ncal:RecurrenceRule ;
+ rdfs:range xsd:integer .
+
+ncal:tzid a rdf:Property ;
+ rdfs:label "tzid" ;
+ rdfs:comment "This property specifies the text value that uniquely identifies the 'VTIMEZONE' calendar component. Inspired by RFC 2445 sec 4.8.3.1" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain ncal:Timezone ;
+ rdfs:range xsd:string .
+
+ncal:duration a rdf:Property ;
+ rdfs:label "duration" ;
+ rdfs:comment "The property specifies a positive duration of time. Inspired by RFC 2445 sec. 4.8.2.5" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain ncal:UnionParentClass ;
+ rdfs:range xsd:integer .
+
+ncal:bymonth a rdf:Property ;
+ rdfs:label "bymonth" ;
+ rdfs:comment "Number of the month of the recurrence. Valid values are integers from 1 (January) to 12 (December). Defined in RFC 2445 sec. 4.3.10" ;
+ rdfs:domain ncal:RecurrenceRule ;
+ rdfs:range xsd:integer .
+
+ncal:categories a rdf:Property ;
+ rdfs:label "categories" ;
+ rdfs:comment "Categories for a calendar component. Inspired by RFC 2445 sec 4.8.1.2 with the following reservations: The LANGUAGE parameter has been discarded. Please use xml:lang literals to express multiple languages. This property can specify multiple comma-separated categories. The order of categories doesn't matter. Please use a separate triple for each category." ;
+ rdfs:domain ncal:UnionParentClass ;
+ rdfs:range xsd:string .
+
+ncal:sentBy a rdf:Property ;
+ rdfs:label "sentBy" ;
+ rdfs:comment "To specify the calendar user that is acting on behalf of the calendar user specified by the property. Inspired by RFC 2445 sec. 4.2.18. The original data type of this property was a mailto: URI. This has been changed to nco:Contact to promote integration between NCO and NCAL." ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain ncal:AttendeeOrOrganizer ;
+ rdfs:range nco:Contact .
+
+ncal:freq a rdf:Property ;
+ rdfs:label "freq" ;
+ rdfs:comment "Frequency of a recurrence rule. Defined in RFC 2445 sec. 4.3.10" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain ncal:RecurrenceRule ;
+ rdfs:range ncal:RecurrenceFrequency .
+
+ncal:attachmentContent a rdf:Property ;
+ rdfs:label "attachmentContent" ;
+ rdfs:comment "The uri of the attachment. Created to express the actual value of the ATTACH property defined in RFC 2445 sec. 4.8.1.1. This property expresses the BINARY datatype of that property. see ncal:attachmentUri for the URI datatype." ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain ncal:Attachment ;
+ rdfs:range xsd:string .
+
+ncal:relatedToChild a rdf:Property ;
+ rdfs:label "relatedToChild" ;
+ rdfs:comment "The property is used to represent a relationship or reference between one calendar component and another. Inspired by RFC 2445 sec. 4.8.4.5. Originally this property had a RELTYPE parameter. It has been decided to introduce three different properties to express the values of that parameter. This property expresses the RELATED-TO property with RELTYPE=CHILD parameter." ;
+ rdfs:subPropertyOf ncal:ncalRelation ;
+ rdfs:domain ncal:UnionParentClass ;
+ rdfs:range xsd:string .
+
+ncal:relatedToParent a rdf:Property ;
+ rdfs:label "relatedToParent" ;
+ rdfs:comment "The property is used to represent a relationship or reference between one calendar component and another. Inspired by RFC 2445 sec. 4.8.4.5. Originally this property had a RELTYPE parameter. It has been decided that it is more natural to introduce three different properties to express the values of that parameter. This property expresses the RELATED-TO property with no RELTYPE parameter (the default value is PARENT), or with explicit RELTYPE=PARENT parameter." ;
+ rdfs:subPropertyOf ncal:ncalRelation ;
+ rdfs:domain ncal:UnionParentClass ;
+ rdfs:range xsd:string .
+
+# Pending of Nepomuk approval
+ncal:birthday a rdf:Property ;
+ rdfs:label "birthday event" ;
+ rdfs:comment "links a contact with the calendar event of his birthday. (NCAL version)" ;
+ rdfs:domain nco:Contact ;
+ rdfs:range ncal:Event .
+
+ncal:anniversary a rdf:Property ;
+ rdfs:label "anniversary event" ;
+ rdfs:comment "links a contact with the calendar event of an anniversary. (NCAL version)" ;
+ rdfs:domain nco:Contact ;
+ rdfs:range ncal:Event .
diff --git a/src/ontologies/36-scal.description b/src/ontologies/36-scal.description
new file mode 100644
index 000000000..d85db7b6a
--- /dev/null
+++ b/src/ontologies/36-scal.description
@@ -0,0 +1,12 @@
+@prefix dsc: <http://www.tracker-project.org/temp/dsc#> .
+
+<virtual-ontology-uri:36-scal.ontology> a dsc:Ontology ;
+ dsc:title "Simplified Calendar Ontology (SCAL)" ;
+ dsc:description "Simple and efficient ontology to represent calendar information (events, ToDos, recurrency rules...)" ;
+ dsc:author "Tracker Developers" ;
+ dsc:editor "Tracker Developers" ;
+ dsc:gitlog "http://git.gnome.org/cgit/tracker/log/src/ontologies/36-scal.ontology";
+
+ dsc:localPrefix "scal" ;
+ dsc:baseUrl "http://www.tracker-project.org/temp/scal#" ;
+ dsc:relativePath "./36-scal.ontology" .
diff --git a/src/ontologies/36-scal.ontology b/src/ontologies/36-scal.ontology
new file mode 100644
index 000000000..e77110418
--- /dev/null
+++ b/src/ontologies/36-scal.ontology
@@ -0,0 +1,483 @@
+@prefix nrl: <http://www.semanticdesktop.org/ontologies/2007/08/15/nrl#> .
+@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
+@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
+@prefix tracker: <http://www.tracker-project.org/ontologies/tracker#> .
+@prefix nie: <http://www.semanticdesktop.org/ontologies/2007/01/19/nie#> .
+@prefix nco: <http://www.semanticdesktop.org/ontologies/2007/03/22/nco#> .
+@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
+@prefix nao: <http://www.semanticdesktop.org/ontologies/2007/08/15/nao#> .
+@prefix scal: <http://www.tracker-project.org/temp/scal#> .
+
+scal: a tracker:Namespace, tracker:Ontology ;
+ tracker:prefix "scal" ;
+ nao:lastModified "2010-10-20T07:42:00Z" .
+
+scal:Calendar a rdfs:Class ;
+ rdfs:label "Calendar" ;
+ rdfs:comment "Group calendar items" ;
+ rdfs:subClassOf nie:InformationElement .
+
+scal:CalendarItem a rdfs:Class ;
+ rdfs:label "Calendar item" ;
+ rdfs:comment "Superclass of the calendar entities" ;
+ rdfs:subClassOf nie:InformationElement .
+
+# FIXME Should we define the inverse property?
+scal:belongsToCalendar a rdf:Property ;
+ rdfs:label "Belongs to calentar" ;
+ rdfs:comment "Relation between a calendar item and a calendar." ;
+ rdfs:subPropertyOf nie:isLogicalPartOf ;
+ rdfs:domain scal:CalendarItem ;
+ rdfs:range scal:Calendar .
+
+scal:textLocation a rdf:Property ;
+ rdfs:label "Text Location";
+ rdfs:comment "Textual description of location for an item. Sec. 4.8.1.7. Use better mlo:location" ;
+ rdfs:domain scal:CalendarItem ;
+ nrl:maxCardinality 1 ;
+ rdfs:range xsd:integer .
+
+scal:resources a rdf:Property ;
+ rdfs:label "Resources";
+ rdfs:comment "Resources required for the calendar item (equipment, installations...)" ;
+ rdfs:domain scal:CalendarItem ;
+ nrl:maxCardinality 1 ;
+ rdfs:range xsd:string .
+
+# Transparency for every calendar item
+scal:TransparencyValues a rdfs:Class ;
+ rdfs:label "Transparency values" ;
+ rdfs:comment "Predefined instances of time transparency for the calendar items" ;
+ rdfs:subClassOf rdfs:Resource .
+
+scal:transparency-transparent a scal:TransparencyValues .
+scal:transparency-opaque a scal:TransparencyValues .
+
+scal:transparency a rdf:Property ;
+ rdfs:label "Transparency" ;
+ rdfs:comment "Time transparency for the item (busy time or transparent)";
+ nrl:maxCardinality 1 ;
+ rdfs:domain scal:CalendarItem ;
+ rdfs:range scal:TransparencyValues .
+
+
+#
+# All calendar items inherit from InformationElement
+# nie:title, nie:description and mlo:location
+#
+
+#
+# Contacts involved in a Calendar Item
+#
+scal:Attendee a rdfs:Class ;
+ rdfs:label "Event attendee" ;
+ rdfs:comment "Contact related with a calendar item" ;
+ rdfs:subClassOf rdfs:Resource .
+
+# Status of an attendee
+scal:AttendanceStatus a rdfs:Class ;
+ rdfs:label "Attendance status values (partstat in ical spec)" ;
+ rdfs:comment "Predefined set of instances: needs-action, accepted..." ;
+ rdfs:subClassOf rdfs:Resource .
+
+scal:attendance-needs-action a scal:AttendanceStatus .
+scal:attendance-accepted a scal:AttendanceStatus .
+scal:attendance-declined a scal:AttendanceStatus .
+scal:attendance-tentative a scal:AttendanceStatus .
+scal:attendance-delegated a scal:AttendanceStatus .
+scal:attendance-completed a scal:AttendanceStatus .
+scal:attendance-in-process a scal:AttendanceStatus .
+
+scal:attendanceStatus a rdf:Property ;
+ rdfs:label "Attendance status" ;
+ rdfs:comment "Status of contact's assitance to the event" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain scal:Attendee ;
+ rdfs:range scal:AttendanceStatus .
+
+# Role of an attendee
+scal:AttendeeRole a rdfs:Class ;
+ rdfs:label "Attendee role in the event (Role in ical spec)" ;
+ rdfs:comment "Predefined set of instances: chain, req-participant..." ;
+ rdfs:subClassOf rdfs:Resource .
+
+scal:attendee-role-chair a scal:AttendeeRole .
+scal:attendee-role-req-participant a scal:AttendeeRole .
+scal:attendee-role-opt-participant a scal:AttendeeRole .
+scal:attendee-role-non-participant a scal:AttendeeRole .
+
+scal:attendeeRole a rdf:Property ;
+ rdfs:label "Attendee role in the event" ;
+ rdfs:comment "Property to link with an attendee role instance" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain scal:Attendee ;
+ rdfs:range scal:AttendeeRole .
+
+
+scal:attendeeContact a rdf:Property ;
+ rdfs:label "Link to contact" ;
+ rdfs:comment "Link from the attendee to the actual contact" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain scal:Attendee ;
+ rdfs:range nco:Contact .
+
+# RSVP of an attendee
+scal:RSVPValues a rdfs:Class ;
+ rdfs:label "RSVP Values" ;
+ rdfs:comment "Predefined set of instances: Yes/No (not boolean to allow undefined values)" ;
+ rdfs:subClassOf rdfs:Resource .
+
+scal:rsvp-value-true a scal:RSVPValues .
+scal:rsvp-value-false a scal:RSVPValues .
+
+scal:rsvp a rdf:Property ;
+ rdfs:label "rsvp" ;
+ rdfs:comment "Link an attendee with his rsvp status" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain scal:Attendee ;
+ rdfs:range scal:RSVPValues .
+
+
+scal:attendee a rdf:Property ;
+ rdfs:label "Attendee" ;
+ rdfs:comment "Link of an Calendar item with an attendee, that can have different status" ;
+ rdfs:domain scal:CalendarItem ;
+ rdfs:range scal:Attendee .
+
+scal:contact a rdf:Property ;
+ rdfs:label "Contact" ;
+ rdfs:comment "Contact related with the Calendar Item (spec 4.8.4.2)" ;
+ rdfs:domain scal:CalendarItem ;
+ rdfs:range scal:Attendee .
+
+# Calendar User Type
+scal:CalendarUserType a rdfs:Class ;
+ rdfs:label "Calendar user type instances (CUTYPE in ical spec)";
+ rdfs:comment "Predefined set of instance for calendar user types";
+ rdfs:subClassOf rdfs:Resource .
+
+#
+# Individual/Group is not nco:PersonContact /nco:OrganizationContact ?
+# Room and resource as calendar USER type?!?!?!
+# Property of "ATTENDEE" ?!?!?! <- misunderstanding the spec, or the spec is trollshit.
+#
+scal:cutype-individual a scal:CalendarUserType .
+scal:cutype-group a scal:CalendarUserType .
+scal:cutype-room a scal:CalendarUserType .
+scal:cutype-resource a scal:CalendarUserType .
+scal:cutype-unknown a scal:CalendarUserType .
+
+scal:calendarUserType a rdf:Property ;
+ rdfs:label "Calendar user type" ;
+ rdfs:comment "Link an attendee instance with a cutype" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain scal:Attendee ;
+ rdfs:range scal:CalendarUserType .
+
+# Do we need more fine-grained description of these properties?
+scal:member a rdf:Property ;
+ rdfs:label "Member" ;
+ rdfs:comment "To specify the group or list membership of the calendar user specified by the property" ;
+ rdfs:domain scal:Attendee ;
+ rdfs:range nco:Contact .
+
+scal:delegated-to a rdf:Property ;
+ rdfs:label "Delegated-to" ;
+ rdfs:comment "to indicate the calendar users that the original request was delegated to" ;
+ rdfs:domain scal:Attendee ;
+ rdfs:range nco:Contact .
+
+scal:delegated-from a rdf:Property ;
+ rdfs:label "Delegated-from" ;
+ rdfs:comment "to indicate the calendar users whom the request was delegated from" ;
+ rdfs:domain scal:Attendee ;
+ rdfs:range nco:Contact .
+
+scal:sent-by a rdf:Property ;
+ rdfs:label "Sent-by" ;
+ rdfs:comment "to indicate whom is acting on behalf of the ATTENDEE" ;
+ rdfs:domain scal:Attendee ;
+ rdfs:range nco:Contact .
+
+scal:Event a rdfs:Class ;
+ rdfs:label "Event" ;
+ rdfs:comment "An Event according the ical definition" ;
+ rdfs:subClassOf scal:CalendarItem .
+
+scal:Todo a rdfs:Class ;
+ rdfs:label "Todo" ;
+ rdfs:comment "A ToDo according the ical definition" ;
+ rdfs:subClassOf scal:CalendarItem .
+
+scal:Journal a rdfs:Class ;
+ rdfs:label "Journal" ;
+ rdfs:comment "A Journal entry according to the ical definition" ;
+ rdfs:subClassOf scal:CalendarItem .
+
+# Status for event
+scal:EventStatus a rdfs:Class ;
+ rdfs:label "Calendar event status";
+ rdfs:comment "Predefined instances of status for events" ;
+ rdfs:subClassOf rdfs:Resource .
+
+scal:event-status-tentative a scal:EventStatus .
+scal:event-status-confirmed a scal:EventStatus .
+scal:event-status-cancelled a scal:EventStatus .
+
+scal:eventStatus a rdf:Property ;
+ rdfs:label "event status" ;
+ rdfs:comment "Link of an event with its status" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain scal:Event ;
+ rdfs:range scal:EventStatus .
+
+# Status for Todo
+scal:TodoStatus a rdfs:Class ;
+ rdfs:label "Calendar todo status";
+ rdfs:comment "Predefined instances of status for todos" ;
+ rdfs:subClassOf rdfs:Resource .
+
+scal:todo-status-needs-action a scal:TodoStatus .
+scal:todo-status-completed a scal:TodoStatus .
+scal:todo-status-in-process a scal:TodoStatus .
+scal:todo-status-cancelled a scal:TodoStatus .
+
+scal:todoStatus a rdf:Property ;
+ rdfs:label "todo status" ;
+ rdfs:comment "Link of an todo with its status" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain scal:Todo ;
+ rdfs:range scal:TodoStatus .
+
+# Status for Journal
+scal:JournalStatus a rdfs:Class ;
+ rdfs:label "Calendar journal status";
+ rdfs:comment "Predefined instances of status for journals" ;
+ rdfs:subClassOf rdfs:Resource .
+
+scal:journal-status-needs-action a scal:JournalStatus .
+scal:journal-status-completed a scal:JournalStatus .
+scal:journal-status-in-process a scal:JournalStatus .
+scal:journal-status-cancelled a scal:JournalStatus .
+
+scal:journalStatus a rdf:Property ;
+ rdfs:label "journal status" ;
+ rdfs:comment "Link of an journal with its status" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain scal:Journal ;
+ rdfs:range scal:JournalStatus .
+
+#
+# Link of contacts with Events
+#
+scal:birthday a rdf:Property ;
+ rdfs:label "birthday event" ;
+ rdfs:comment "links a contact with the calendar event of his birthday. (SCAL version)" ;
+ rdfs:domain nco:Contact ;
+ rdfs:range scal:Event .
+
+scal:anniversary a rdf:Property ;
+ rdfs:label "anniversary event" ;
+ rdfs:comment "links a contact with the calendar event of an anniversary. (SCAL version)" ;
+ rdfs:domain nco:Contact ;
+ rdfs:range scal:Event .
+
+
+#
+# Alarms:
+#
+# FIXME fix the hierarchy to support generic alarms
+# (This one is always linked with an Event)
+#
+scal:CalendarAlarm a rdfs:Class ;
+ rdfs:label "Alarm" ;
+ rdfs:comment "An alam according to the ical definition" ;
+ rdfs:subClassOf nie:InformationElement .
+
+scal:alarmOffset a rdf:Property ;
+ rdfs:label "Alarm offset";
+ rdfs:comment "Offset of the alarm respect to the Calendar item start time. In minutes" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain scal:CalendarAlarm ;
+ rdfs:range xsd:integer .
+
+scal:calendarItemAlarm a rdf:Property ;
+ rdfs:label "CalendarItem-alarm link" ;
+ rdfs:comment "Link between calendar item and alarm" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain scal:CalendarItem ;
+ rdfs:range scal:CalendarAlarm .
+
+scal:alarmAttendee a rdf:Property ;
+ rdfs:label "Alarm attendee" ;
+ rdfs:comment "Alarms can have attendees. RFC has told" ;
+ rdfs:domain scal:CalendarAlarm ;
+ rdfs:range scal:Attendee .
+
+#
+# Time point
+#
+scal:TimePoint a rdfs:Class ;
+ rdfs:label "Time item" ;
+ rdfs:comment "Point in time" ;
+ rdfs:subClassOf rdfs:Resource .
+
+scal:dateTime a rdf:Property ;
+ rdfs:label "Time" ;
+ rdfs:comment "Date and time in UTC" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain scal:TimePoint ;
+ rdfs:range xsd:dateTime .
+
+scal:TimeZone a rdf:Property ;
+ rdfs:label "Reference time zone" ;
+ rdfs:comment "Timezone in the OLSON DB used as reference in the time. Use 'floating' for floating times or study the convenience of a boolean 'isFloating' attribute." ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain scal:TimePoint ;
+ rdfs:range xsd:string .
+
+#
+# Access status
+#
+scal:AccessLevel a rdfs:Class ;
+ rdfs:label "Access level" ;
+ rdfs:comment "Access classification for a calendar item: public, private or confidential. Use the predefined instances in the ontology" ;
+ rdfs:subClassOf rdfs:Resource .
+
+scal:access-level-private a scal:AccessLevel .
+scal:access-level-public a scal:AccessLevel .
+scal:access-level-confidential a scal:AccessLevel .
+
+scal:access a rdf:Property ;
+ rdfs:label "Access" ;
+ rdfs:comment "Access classification: public private..." ;
+ rdfs:domain scal:CalendarItem ;
+ rdfs:range scal:AccessLevel .
+
+#
+# Todo properties
+#
+scal:due a rdf:Property ;
+ rdfs:label "Due" ;
+ rdfs:comment "Due time for a task to be completed" ;
+ rdfs:domain scal:Todo ;
+ rdfs:range scal:TimePoint ;
+ nrl:maxCardinality 1 .
+
+scal:completed a rdf:Property ;
+ rdfs:label "Completed" ;
+ rdfs:comment "Time when the task was completed" ;
+ rdfs:domain scal:Todo ;
+ rdfs:range scal:TimePoint ;
+ nrl:maxCardinality 1 .
+
+scal:percentComplete a rdf:Property ;
+ rdfs:label "Percentage completed" ;
+ rdfs:comment "% of the task completed" ;
+ rdfs:domain scal:Todo ;
+ rdfs:range xsd:integer ;
+ nrl:maxCardinality 1 .
+
+#
+# Every Calendar item has start and end time points + all-day boolean
+#
+scal:start a rdf:Property ;
+ rdfs:label "start time";
+ rdfs:comment "Start time of a calendar item" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain scal:CalendarItem ;
+ rdfs:range scal:TimePoint .
+
+scal:end a rdf:Property ;
+ rdfs:label "end time" ;
+ rdfs:comment "End time of a calendar item. Set always a value to avoid OPTIONALS";
+ nrl:maxCardinality 1;
+ rdfs:domain scal:CalendarItem ;
+ rdfs:range scal:TimePoint .
+
+scal:isAllDay a rdf:Property ;
+ rdfs:label "Whole day calendar item" ;
+ rdfs:comment "True if the event applies to the whole day" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain scal:CalendarItem ;
+ rdfs:range xsd:boolean .
+
+
+#
+# General Calendar item properties
+#
+scal:priority a rdf:Property ;
+ rdfs:label "Priority" ;
+ rdfs:comment "Relative priority of th event" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain scal:CalendarItem ;
+ rdfs:range xsd:integer .
+
+scal:attachment a rdf:Property ;
+ rdfs:label "Attachment" ;
+ rdfs:comment "Item attached to a calendar item" ;
+ rdfs:domain scal:CalendarItem ;
+ rdfs:range nie:DataObject .
+
+#
+# Recurrence rules
+#
+scal:RecurrenceRule a rdfs:Class ;
+ rdfs:label "Recurrence rule" ;
+ rdfs:comment "Representation of repeating patterns" ;
+ rdfs:subClassOf rdfs:Resource .
+
+scal:rrule a rdf:Property ;
+ rdfs:label "recurrence rule" ;
+ rdfs:comment "Repeating pattern for recurring CalendarItems" ;
+ rdfs:domain scal:CalendarItem ;
+ rdfs:range scal:RecurrenceRule .
+
+#
+# This is going to be pretty conflictive and non-semantic... but
+# improve a lot the performance. Study a better solution (maybe keeping the
+# multiple properties in parallel)
+#
+scal:recurrencePattern a rdf:Property ;
+ rdfs:label "Recurrence pattern" ;
+ rdfs:comment "Recurrence pattern enforcing all (14) the fields in RFC2445/4.3.10, with ';' as separator: freq;until;count;interval;bysecond;byminute;byhour;byday;bymonthday;byyearday;byweekno;bymonth;bysetpos;wkst " ;
+ rdfs:domain scal:RecurrenceRule ;
+ nrl:maxCardinality 1 ;
+ rdfs:range xsd:string .
+
+scal:recurrenceStartDate a rdf:Property;
+ rdfs:label "Recurrence pattern start date" ;
+ rdfs:comment "Reuse here the start-date instance of the base event for this recurrence rule. This property makes possible to retrieve all required data to expand the recurrence rule in one short query" ;
+ rdfs:domain scal:RecurrenceRule ;
+ nrl:maxCardinality 1 ;
+ rdfs:range scal:TimePoint .
+
+scal:exception a rdf:Property ;
+ rdfs:label "recurrence rule exception" ;
+ rdfs:comment "True if this recurrence rules must be interpreted as an exception" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain scal:RecurrenceRule ;
+ rdfs:range xsd:boolean .
+
+scal:rdate a rdf:Property ;
+ rdfs:label "Recurrence date" ;
+ rdfs:comment "One of more concrete ocurrences of the calendar item using ';' as separator. Included for backward compatibility. Use rrule instead" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain scal:CalendarItem ;
+ rdfs:range xsd:integer .
+
+scal:exceptionRDate a rdf:Property ;
+ rdfs:label "Recurrence date exception" ;
+ rdfs:comment "One of more concrete exceptions of the calendar item using ';' as separator. Included for backward compatibility. Use rrule with exception='true' instead" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain scal:CalendarItem ;
+ rdfs:range xsd:integer .
+
+
+
+#
+# TODO
+#
+# equivalent of ncal:Action, including ncal:repeat and ncal:duration
+#
+#
diff --git a/src/ontologies/37-nid3.description b/src/ontologies/37-nid3.description
new file mode 100644
index 000000000..5f92d4829
--- /dev/null
+++ b/src/ontologies/37-nid3.description
@@ -0,0 +1,12 @@
+@prefix dsc: <http://www.tracker-project.org/temp/dsc#> .
+
+<virtual-ontology-uri:37-nid3.ontology> a dsc:Ontology ;
+ dsc:title "Nepomuk IDE3 copy (NID3)" ;
+ dsc:description "Deprecated ontology to describe music. Please check NMM." ;
+ dsc:author "Nepomuk people" ;
+ dsc:editor "Tracker Developers (turtle translation)" ;
+ dsc:gitlog "http://git.gnome.org/cgit/tracker/log/src/ontologies/37-nid3.ontology";
+
+ dsc:localPrefix "nid3" ;
+ dsc:baseUrl "http://www.semanticdesktop.org/ontologies/2007/05/10/nid3#" ;
+ dsc:relativePath "./37-nid3.ontology" .
diff --git a/src/ontologies/37-nid3.ontology b/src/ontologies/37-nid3.ontology
new file mode 100644
index 000000000..08e1d0587
--- /dev/null
+++ b/src/ontologies/37-nid3.ontology
@@ -0,0 +1,90 @@
+@prefix nco: <http://www.semanticdesktop.org/ontologies/2007/03/22/nco#> .
+@prefix nfo: <http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#> .
+@prefix nie: <http://www.semanticdesktop.org/ontologies/2007/01/19/nie#> .
+@prefix nid3: <http://www.semanticdesktop.org/ontologies/2007/05/10/nid3#> .
+@prefix nrl: <http://www.semanticdesktop.org/ontologies/2007/08/15/nrl#> .
+@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
+@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
+@prefix tracker: <http://www.tracker-project.org/ontologies/tracker#> .
+@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
+@prefix nao: <http://www.semanticdesktop.org/ontologies/2007/08/15/nao#> .
+
+nid3: a tracker:Namespace, tracker:Ontology ;
+ tracker:prefix "nid3" ;
+ nao:lastModified "2010-02-16T11:00:00Z" .
+
+nid3:ID3Audio a rdfs:Class ;
+ rdfs:subClassOf nfo:Audio .
+
+nid3:title a rdf:Property ;
+ rdfs:label "Title" ;
+ rdfs:comment "Track title" ;
+ rdfs:subPropertyOf nie:title ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nid3:ID3Audio ;
+ rdfs:range xsd:string ;
+ tracker:fulltextIndexed true ;
+ tracker:weight 10 .
+
+nid3:leadArtist a rdf:Property ;
+ rdfs:label "Artist" ;
+ rdfs:comment "Track artist" ;
+ rdfs:domain nid3:ID3Audio ;
+ rdfs:range nco:Contact ;
+ tracker:weight 6 .
+
+nid3:albumTitle a rdf:Property ;
+ rdfs:label "Title" ;
+ rdfs:comment "Track title" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nid3:ID3Audio ;
+ rdfs:range xsd:string ;
+ tracker:fulltextIndexed true ;
+ tracker:weight 10 .
+
+nid3:contentType a rdf:Property ;
+ rdfs:label "Genre" ;
+ rdfs:comment "The type or genre of the music track" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nid3:ID3Audio ;
+ rdfs:range xsd:string ;
+ tracker:fulltextIndexed true ;
+ tracker:weight 5 .
+
+nid3:length a rdf:Property ;
+ rdfs:label "Duration" ;
+ rdfs:comment "The length in seconds of the music track" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nid3:ID3Audio ;
+ rdfs:range xsd:integer ;
+ tracker:weight 4 .
+
+nid3:recordingYear a rdf:Property ;
+ rdfs:label "Release date" ;
+ rdfs:comment "The date the track was released" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nid3:ID3Audio ;
+ rdfs:range xsd:integer .
+
+nid3:trackNumber a rdf:Property ;
+ rdfs:label "Track number" ;
+ rdfs:comment "The position of the track relative to the others" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nid3:ID3Audio ;
+ rdfs:range xsd:string .
+
+nid3:partOfSet a rdf:Property ;
+ rdfs:label "Disc number" ;
+ rdfs:comment "On which disc the track is located" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nid3:ID3Audio ;
+ rdfs:range xsd:string .
+
+nid3:comments a rdf:Property ;
+ rdfs:label "Comments" ;
+ rdfs:comment "General purpose comments" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nid3:ID3Audio ;
+ rdfs:range xsd:string ;
+ tracker:weight 3 .
+
diff --git a/src/ontologies/38-nmm.description b/src/ontologies/38-nmm.description
new file mode 100644
index 000000000..cff616067
--- /dev/null
+++ b/src/ontologies/38-nmm.description
@@ -0,0 +1,16 @@
+@prefix dsc: <http://www.tracker-project.org/temp/dsc#> .
+
+<virtual-ontology-uri:38-nmm.ontology> a dsc:Ontology ;
+ dsc:title "Nepomuk MultiMedia (NMM)" ;
+ dsc:description "Description of multimedia objects like Music, Video and Images" ;
+
+ dsc:author "Urho Konttori &lt;urho.konttori@nokia.com&gt;" ;
+
+ dsc:editor "Urho Konttori &lt;urho.konttori@nokia.com&gt;" ;
+ dsc:editor "Ivan Frade &lt;ivan.frade@nokia.com&gt;" ;
+
+ dsc:gitlog "http://git.gnome.org/cgit/tracker/log/src/ontologies/38-nmm.ontology";
+
+ dsc:localPrefix "nmm" ;
+ dsc:baseUrl "http://www.tracker-project.org/temp/nmm#" ;
+ dsc:relativePath "./38-nmm.ontology" .
diff --git a/src/ontologies/38-nmm.ontology b/src/ontologies/38-nmm.ontology
new file mode 100644
index 000000000..0137af267
--- /dev/null
+++ b/src/ontologies/38-nmm.ontology
@@ -0,0 +1,550 @@
+@prefix dc: <http://purl.org/dc/elements/1.1/> .
+@prefix nco: <http://www.semanticdesktop.org/ontologies/2007/03/22/nco#> .
+@prefix nfo: <http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#> .
+@prefix nao: <http://www.semanticdesktop.org/ontologies/2007/08/15/nao#> .
+@prefix nie: <http://www.semanticdesktop.org/ontologies/2007/01/19/nie#> .
+@prefix nmm: <http://www.tracker-project.org/temp/nmm#> .
+@prefix nrl: <http://www.semanticdesktop.org/ontologies/2007/08/15/nrl#> .
+@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
+@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
+@prefix tracker: <http://www.tracker-project.org/ontologies/tracker#> .
+@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
+@prefix nao: <http://www.semanticdesktop.org/ontologies/2007/08/15/nao#> .
+
+nmm: a tracker:Namespace, tracker:Ontology ;
+ tracker:prefix "nmm" ;
+ nao:lastModified "2014-09-19T11:05:00Z" .
+
+nmm:MusicPiece a rdfs:Class ;
+ rdfs:label "Music" ;
+ tracker:notify true ;
+ tracker:domainIndex nie:title ;
+ rdfs:subClassOf nfo:Media .
+
+nmm:MusicAlbum a rdfs:Class ;
+ rdfs:label "Music album" ;
+ tracker:notify true ;
+ tracker:domainIndex nie:title ;
+ rdfs:subClassOf nfo:MediaList .
+
+# Added Dec 1 2010
+nmm:MusicAlbumDisc a rdfs:Class ;
+ rdfs:label "Music album Disc" ;
+ rdfs:subClassOf nie:InformationElement .
+
+# Added Dec 1 2010
+nmm:albumDiscAlbum a rdf:Property ;
+ rdfs:label "album disc's album" ;
+ rdfs:comment "Album of the disc" ;
+ rdfs:range nmm:MusicAlbum ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nmm:MusicAlbumDisc .
+
+nmm:SynchronizedText a rdfs:Class ;
+ rdfs:label "Synchronized text (use nie:language to set the language). Valid for subtitles and lyrics" ;
+ rdfs:subClassOf nfo:PlainTextDocument .
+
+nmm:Video a rdfs:Class ;
+ rdfs:label "Video" ;
+ tracker:notify true ;
+ rdfs:subClassOf nfo:Video ;
+ rdfs:subClassOf nfo:Audio .
+
+nmm:Artist a rdfs:Class ;
+ rdfs:label "Artist" ;
+ rdfs:comment "An artist." ;
+ tracker:notify true ;
+ rdfs:subClassOf nie:InformationElement , nco:Role .
+
+nmm:Playlist a rdfs:Class ;
+ rdfs:label "Media playlist" ;
+ rdfs:comment "Specific class to split MediaList in Albums and playlists." ;
+ tracker:notify true ;
+ rdfs:subClassOf nfo:MediaList .
+
+nmm:artistName a rdf:Property ;
+ rdfs:label "fullname" ;
+ rdfs:comment "Name of the artist" ;
+ rdfs:subPropertyOf dc:title ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nmm:Artist ;
+ rdfs:range xsd:string ;
+ tracker:indexed true ;
+ tracker:fulltextIndexed true ;
+ tracker:weight 6 .
+
+nmm:musicAlbum a rdf:Property ;
+ rdfs:label "album" ;
+ rdfs:comment "album the music belongs to" ;
+ rdfs:subPropertyOf nie:isLogicalPartOf ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nmm:MusicPiece ;
+ rdfs:range nmm:MusicAlbum ;
+ tracker:writeback true ;
+ tracker:indexed true ;
+ tracker:weight 6 .
+
+nmm:musicAlbumDisc a rdf:Property ;
+ rdfs:label "is part of album disc" ;
+ rdfs:comment "album disc the music belongs to" ;
+ rdfs:subPropertyOf nie:isLogicalPartOf ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nmm:MusicPiece ;
+ rdfs:range nmm:MusicAlbumDisc .
+
+# Cardinality could be > 1 if we create one for album collections
+nmm:albumArtist a rdf:Property ;
+ rdfs:label "artist" ;
+ rdfs:comment "main artists of the album" ;
+ rdfs:domain nmm:MusicAlbum ;
+ rdfs:range nmm:Artist ;
+ tracker:weight 6 .
+
+nmm:beatsPerMinute a rdf:Property ;
+ rdfs:label "Beats per minute" ;
+ rdfs:comment "beats per minute" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nmm:MusicPiece ;
+ rdfs:range xsd:integer .
+
+# Todo: change cardinality
+nmm:performer a rdf:Property ;
+ rdfs:label "Performer" ;
+ rdfs:comment "Performer" ;
+ rdfs:subPropertyOf nco:contributor ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nmm:MusicPiece ;
+ rdfs:range nmm:Artist ;
+ tracker:weight 4 ;
+ tracker:writeback true ;
+ tracker:indexed true .
+
+nmm:composer a rdf:Property ;
+ rdfs:label "Composer" ;
+ rdfs:comment "Composer" ;
+ rdfs:subPropertyOf nco:contributor ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nmm:MusicPiece ;
+ rdfs:range nmm:Artist ;
+ tracker:weight 4 .
+
+nmm:lyricist a rdf:Property ;
+ rdfs:label "Lyricist" ;
+ rdfs:comment "Lyricist" ;
+ rdfs:subPropertyOf nco:contributor ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nmm:MusicPiece ;
+ rdfs:range nmm:Artist ;
+ tracker:weight 4 .
+
+nmm:lyrics a rdf:Property ;
+ rdfs:label "File with the lyrics for the music piece" ;
+ rdfs:domain nmm:MusicPiece ;
+ rdfs:range nmm:SynchronizedText .
+
+nmm:trackNumber a rdf:Property ;
+ rdfs:label "Track number" ;
+ rdfs:comment "Track number of the music in its album" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nmm:MusicPiece ;
+ rdfs:range xsd:integer .
+
+nmm:isForHearingImpaired a rdf:Property ;
+ rdfs:label "Is for hearing-impaired" ;
+ rdfs:comment "Does text stream contain helper tags for hearing-impaired such as &lt;steps in hallway&gt;" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nmm:SynchronizedText ;
+ rdfs:range xsd:boolean .
+
+nmm:musicCDIdentifier a rdf:Property ;
+ rdfs:label "Music CD identifier" ;
+ rdfs:comment "Music CD identifier to for databases like FreeDB.org. This frame is intended for music that comes from a CD, so that the CD can be identified in databases such as the CDDB. The frame consists of a binary dump of the Table Of Contents, TOC, from the CD, which is a header of 4 bytes and then 8 bytes/track on the CD plus 8 bytes for the 'lead out' making a maximum of 804 bytes. The offset to the beginning of every track on the CD should be described with a four bytes absolute CD-frame address per track, and not with absolute time." ;
+ rdfs:subPropertyOf nie:identifier ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nmm:MusicAlbumDisc ;
+ rdfs:range xsd:string .
+
+nmm:internationalStandardRecordingCode a rdf:Property ;
+ rdfs:label "International Standard Recording Code" ;
+ rdfs:comment "ISRC ID. Format: 'CC-XXX-YY-NNNNN'" ;
+ rdfs:subPropertyOf nie:identifier ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nmm:MusicPiece ;
+ rdfs:range xsd:string .
+
+nmm:albumTrackCount a rdf:Property ;
+ rdfs:label "Track count" ;
+ rdfs:comment "Track count of album" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nmm:MusicAlbum ;
+ rdfs:range xsd:integer .
+
+nmm:artwork a rdf:Property ;
+ rdfs:label "Artwork" ;
+ rdfs:comment "Associated Artwork" ;
+ rdfs:domain nfo:Media ;
+ rdfs:range nfo:Image ;
+ rdfs:subPropertyOf nfo:depiction .
+
+nmm:albumTitle a rdf:Property ;
+ rdfs:label "Title" ;
+ rdfs:comment "nmm:albumTitle is deprecated, use nie:title instead, extractors still need updating" ;
+ rdfs:subPropertyOf nie:title ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nmm:MusicAlbum ;
+ rdfs:range xsd:string ;
+ nao:deprecated true ;
+ tracker:fulltextIndexed true ;
+ tracker:weight 6 .
+
+nmm:albumDuration a rdf:Property ;
+ rdfs:label "Album duration" ;
+ rdfs:comment "Duration of the album" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nmm:MusicAlbum ;
+ rdfs:range xsd:integer .
+
+nmm:albumGain a rdf:Property ;
+ rdfs:label "Gain" ;
+ rdfs:comment "Gain of album" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nmm:MusicAlbum ;
+ rdfs:range xsd:integer .
+
+nmm:albumPeakGain a rdf:Property ;
+ rdfs:label "Peak Gain" ;
+ rdfs:comment "Peak Gain of album" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nmm:MusicAlbum ;
+ rdfs:range xsd:integer .
+
+nmm:setNumber a rdf:Property ;
+ rdfs:label "Disc number" ;
+ rdfs:comment "Disc number of album disc" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nmm:MusicAlbumDisc ;
+ rdfs:range xsd:integer .
+
+# This property doesn't make sense... it is the other way around
+# From the list ot the item, not from the item to the list
+nmm:videoAlbum a rdf:Property ;
+ rdfs:label "Album" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nmm:Video ;
+ rdfs:range nfo:MediaList .
+
+nmm:isSeries a rdf:Property ;
+ rdfs:label "Is series" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nmm:Video ;
+ rdfs:range xsd:boolean .
+
+nmm:season a rdf:Property ;
+ rdfs:label "Season" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nmm:Video ;
+ rdfs:range xsd:integer .
+
+nmm:episodeNumber a rdf:Property ;
+ rdfs:label "Episode number" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nmm:Video ;
+ rdfs:range xsd:integer .
+
+nmm:runTime a rdf:Property ;
+ rdfs:label "Run time" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nmm:Video ;
+ rdfs:range xsd:integer .
+
+nmm:synopsis a rdf:Property ;
+ rdfs:label "Synopsis" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nmm:Video ;
+ rdfs:range xsd:string .
+
+nmm:MPAARating a rdf:Property ;
+ rdfs:label "MPAA Rating" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nmm:Video ;
+ rdfs:range xsd:string .
+
+nmm:category a rdf:Property ;
+ rdfs:label "Category" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nmm:Video ;
+ rdfs:range xsd:string ;
+ tracker:fulltextIndexed true ;
+ tracker:weight 4 .
+
+nmm:genre a rdf:Property ;
+ rdfs:label "Genre" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nfo:Media ;
+ rdfs:range xsd:string ;
+ tracker:fulltextIndexed true ;
+ tracker:weight 4 .
+
+nmm:director a rdf:Property ;
+ rdfs:label "Director" ;
+ rdfs:domain nmm:Video ;
+ rdfs:range nmm:Artist ;
+ tracker:weight 4 .
+
+nmm:producedBy a rdf:Property ;
+ rdfs:label "Produced by" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nmm:Video ;
+ rdfs:range nmm:Artist ;
+ tracker:weight 3 .
+
+nmm:leadActor a rdf:Property ;
+ rdfs:label "Lead actor" ;
+ rdfs:domain nmm:Video ;
+ rdfs:range nmm:Artist ;
+ tracker:weight 4 .
+
+nmm:hasSubtitle a rdf:Property ;
+ rdfs:label "Has subtitle" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nmm:Video ;
+ rdfs:range xsd:boolean .
+
+nmm:subtitle a rdf:Property ;
+ rdfs:label "Subtitle file relevant for the video" ;
+ rdfs:domain nmm:Video ;
+ rdfs:range nmm:SynchronizedText ;
+ tracker:weight 5 .
+
+nmm:isContentEncrypted a rdf:Property ;
+ rdfs:label "Is content encrypted FIXME: defined already in IE in this ontology!" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nmm:Video ;
+ rdfs:range xsd:boolean .
+
+nmm:skipCounter a rdf:Property ;
+ rdfs:label "Increase if the media is skip while playing" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nfo:Media ;
+ rdfs:range xsd:integer .
+
+## Image ontology
+
+nmm:ImageList a rdfs:Class ;
+ rdfs:subClassOf nfo:MediaList ;
+ rdfs:label "Image album" ;
+ tracker:notify true ;
+ rdfs:comment "An album of images" .
+
+nmm:Photo a rdfs:Class ;
+ rdfs:subClassOf nfo:Image ;
+ rdfs:label "Photo" ;
+ tracker:notify true ;
+ rdfs:comment "A photo" .
+
+# Properties
+# Photo location is waiting for the Location ontology
+
+nmm:exposureTime a rdf:Property ;
+ rdfs:label "Exposure time" ;
+ rdfs:comment "Exposure time of the photo" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nmm:Photo ;
+ rdfs:range xsd:double ;
+ tracker:writeback true .
+
+nmm:Flash a rdfs:Class ;
+ rdfs:label "Flash values" ;
+ rdfs:comment "Enumeration of the possible values of flash property" ;
+ rdfs:subClassOf rdfs:Resource .
+
+nmm:flash-on a nmm:Flash .
+nmm:flash-off a nmm:Flash .
+
+nmm:flash a rdf:Property ;
+ rdfs:label "Flash" ;
+ rdfs:comment "Specifies whether flash was used" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nmm:Photo ;
+ rdfs:range nmm:Flash ;
+ tracker:writeback true .
+
+nmm:fnumber a rdf:Property ;
+ rdfs:label "F number" ;
+ rdfs:comment "The diameter of the entrance pupil in terms of the focal length of the lens" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nmm:Photo ;
+ rdfs:range xsd:double ;
+ tracker:writeback true .
+
+nmm:focalLength a rdf:Property ;
+ rdfs:label "Focal length" ;
+ rdfs:comment "A measure of how strongly the lens converges light" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nmm:Photo ;
+ rdfs:range xsd:double ;
+ tracker:writeback true .
+
+nmm:isoSpeed a rdf:Property ;
+ rdfs:label "ISO speed" ;
+ rdfs:comment "Measure of a photographic film's sensitivity to light as ISO value" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nmm:Photo ;
+ rdfs:range xsd:double ;
+ tracker:writeback true .
+
+nmm:MeteringMode a rdfs:Class ;
+ rdfs:label "Metering mode values" ;
+ rdfs:comment "Enumeration of different ways a camera determines exposure." ;
+ rdfs:subClassOf rdfs:Resource .
+
+nmm:metering-mode-average a nmm:MeteringMode .
+nmm:metering-mode-center-weighted-average a nmm:MeteringMode .
+nmm:metering-mode-spot a nmm:MeteringMode .
+nmm:metering-mode-multispot a nmm:MeteringMode .
+nmm:metering-mode-pattern a nmm:MeteringMode .
+nmm:metering-mode-partial a nmm:MeteringMode .
+nmm:metering-mode-other a nmm:MeteringMode .
+
+nmm:meteringMode a rdf:Property ;
+ rdfs:comment "Metering mode refers to the way in which a camera determines the exposure." ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nmm:Photo ;
+ rdfs:range nmm:MeteringMode ;
+ tracker:writeback true .
+
+nmm:WhiteBalance a rdfs:Class ;
+ rdfs:label "White balance" ;
+ rdfs:comment "Camera's white balance setting" ;
+ rdfs:subClassOf rdfs:Resource .
+
+nmm:white-balance-auto a nmm:WhiteBalance .
+nmm:white-balance-manual a nmm:WhiteBalance .
+
+nmm:whiteBalance a rdf:Property ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nmm:Photo ;
+ rdfs:range nmm:WhiteBalance ;
+ tracker:writeback true .
+
+nmm:isCropped a rdf:Property ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nmm:Photo ;
+ rdfs:range xsd:boolean .
+
+nmm:isColorCorrected a rdf:Property ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nmm:Photo ;
+ rdfs:range xsd:boolean .
+
+# Radio (IE part)
+nmm:RadioStation a rdfs:Class ;
+ rdfs:label "Radio station" ;
+ rdfs:comment "The Radio station in user terms: BBC3, Radio5, YLEX, ... It is linked with 1 or more carriers (different FM frenquencies, online sources in different qualities, etc.). Some RDS information is represented with nie properties, nie:identifier for PI, nie:title for PS" ;
+ rdfs:subClassOf nfo:Audio ;
+ tracker:notify true .
+
+nmm:radioIcon a rdf:Property ;
+ rdfs:label "Radio station icon" ;
+ rdfs:comment "Image used as logo for a radio station" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nmm:RadioStation ;
+ rdfs:range nfo:Image .
+
+nmm:radioPTY a rdf:Property ;
+ rdfs:label "PTY" ;
+ rdfs:comment "PTY Code (content description) as integer. RDS specs define the translations into human readable descriptions for various languages" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nmm:RadioStation ;
+ rdfs:range xsd:integer .
+
+nmm:carrier a rdf:Property ;
+ rdfs:label "Carrier" ;
+ rdfs:comment "Signal where a radio can be tuned in. There can be more than one." ;
+ rdfs:domain nmm:RadioStation ;
+ rdfs:range nfo:MediaStream .
+
+# Radio (DO part)
+nmm:DigitalRadio a rdfs:Class ;
+ rdfs:label "Online Radio Stream" ;
+ rdfs:comment "Online Radio Stream data object (i.e. as a raw flow of bytes)" ;
+ rdfs:subClassOf nfo:MediaStream .
+
+nmm:AnalogRadio a rdfs:Class ;
+ rdfs:label "AM/FM Radio carrier signal" ;
+ rdfs:comment "FM Radio carrier signal data. Basically the frequency" ;
+ rdfs:subClassOf nfo:MediaStream .
+
+nmm:RadioModulation a rdfs:Class ;
+ rdfs:label "Radio modulation" ;
+ rdfs:comment "Set of instances for analog radio modulation";
+ rdfs:subClassOf rdfs:Resource .
+
+nmm:radio-modulation-am a nmm:RadioModulation.
+nmm:radio-modulation-fm a nmm:RadioModulation.
+
+nmm:modulation a rdf:Property ;
+ rdfs:label "Signal modulation" ;
+ rdfs:comment "Modulation used in the frequency (AM or FM)" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nmm:AnalogRadio ;
+ rdfs:range nmm:RadioModulation .
+
+nmm:frequency a rdf:Property ;
+ rdfs:label "Frequency" ;
+ rdfs:comment "Frequency in the Radio spectrum in Khz (note that usually FM frequencies are in MHz)" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nmm:AnalogRadio ;
+ rdfs:range xsd:integer .
+
+
+nmm:streamingBitrate a rdf:Property ;
+ rdfs:label "Streaming bitrate" ;
+ rdfs:comment "Bitrate indicating the quality of the stream in Kbits (usual values 32, 64, 128...)" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nmm:DigitalRadio ;
+ rdfs:range xsd:integer .
+
+# Maybe defined set of instances? AAC, MP3, ...
+nmm:encoding a rdf:Property ;
+ rdfs:label "Encoding of the radio" ;
+ rdfs:comment "Encoding of the radio. It is a property of the streaming, that it is known before hand, so the applications can choose the encoding they understand." ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nmm:DigitalRadio ;
+ rdfs:range xsd:string .
+
+nmm:protocol a rdf:Property ;
+ rdfs:label "Protocol" ;
+ rdfs:comment "Protocol used for the streaming (HTTP, RTSP)" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nmm:DigitalRadio ;
+ rdfs:range xsd:string .
+
+
+# Upnp related resources
+nmm:alternativeMedia a rdf:Property ;
+ rdfs:label "Alternative media" ;
+ rdfs:comment "Link between to different version of the same media. This is used for instances in uPnp where the server can provide the same video in different resolutions and codecs" ;
+ rdfs:domain nfo:Media ;
+ rdfs:range nfo:Media .
+
+nmm:dlnaProfile a rdf:Property ;
+ rdfs:label "DLNA profile" ;
+ rdfs:comment "DLNA profile of the content, like MP3, MPEG_TS_HD_US, LPCM etc" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nfo:Media ;
+ rdfs:range xsd:string .
+
+nmm:dlnaMime a rdf:Property ;
+ rdfs:label "DLNA mimetype" ;
+ rdfs:comment "Mimetypes as defined for DLNA (occasional differences compared to xdg-mime)" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nfo:Media ;
+ rdfs:range xsd:string .
+
+nmm:uPnPShared a rdf:Property ;
+ rdfs:label "uPnP shared" ;
+ rdfs:comment "Tells the uPnP MediaServer (e.g. Rygel) whether to export/share the resource or not" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nfo:Media ;
+ rdfs:range xsd:boolean .
diff --git a/src/ontologies/39-mto.description b/src/ontologies/39-mto.description
new file mode 100644
index 000000000..b2af3cb77
--- /dev/null
+++ b/src/ontologies/39-mto.description
@@ -0,0 +1,16 @@
+@prefix dsc: <http://www.tracker-project.org/temp/dsc#> .
+
+<virtual-ontology-uri:39-mto.ontology> a dsc:Ontology ;
+ dsc:title "Maemo Transfer Ontology (MTO)" ;
+ dsc:description "Representation of download and upload operations in the system" ;
+
+ dsc:author "Ivan Frade &lt;ivan.frade@nokia.com&gt;" ;
+ dsc:author "Divya Subramanian &lt;divya.subramanian@sasken.com&gt;" ;
+
+ dsc:editor "Ivan Frade &lt;ivan.frade@nokia.com&gt;" ;
+
+ dsc:gitlog "http://git.gnome.org/cgit/tracker/log/src/ontologies/39-mto.ontology";
+
+ dsc:localPrefix "mto" ;
+ dsc:baseUrl "http://www.tracker-project.org/temp/mto#" ;
+ dsc:relativePath "./39-mto.ontology" .
diff --git a/src/ontologies/39-mto.ontology b/src/ontologies/39-mto.ontology
new file mode 100644
index 000000000..bae2a261d
--- /dev/null
+++ b/src/ontologies/39-mto.ontology
@@ -0,0 +1,162 @@
+@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
+@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
+@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
+@prefix nrl: <http://www.semanticdesktop.org/ontologies/2007/08/15/nrl#> .
+@prefix nie: <http://www.semanticdesktop.org/ontologies/2007/01/19/nie#> .
+@prefix nfo: <http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#> .
+@prefix mto: <http://www.tracker-project.org/temp/mto#> .
+@prefix tracker: <http://www.tracker-project.org/ontologies/tracker#> .
+@prefix nao: <http://www.semanticdesktop.org/ontologies/2007/08/15/nao#> .
+
+mto: a tracker:Namespace, tracker:Ontology ;
+ tracker:prefix "mto" ;
+ nao:lastModified "2010-10-20T07:42:00Z" .
+
+mto:TransferElement a rdfs:Class ;
+ rdfs:label "Transfer element" ;
+ rdfs:comment "Gives information about the transfer of a single element - typically a file. The properties in this class would need to be changed if it has to handle sync elements as well" ;
+ tracker:notify true ;
+ rdfs:subClassOf nie:InformationElement .
+
+mto:Transfer a rdfs:Class ;
+ rdfs:label "Transfer" ;
+ rdfs:comment "Represent a single transfer task, which could have multiple transfer elements" ;
+ tracker:notify true ;
+ rdfs:subClassOf nie:InformationElement .
+
+mto:UploadTransfer a rdfs:Class ;
+ rdfs:label "Upload" ;
+ rdfs:comment "Handles transfers of files/data present on the device to some place outside the device. Upload methods include uploading to a website, sending via BlueTooth etc. " ;
+ rdfs:subClassOf mto:Transfer .
+
+mto:DownloadTransfer a rdfs:Class ;
+ rdfs:label "Download" ;
+ rdfs:comment "Handles transfers of files outside the device into the device. This class will only refer to files downloaded from a website or recieved using BlueTooth etc. Files recieved with messages are not considered here. Those would be handled seperately using nmo:Message" ;
+ rdfs:subClassOf mto:Transfer .
+
+mto:SyncTransfer a rdfs:Class ;
+ rdfs:label "Sync" ;
+ rdfs:comment "Handles synchronization between the device and some server (a computer, or a website)" ;
+ rdfs:subClassOf mto:Transfer .
+
+# NO Web upload class
+
+mto:source a rdf:Property ;
+ rdfs:label "Source" ;
+ rdfs:comment "The source for the transfer. If the transfer is an upload, it would be the URI for a file on the device. If the transfer is a (web) download, it will be a URL. Question: Does it make more sense to have two fields: uploadSource and downloadSource?" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain mto:TransferElement ;
+ rdfs:range rdfs:Resource .
+
+mto:destination a rdf:Property ;
+ rdfs:label "Destination" ;
+ rdfs:comment "The destination of the transfer. If the transfer is an download, it would be the URI for a file on the device. If the transfer is a (web) upload, it will be a URL, which will be filled once the upload is completed." ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain mto:TransferElement ;
+ rdfs:range rdfs:Resource .
+
+mto:startedTime a rdf:Property ;
+ rdfs:label "Started" ;
+ rdfs:comment "Captures the date and time when the transfer was started" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain mto:TransferElement ;
+ rdfs:range xsd:dateTime .
+
+mto:completedTime a rdf:Property ;
+ rdfs:label "Completed" ;
+ rdfs:comment "Captures the date and time when the transfer ended. It must be set only when the trasfer element is completed succesfully" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain mto:TransferElement ;
+ rdfs:range xsd:dateTime .
+
+mto:State a rdfs:Class ;
+ rdfs:label "State value" ;
+ rdfs:subClassOf rdfs:Resource ;
+ rdfs:comment "Class with a restricted set of instances to enumarate transfer methods".
+
+mto:state-active a mto:State .
+mto:state-paused a mto:State .
+mto:state-cancelled a mto:State .
+mto:state-done a mto:State .
+mto:state-pending a mto:State .
+mto:state-error a mto:State .
+
+mto:state a rdf:Property ;
+ rdfs:label "State" ;
+ rdfs:comment "Captures the current state of the transfer element: Pending (not started), In Progress, Paused, Cancelled, Done" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain mto:TransferElement ;
+ rdfs:range mto:State .
+
+mto:transferState a rdf:Property ;
+ rdfs:label "Transfer state" ;
+ rdfs:comment "Captures the state of the transfer. This is derived from the cumulative states of the transfer elements of this transfer. Applications are responsible to keep it up-to-date" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain mto:Transfer ;
+ rdfs:range mto:State .
+
+mto:TransferMethod a rdfs:Class ;
+ rdfs:comment "Class with a restricted set of instances to enumarate transfer methods" ;
+ rdfs:subClassOf rdfs:Resource .
+
+mto:transfer-method-bluetooth a mto:TransferMethod .
+mto:transfer-method-web a mto:TransferMethod .
+
+mto:method a rdf:Property ;
+ rdfs:label "Method" ;
+ rdfs:comment "The method of transfer - Bluetooth, Web upload etc" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain mto:Transfer ;
+ rdfs:range mto:TransferMethod .
+
+mto:created a rdf:Property ;
+ rdfs:label "Created" ;
+ rdfs:comment "The date and time when the transfer was created" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain mto:Transfer ;
+ rdfs:range xsd:dateTime .
+
+mto:transferList a rdf:Property ;
+ rdfs:label "Transfer List" ;
+ rdfs:comment "A list of transfer elements" ;
+ rdfs:domain mto:Transfer ;
+ rdfs:range mto:TransferElement .
+
+# unknown range - will need to be defined by the Account management guys
+# FIXME FIXME FIXME FIXME: At the moment xsd:string so the transfer app guys can start working.
+# Waiting for a holistic accounts solution
+# It could also be a ContactMedium
+mto:account a rdf:Property ;
+ rdfs:label "Account" ;
+ rdfs:comment "A reference to the account to which the web upload is to be done. This should at least contain information about the account and the service which is being used. For instance, Google/YouTube or Google/Picassa" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain mto:Transfer ;
+ rdfs:range xsd:string .
+
+mto:starter a rdf:Property ;
+ rdfs:label "Starter" ;
+ rdfs:comment "The application that actually triggered the transfer - e.g. Gallery, Content Manager etc" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain mto:Transfer ;
+ rdfs:range nfo:Software .
+
+mto:agent a rdf:Property ;
+ rdfs:label "Agent" ;
+ rdfs:comment "The application processing the transfer - e.g. Upload Engine etc" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain mto:Transfer ;
+ rdfs:range nfo:Software .
+
+mto:transferCategory a rdf:Property ;
+ rdfs:label "Category for the transfer" ;
+ rdfs:comment "This can contain category / tag / album / folder in the destination service" ;
+ rdfs:domain mto:UploadTransfer ;
+ rdfs:range xsd:string .
+
+# eg. Privacy level available to ALL transfers (or only to uploads?)
+mto:transferPrivacyLevel a rdf:Property ;
+ rdfs:label "Privacy level" ;
+ rdfs:comment "It will contain an string with the privacy level in the service. The exact string and its interpretation is service specific" ;
+ rdfs:domain mto:Transfer ;
+ rdfs:range xsd:string .
+
diff --git a/src/ontologies/40-mlo.description b/src/ontologies/40-mlo.description
new file mode 100644
index 000000000..e724fc6c1
--- /dev/null
+++ b/src/ontologies/40-mlo.description
@@ -0,0 +1,14 @@
+@prefix dsc: <http://www.tracker-project.org/temp/dsc#> .
+
+<virtual-ontology-uri:40-mlo.ontology> a dsc:Ontology ;
+ dsc:title "Maemo Location Ontology (MLO)" ;
+ dsc:description "Deprecated ontology for location and landmarks. Please check SLO" ;
+
+ dsc:author "Ivan Frade &lt;ivan.frade@nokia.com&gt;" ;
+ dsc:editor "Ivan Frade &lt;ivan.frade@nokia.com&gt;" ;
+
+ dsc:gitlog "http://git.gnome.org/cgit/tracker/log/src/ontologies/40-mlo.ontology";
+
+ dsc:baseUrl "http://www.tracker-project.org/temp/mlo#" ;
+ dsc:localPrefix "mlo" ;
+ dsc:relativePath "./40-mlo.ontology" .
diff --git a/src/ontologies/40-mlo.ontology b/src/ontologies/40-mlo.ontology
new file mode 100644
index 000000000..3fc36b69e
--- /dev/null
+++ b/src/ontologies/40-mlo.ontology
@@ -0,0 +1,359 @@
+@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
+@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
+@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
+@prefix nrl: <http://www.semanticdesktop.org/ontologies/2007/08/15/nrl#> .
+@prefix nie: <http://www.semanticdesktop.org/ontologies/2007/01/19/nie#> .
+@prefix nco: <http://www.semanticdesktop.org/ontologies/2007/03/22/nco#> .
+@prefix mlo: <http://www.tracker-project.org/temp/mlo#> .
+@prefix tracker: <http://www.tracker-project.org/ontologies/tracker#> .
+@prefix nao: <http://www.semanticdesktop.org/ontologies/2007/08/15/nao#> .
+
+mlo: a tracker:Namespace, tracker:Ontology ;
+ tracker:prefix "mlo" ;
+ nao:deprecated true ;
+ nao:lastModified "2011-03-28T19:32:00Z" .
+
+mlo:GeoLocation a rdfs:Class ;
+ rdfs:label "Location" ;
+ rdfs:comment "A place in the space, can be defined by coordinates, text or box";
+ nao:deprecated true ;
+ rdfs:subClassOf nie:InformationElement.
+
+mlo:GeoPoint a rdfs:Class ;
+ rdfs:label "Point on the earth" ;
+ rdfs:comment "The inherited properties from InformationElement can be used to add details." ;
+ nao:deprecated true ;
+ rdfs:subClassOf nie:InformationElement .
+
+mlo:GeoSphere a rdfs:Class ;
+ rdfs:label "Spherical space" ;
+ rdfs:comment "Point and radius to define an area in the space";
+ nao:deprecated true ;
+ rdfs:subClassOf mlo:GeoPoint .
+
+mlo:GeoBoundingBox a rdfs:Class ;
+ rdfs:label "Bounding box";
+ rdfs:comment "Bounding box for a region in the space, defined with 2 points in 2D. We assume that the box is always aligned with parallels and meridians.";
+ nao:deprecated true ;
+ rdfs:subClassOf nie:InformationElement .
+
+mlo:LocationBoundingBox a rdfs:Class ;
+ rdfs:label "Box containing a relevant location (places that cannot be described in one concrete point)" ;
+ nao:deprecated true ;
+ rdfs:subClassOf mlo:GeoBoundingBox .
+
+mlo:Route a rdfs:Class ;
+ rdfs:label "Minimum box containing all the points traversed in sequence." ;
+ nao:deprecated true ;
+ rdfs:subClassOf mlo:GeoBoundingBox .
+
+mlo:LandmarkCategory a rdfs:Class ;
+ rdfs:label "Landmark category";
+ rdfs:comment "Predefined set of instances for categories of landmarks";
+ nao:deprecated true ;
+ rdfs:subClassOf nie:InformationElement.
+
+mlo:isRemovable a rdf:Property ;
+ rdfs:label "Is removable";
+ rdfs:comment "Flag to indicate if this instance is removable. This restriction is not enforced by tracker; it is API responsability to honor the value";
+ rdfs:domain mlo:LandmarkCategory ;
+ nao:deprecated true ;
+ rdfs:range xsd:boolean.
+
+mlo:Landmark a rdfs:Class ;
+ rdfs:label "Point with special relevance for the user" ;
+ rdfs:subClassOf nie:InformationElement ;
+ nao:deprecated true ;
+ rdfs:comment "Use the nie title, description, ... properties" .
+
+mlo:PointOfInterest a rdfs:Class ;
+ rdfs:label "Use mlo:Landmark instead" ;
+ rdfs:subClassOf mlo:Landmark ;
+ nao:deprecated true ;
+ rdfs:comment "Use the nie title, description, ... properties".
+
+mlo:belongsToCategory a rdf:Property ;
+ rdfs:label "Belongs to category";
+ rdfs:comment "Relation of a landmark with a landmark category";
+ rdfs:domain mlo:Landmark ;
+ nao:deprecated true ;
+ rdfs:range mlo:LandmarkCategory .
+
+# Properties of GeoPoint
+mlo:latitude a rdf:Property ;
+ rdfs:label "Latitude";
+ rdfs:comment "Positive values for the north hemisphere, negative for the south" ;
+ rdfs:domain mlo:GeoPoint ;
+ nao:deprecated true ;
+ rdfs:range xsd:double .
+
+mlo:longitude a rdf:Property ;
+ rdfs:label "Longitude" ;
+ rdfs:comment "Positive to the East of the Greenwich meridian, negative to the West (following WGS-84)" ;
+ rdfs:domain mlo:GeoPoint ;
+ nao:deprecated true ;
+ rdfs:range xsd:double .
+
+mlo:altitude a rdf:Property ;
+ rdfs:label "Altitude" ;
+ rdfs:comment "Altitude following WGS 84 reference";
+ rdfs:domain mlo:GeoPoint ;
+ nao:deprecated true ;
+ rdfs:range xsd:double .
+
+mlo:timestamp a rdf:Property ;
+ rdfs:label "Timestamp" ;
+ rdfs:comment "Timestamp when the geopoint is referenced. Create subproperties for certain use cases" ;
+ rdfs:domain mlo:GeoPoint ;
+ nao:deprecated true ;
+ rdfs:range xsd:dateTime .
+
+# Properties of LocationBoundingBox
+mlo:boxSouthWestCorner a rdf:Property ;
+ rdfs:label "South-west corner of the bounding box" ;
+ rdfs:domain mlo:LocationBoundingBox ;
+ nao:deprecated true ;
+ rdfs:range mlo:GeoPoint.
+
+mlo:boxEastLimit a rdf:Property ;
+ rdfs:label "Length of the box in the East direction" ;
+ rdfs:domain mlo:LocationBoundingBox ;
+ nao:deprecated true ;
+ rdfs:range mlo:GeoPoint.
+
+mlo:boxVerticalLimit a rdf:Property ;
+ rdfs:label "Length of the box in the Up direction (height)" ;
+ rdfs:domain mlo:LocationBoundingBox ;
+ nao:deprecated true ;
+ rdfs:range mlo:GeoPoint.
+
+mlo:boxNorthLimit a rdf:Property ;
+ rdfs:label "Length of the box in the North direction" ;
+ rdfs:domain mlo:LocationBoundingBox ;
+ nao:deprecated true ;
+ rdfs:range mlo:GeoPoint.
+
+mlo:bbNorthWest a rdf:Property ;
+ rdfs:label "North west corner";
+ rdfs:comment "North west corner of a bounding box. The GeoPoint is interpreted in 2D";
+ rdfs:domain mlo:GeoBoundingBox ;
+ nao:deprecated true ;
+ rdfs:range mlo:GeoPoint .
+
+mlo:bbSouthEast a rdf:Property ;
+ rdfs:label "South east corner";
+ rdfs:comment "South east corner of a bounding box. The GeoPoint is interpreted in 2D";
+ rdfs:domain mlo:GeoBoundingBox ;
+ nao:deprecated true ;
+ rdfs:range mlo:GeoPoint .
+
+# Properties of Route
+mlo:startTime a rdf:Property ;
+ rdfs:label "Time when the first point in the route was saved" ;
+ rdfs:domain mlo:Route ;
+ nao:deprecated true ;
+ rdfs:range xsd:dateTime .
+
+mlo:endTime a rdf:Property ;
+ rdfs:label "Time when the last point in the route was saved" ;
+ rdfs:domain mlo:Route ;
+ nao:deprecated true ;
+ rdfs:range xsd:dateTime .
+
+mlo:routeDetails a rdf:Property ;
+ rdfs:label "Pointer to a file containing route details (e.g. KML file)." ;
+ rdfs:comment "FIXME Domain can be resource if we handle map-files correctly in the ontology";
+ rdfs:domain mlo:Route ;
+ nao:deprecated true ;
+ rdfs:range xsd:string .
+
+# Properties of GeoSphere
+mlo:radius a rdf:Property ;
+ rdfs:label "Radius";
+ rdfs:comment "Radius from the center to define an area. Some applications can use it in 2D sense, making then a circle instead of a sphere" ;
+ rdfs:domain mlo:GeoSphere ;
+ nao:deprecated true ;
+ rdfs:range xsd:double .
+
+
+# FIXME Domain rdfs:Resource?? to link files and not only content?
+mlo:location a rdf:Property ;
+ tracker:writeback true ;
+ rdfs:label "Property linking something to a location" ;
+ rdfs:comment "This can be subclassed to add semantics" ;
+ rdfs:domain nie:InformationElement ;
+ tracker:indexed true ;
+ nao:deprecated true ;
+ rdfs:range mlo:GeoLocation .
+
+# Properties of GeoLocation
+mlo:asBoundingBox a rdf:Property ;
+ rdfs:label "As bounding box" ;
+ rdfs:comment "Representation of the location as bounding box" ;
+ tracker:indexed true ;
+ rdfs:domain mlo:GeoLocation ;
+ nao:deprecated true ;
+ rdfs:range mlo:GeoBoundingBox .
+
+mlo:asGeoPoint a rdf:Property ;
+ rdfs:label "As geo point" ;
+ rdfs:comment "Representation of the location as geo point" ;
+ tracker:indexed true ;
+ rdfs:domain mlo:GeoLocation ;
+ nao:deprecated true ;
+ rdfs:range mlo:GeoPoint .
+
+mlo:asPostalAddress a rdf:Property ;
+ rdfs:label "As postal address" ;
+ rdfs:comment "Representation of the location as text address" ;
+ tracker:indexed true ;
+ rdfs:domain mlo:GeoLocation ;
+ nao:deprecated true ;
+ rdfs:range nco:PostalAddress .
+
+# TODO: These are ad-hoc added by Philip to support writeback of locations
+mlo:city a rdf:Property ;
+ tracker:writeback true ;
+ rdfs:label "City" ;
+ nao:deprecated true;
+ rdfs:domain mlo:GeoPoint ;
+ rdfs:range xsd:string .
+
+mlo:country a rdf:Property ;
+ tracker:writeback true ;
+ rdfs:label "Country" ;
+ nao:deprecated true ;
+ rdfs:domain mlo:GeoPoint ;
+ rdfs:range xsd:string .
+
+mlo:state a rdf:Property ;
+ tracker:writeback true ;
+ rdfs:label "State" ;
+ nao:deprecated true ;
+ rdfs:domain mlo:GeoPoint ;
+ rdfs:range xsd:string .
+
+mlo:address a rdf:Property ;
+ tracker:writeback true ;
+ rdfs:label "Address" ;
+ nao:deprecated true ;
+ rdfs:domain mlo:GeoPoint ;
+ rdfs:range xsd:string .
+
+# Properties of Point of Interest
+mlo:poiLocation a rdf:Property ;
+ rdfs:label "POI Location" ;
+ rdfs:comment "Coordinates of the point (Use the mlo:location property inherited from IE" ;
+ nao:deprecated true;
+ rdfs:domain mlo:Landmark ;
+ rdfs:range mlo:GeoPoint .
+
+###############################################
+# Predefined categories coming from Symbian
+# - move to a different file?
+###############################################
+
+mlo:predefined-landmark-category-accommodation a mlo:LandmarkCategory ;
+ mlo:isRemovable false ;
+ nie:title "Accommodation";
+ nie:identifier "3000";
+ nao:deprecated true ;
+ nie:description "Hotel, Camping site".
+
+mlo:predefined-landmark-category-business a mlo:LandmarkCategory ;
+ mlo:isRemovable false ;
+ nie:title "Business";
+ nie:identifier "6000";
+ nao:deprecated true ;
+ nie:description "Bank, Factory, Office".
+
+mlo:predefined-landmark-category-communication a mlo:LandmarkCategory ;
+ mlo:isRemovable false ;
+ nie:title "Communication";
+ nie:identifier "9000";
+ nao:deprecated true ;
+ nie:description "Internet Access Point, Public Telephone, Wireless LAN Hot Spot".
+
+mlo:predefined-landmark-category-educational-institute a mlo:LandmarkCategory ;
+ mlo:isRemovable false ;
+ nie:title "Educational institute";
+ nie:identifier "12000";
+ nao:deprecated true ;
+ nie:description "School, College".
+
+mlo:predefined-landmark-category-entertainment a mlo:LandmarkCategory ;
+ mlo:isRemovable false ;
+ nie:title "Entertainment";
+ nie:identifier "15000";
+ nao:deprecated true ;
+ nie:description "Amusement park, Cinema, Concert hall, Night club".
+
+mlo:predefined-landmark-category-food-beverage a mlo:LandmarkCategory ;
+ mlo:isRemovable false ;
+ nie:title "Food & Beverage";
+ nie:identifier "18000";
+ nao:deprecated true ;
+ nie:description "Fast food, Restaurant, Café, Bar".
+
+mlo:predefined-landmark-category-geographical-area a mlo:LandmarkCategory ;
+ mlo:isRemovable false ;
+ nie:title "Geographical area";
+ nie:identifier "21000";
+ nao:deprecated true ;
+ nie:description "City, City center, Town".
+
+mlo:predefined-landmark-category-outdoor-activities a mlo:LandmarkCategory ;
+ mlo:isRemovable false ;
+ nie:title "Outdoor activities";
+ nie:identifier "24000";
+ nao:deprecated true ;
+ nie:description "Camping site, Fishing place, Hunting, National park, Playground".
+
+mlo:predefined-landmark-category-people a mlo:LandmarkCategory ;
+ mlo:isRemovable false ;
+ nie:title "People";
+ nie:identifier "27000";
+ nao:deprecated true ;
+ nie:description "My home, My friends home, Fathers summer cottage, Childs school".
+
+mlo:predefined-landmark-category-public-service a mlo:LandmarkCategory ;
+ mlo:isRemovable false ;
+ nie:title "Public service";
+ nie:identifier "30000";
+ nao:deprecated true ;
+ nie:description "Tourist information office, Government office, Library, Post office, Hospital, Police ".
+
+mlo:predefined-landmark-category-religious-places a mlo:LandmarkCategory ;
+ mlo:isRemovable false ;
+ nie:title "Religious places";
+ nie:identifier "33000";
+ nao:deprecated true ;
+ nie:description "Church, Mosque".
+
+mlo:predefined-landmark-category-shopping a mlo:LandmarkCategory ;
+ mlo:isRemovable false ;
+ nie:title "Shopping";
+ nie:identifier "36000";
+ nao:deprecated true ;
+ nie:description "Market Place, Pharmacy, Shop, Shopping Center".
+
+mlo:predefined-landmark-category-sightseeing a mlo:LandmarkCategory ;
+ mlo:isRemovable false ;
+ nie:title "Sightseeing";
+ nie:identifier "39000";
+ nao:deprecated true ;
+ nie:description "Monument, Mountain top, Museum".
+
+mlo:predefined-landmark-category-sports a mlo:LandmarkCategory ;
+ mlo:isRemovable false ;
+ nie:title "Sports";
+ nie:identifier "42000";
+ nao:deprecated true ;
+ nie:description "Bowling, Golf course, Ice hockey hall, Stadium".
+
+mlo:predefined-landmark-category-transport a mlo:LandmarkCategory ;
+ mlo:isRemovable false ;
+ nie:title "Transport";
+ nie:identifier "45000";
+ nao:deprecated true ;
+ nie:description "Airport, Bus stop, Harbour, Railway Station, Rest area".
diff --git a/src/ontologies/41-mfo.description b/src/ontologies/41-mfo.description
new file mode 100644
index 000000000..75e9663e1
--- /dev/null
+++ b/src/ontologies/41-mfo.description
@@ -0,0 +1,16 @@
+@prefix dsc: <http://www.tracker-project.org/temp/dsc#> .
+
+<virtual-ontology-uri:41-mfo.ontology> a dsc:Ontology ;
+ dsc:title "Maemo Feeds Ontology (MFO)" ;
+ dsc:description "Model for feeds and alike online streams" ;
+
+ dsc:author "Ivan Frade &lt;ivan.frade@nokia.com&gt;" ;
+ dsc:author "Jitendra Kumar &lt;jitendra.1.kumar@nokia.com&gt;" ;
+
+ dsc:editor "Ivan Frade &lt;ivan.frade@nokia.com&gt;" ;
+
+ dsc:gitlog "http://git.gnome.org/cgit/tracker/log/src/ontologies/41-mfo.ontology";
+
+ dsc:localPrefix "mfo" ;
+ dsc:baseUrl "http://www.tracker-project.org/temp/mfo#" ;
+ dsc:relativePath "./41-mfo.ontology" .
diff --git a/src/ontologies/41-mfo.ontology b/src/ontologies/41-mfo.ontology
new file mode 100644
index 000000000..0949cbb46
--- /dev/null
+++ b/src/ontologies/41-mfo.ontology
@@ -0,0 +1,202 @@
+@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
+@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
+@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
+@prefix nrl: <http://www.semanticdesktop.org/ontologies/2007/08/15/nrl#> .
+@prefix nie: <http://www.semanticdesktop.org/ontologies/2007/01/19/nie#> .
+@prefix nfo: <http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#> .
+@prefix tracker: <http://www.tracker-project.org/ontologies/tracker#> .
+@prefix nmo: <http://www.semanticdesktop.org/ontologies/2007/03/22/nmo#> .
+@prefix mfo: <http://www.tracker-project.org/temp/mfo#> .
+@prefix nao: <http://www.semanticdesktop.org/ontologies/2007/08/15/nao#> .
+
+mfo: a tracker:Namespace, tracker:Ontology ;
+ tracker:prefix "mfo" ;
+ nao:lastModified "2010-02-16T11:00:00Z" .
+
+mfo:FeedElement a rdfs:Class;
+ rdfs:label "Feed element";
+ rdfs:comment "Superclass for all elements related with feeds, to provide common configuration options";
+ rdfs:subClassOf nie:InformationElement .
+
+mfo:FeedChannel a rdfs:Class ;
+ tracker:notify true ;
+ rdfs:label "Feed channel" ;
+ rdfs:comment "Represents feed channel transfer, typically a download of RSS or ATOM. It is also a communication channel of Nepomuk Messaging Ontology so that feed sources could be treated as message sources" ;
+ rdfs:subClassOf nmo:CommunicationChannel, mfo:FeedElement .
+
+mfo:FeedMessage a rdfs:Class ;
+ tracker:notify true ;
+ rdfs:label "Feed entry" ;
+ rdfs:comment "Represents feed entry on top of Nepomuk Messaging Ontology's message. May have enclosures attached and certain settings that allow deviation from feed channel's setup" ;
+ rdfs:subClassOf nmo:Message, mfo:FeedElement .
+
+mfo:Enclosure a rdfs:Class ;
+ rdfs:label "Message enclosure" ;
+ rdfs:comment "Represents an enclosure of a feed message" ;
+ tracker:notify true ;
+ rdfs:subClassOf mfo:FeedElement .
+
+mfo:FeedSettings a rdfs:Class ;
+ rdfs:label "Resource settings" ;
+ rdfs:comment "Represents settings applied to a feed channel or a feed entry. How often it is updated, through which connection type it is delivered, when data expires and so on" ;
+ rdfs:subClassOf rdfs:Resource.
+
+
+# PROPERTIES OF CHANNEL
+mfo:image a rdf:Property ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain mfo:FeedElement ;
+ rdfs:range xsd:string .
+
+# updateTime is used to store a local timestamp of feed message
+# remote time is stored using nie:contentLastModified
+
+mfo:updatedTime a rdf:Property ;
+ nrl:maxCardinality 1 ;
+ rdfs:label "Updated" ;
+ rdfs:comment "Captures the updated date and time when the channel is updated" ;
+ rdfs:domain mfo:FeedChannel ;
+ rdfs:range xsd:dateTime .
+
+mfo:unreadCount a rdf:Property;
+ rdfs:label " Unread count";
+ rdfs:comment "Unread messages count within a channel";
+ rdfs:domain mfo:FeedChannel;
+ nrl:maxCardinality 1;
+ rdfs:range xsd:integer.
+
+mfo:totalCount a rdf:Property;
+ rdfs:label " Total count";
+ rdfs:comment "Total messages count within a channel";
+ rdfs:domain mfo:FeedChannel;
+ nrl:maxCardinality 1;
+ rdfs:range xsd:integer.
+
+
+#PROPERTIES OF MESSAGE
+mfo:downloadedTime a rdf:Property ;
+ rdfs:label "Downloaded" ;
+ rdfs:comment "Captures the time stamp when message was downloaded" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain mfo:FeedMessage ;
+ rdfs:range xsd:dateTime .
+
+mfo:enclosureList a rdf:Property ;
+ rdfs:label "Enclosure List" ;
+ rdfs:comment "A list of enclosures" ;
+ rdfs:domain mfo:FeedMessage ;
+ rdfs:range mfo:Enclosure .
+
+# String? Resource? RemoteDataObject?
+mfo:remoteLink a rdf:Property ;
+ rdfs:label "Enclosure link" ;
+ rdfs:comment "Used to store remote URL of enclosure" ;
+ rdfs:domain mfo:Enclosure ;
+ nrl:maxCardinality 1 ;
+ rdfs:range nfo:RemoteDataObject .
+
+mfo:groupDefault a rdf:Property ;
+ rdfs:label "Default in group";
+ rdfs:comment "Different enclosures can represent the same resource in different formats/resolutions. This representations are grouped using the nie:identifier property and this property identify the default between them.";
+ rdfs:domain mfo:Enclosure ;
+ nrl:maxCardinality 1 ;
+ rdfs:range xsd:boolean .
+
+mfo:localLink a rdf:Property ;
+ rdfs:label "Local link" ;
+ rdfs:comment "Downloaded copy of the enclosure" ;
+ rdfs:domain mfo:Enclosure ;
+ rdfs:range nfo:FileDataObject ;
+ nrl:maxCardinality 1 .
+
+mfo:optional a rdf:Property ;
+ rdfs:label "Optional";
+ rdfs:comment "The enclosure is mandatory to download or only optional" ;
+ rdfs:domain mfo:Enclosure;
+ rdfs:range xsd:boolean ;
+ nrl:maxCardinality 1 .
+
+# Settings available for all Feed Elements
+mfo:feedSettings a rdf:Property ;
+ rdfs:label "Feed element settings" ;
+ rdfs:comment "Settings ";
+ nrl:maxCardinality 1 ;
+ rdfs:domain mfo:FeedElement ;
+ rdfs:range mfo:FeedSettings .
+
+mfo:updateInterval a rdf:Property ;
+ rdfs:label "Update Interval" ;
+ rdfs:comment "Update interval for a feed channel to get updated or refreshed. Interpreted as minutes" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain mfo:FeedSettings ;
+ rdfs:range xsd:integer .
+
+mfo:expiryInterval a rdf:Property ;
+ rdfs:label "Expiry Interval" ;
+ rdfs:comment "Expiry interval for feed channel, it tells time that a message in a channel can live. Interpreted as minutes" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain mfo:FeedSettings ;
+ rdfs:range xsd:integer .
+
+mfo:downloadPath a rdf:Property ;
+ rdfs:label "Download path" ;
+ rdfs:comment "Download path for enclosures in a message" ;
+ rdfs:domain mfo:FeedSettings ;
+ rdfs:range xsd:string;
+ nrl:maxCardinality 1 .
+
+mfo:downloadFlag a rdf:Property ;
+ rdfs:label "Download" ;
+ rdfs:comment "To indicate whether enclosures will be downloaded or not" ;
+ rdfs:domain mfo:FeedSettings ;
+ rdfs:range xsd:boolean ;
+ nrl:maxCardinality 1 .
+
+mfo:maxSize a rdf:Property ;
+ rdfs:label "Size" ;
+ rdfs:comment "Maximum size of enclosure that can be downloaded. Interpreted as KBs " ;
+ rdfs:domain mfo:FeedSettings ;
+ rdfs:range xsd:integer ;
+ nrl:maxCardinality 1 .
+
+# Feed actions
+mfo:Action a rdfs:Class ;
+ rdfs:label "Action Requests" ;
+ rdfs:comment "class with a restricted set of actions" ;
+ rdfs:subClassOf rdfs:Resource .
+
+mfo:action a rdf:Property ;
+ rdfs:label "Action" ;
+ rdfs:comment "Captures the current action for the channel: Refresh Now" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain mfo:FeedChannel ;
+ rdfs:range mfo:Action .
+
+mfo:refresh-now a mfo:Action .
+
+# Feed types
+mfo:FeedType a rdfs:Class ;
+ rdfs:label "Feed fomat type " ;
+ rdfs:comment "class with a restricted set of feed types" ;
+ rdfs:subClassOf rdfs:Resource .
+
+#mfo:flickr a mfo:FeedType .
+#mfo:rss-atom a mfo:FeedType .
+
+mfo:name a rdf:Property ;
+ rdfs:label "Feed type name or plugin name" ;
+ rdfs:comment "Feed format name like rss-atom,flickr,facebook" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain mfo:FeedType ;
+ rdfs:range xsd:string .
+
+mfo:type a rdf:Property ;
+ rdfs:label "Feed formats type" ;
+ rdfs:comment " Feeds format type which is mapped to plugin used in engine: flickr,rss-atom " ;
+ nrl:maxCardinality 1;
+ rdfs:domain mfo:FeedChannel ;
+ rdfs:range mfo:FeedType .
+
+
+
+
diff --git a/src/ontologies/89-mtp.description b/src/ontologies/89-mtp.description
new file mode 100644
index 000000000..aaf081553
--- /dev/null
+++ b/src/ontologies/89-mtp.description
@@ -0,0 +1,13 @@
+@prefix dsc: <http://www.tracker-project.org/temp/dsc#> .
+
+<virtual-ontology-uri:89-mtp.ontology> a dsc:Ontology ;
+ dsc:title "Multimetida Transfer Protocol (MTP) Ontology" ;
+ dsc:description "Extra properties to add MTP information to the objects in the ontology" ;
+
+ dsc:author "Ivan Frade &lt;ivan.frade@nokia.com&gt;" ;
+ dsc:editor "Ivan Frade &lt;ivan.frade@nokia.com&gt;" ;
+ dsc:gitlog "http://git.gnome.org/cgit/tracker/log/src/ontologies/89-mtp.ontology";
+
+ dsc:localPrefix "mtp" ;
+ dsc:baseUrl "http://www.tracker-project.org/temp/mtp#" ;
+ dsc:relativePath "./89-mtp.ontology" .
diff --git a/src/ontologies/89-mtp.ontology b/src/ontologies/89-mtp.ontology
new file mode 100644
index 000000000..82265169a
--- /dev/null
+++ b/src/ontologies/89-mtp.ontology
@@ -0,0 +1,86 @@
+@prefix nrl: <http://www.semanticdesktop.org/ontologies/2007/08/15/nrl#> .
+@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
+@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
+@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
+@prefix mtp: <http://www.tracker-project.org/temp/mtp#> .
+@prefix tracker: <http://www.tracker-project.org/ontologies/tracker#> .
+@prefix nie: <http://www.semanticdesktop.org/ontologies/2007/01/19/nie#> .
+@prefix nmm: <http://www.tracker-project.org/temp/nmm#> .
+@prefix nfo: <http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#> .
+@prefix nao: <http://www.semanticdesktop.org/ontologies/2007/08/15/nao#> .
+
+mtp: a tracker:Namespace, tracker:Ontology ;
+ tracker:prefix "mtp" ;
+ nao:lastModified "2010-08-11T16:00:00Z" .
+
+#
+# This ontology "decorates" nmm and nfo to include properties required
+# by the MTP protocol
+#
+
+mtp:ScanType a rdfs:Class ;
+ rdfs:label "Scan types" ;
+ rdfs:comment "pre-defined set of scan types instances" ;
+ rdfs:subClassOf nie:InformationElement .
+
+mtp:scantype-FieldInterleavedUpperFirst a mtp:ScanType ;
+ nie:description "Line interleaved Frames with the Upper field on the first line." .
+mtp:scantype-FieldInterleavedLowerFirst a mtp:ScanType ;
+ nie:description "Line interleaved frames with the Lower field on the first line." .
+mtp:scantype-FieldSingleUpperFirst a mtp:ScanType;
+ nie:description "Fields are sent as independent samples. The field is indicated (on a per sample basis)".
+mtp:scantype-FieldSingleLowerFirst a mtp:ScanType ;
+ nie:description "Fields are sent as independent samples. The field is indicated (on a per sample basis".
+mtp:scantype-MixedInterlace a mtp:ScanType;
+ nie:description "The content may contain a mix of interlaced modes".
+mtp:scantype-MixedInterlaceAndProgressive a mtp:ScanType ;
+ nie:description "The content may contain a mix of interlaced and progressive modes.".
+
+mtp:scantype a rdf:Property ;
+ rdfs:label "Scan type";
+ rdfs:comment "Scan type of a video file (MTP requirement. FIXME Maybe should be move to a different ontology)" ;
+ rdfs:domain nmm:Video ;
+ rdfs:range mtp:ScanType .
+
+
+
+mtp:hidden a rdf:Property ;
+ rdfs:label "Hidden" ;
+ rdfs:comment "Hidden for the MTP protocol" ;
+ rdfs:domain nfo:Media ;
+ rdfs:range xsd:boolean .
+
+mtp:credits a rdf:Property ;
+ rdfs:label "MTP credits" ;
+ rdfs:comment "Following MTP spec, credits contains... FIXME" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nfo:Media ;
+ rdfs:range xsd:string ;
+ tracker:weight 2 .
+
+mtp:creator a rdf:Property ;
+ rdfs:label "MTP Creator" ;
+ rdfs:comment "Following MTP spec, this property can contain a free text taking about creator of the Media" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nfo:Media ;
+ rdfs:range xsd:string ;
+ tracker:fulltextIndexed true ;
+ tracker:weight 3 .
+
+# http://msdn.microsoft.com/en-us/library/ms867195.aspx#waveformats
+mtp:fourCC a rdf:Property ;
+ rdfs:label "MTP fourCC code";
+ rdfs:comment "These codes are used to uniquely identify video formats, and are used in various legacy and current software development kits (SDKs), including those for Microsoft Video for Windows (VfW), Microsoft DirectShow, and Microsoft Windows Media Format.";
+ nrl:maxCardinality 1 ;
+ rdfs:domain nmm:Video ;
+ rdfs:range xsd:string .
+
+# http://msdn.microsoft.com/en-us/library/ms867195.aspx#waveformats
+mtp:waveformat a rdf:Property ;
+ rdfs:label "Wave format" ;
+ rdfs:comment "the WAVE formats reserved with Microsoft as of June 1, 2003. These codes are used to uniquely identify audio formats, and are used in various legacy and current software development kits (SDKs), including MCI, Microsoft Video for Windows, Microsoft DirectShow, Microsoft DirectSound, and Microsoft Windows Media Format.";
+ nrl:maxCardinality 1 ;
+ rdfs:domain nmm:Video ;
+ rdfs:range xsd:string .
+
+
diff --git a/src/ontologies/90-tracker.description b/src/ontologies/90-tracker.description
new file mode 100644
index 000000000..b01c9e23e
--- /dev/null
+++ b/src/ontologies/90-tracker.description
@@ -0,0 +1,13 @@
+@prefix dsc: <http://www.tracker-project.org/temp/dsc#> .
+
+<virtual-ontology-uri:90-tracker.ontology> a dsc:Ontology ;
+ dsc:title "Tracker-specific annotations Ontology" ;
+ dsc:description "Internal tracker properties" ;
+
+ dsc:author "Tracker developers" ;
+ dsc:editor "Tracker developers" ;
+ dsc:gitlog "http://git.gnome.org/cgit/tracker/log/src/ontologies/90-tracker.ontology";
+
+ dsc:localPrefix "tracker" ;
+ dsc:baseUrl "http://www.tracker-project.org/ontologies/tracker#";
+ dsc:relativePath "./90-tracker.ontology" .
diff --git a/src/ontologies/90-tracker.ontology b/src/ontologies/90-tracker.ontology
new file mode 100644
index 000000000..565268c46
--- /dev/null
+++ b/src/ontologies/90-tracker.ontology
@@ -0,0 +1,75 @@
+@prefix fts: <http://www.tracker-project.org/ontologies/fts#> .
+@prefix nao: <http://www.semanticdesktop.org/ontologies/2007/08/15/nao#> .
+@prefix nie: <http://www.semanticdesktop.org/ontologies/2007/01/19/nie#> .
+@prefix nrl: <http://www.semanticdesktop.org/ontologies/2007/08/15/nrl#> .
+@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
+@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
+@prefix tracker: <http://www.tracker-project.org/ontologies/tracker#> .
+@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
+
+tracker: a tracker:Ontology ;
+ nao:lastModified "2014-01-03T02:14:35Z" .
+
+tracker:isDefaultTag a rdf:Property ;
+ rdfs:domain nao:Tag ;
+ rdfs:range xsd:boolean .
+
+tracker:tagRelatedTo a rdf:Property ;
+ rdfs:domain nao:Tag ;
+ rdfs:range rdfs:Class .
+
+tracker:notify a rdf:Property ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain rdfs:Class ;
+ rdfs:range xsd:boolean .
+
+tracker:Volume a rdfs:Class ;
+ rdfs:label "Storage media" ;
+ rdfs:subClassOf nie:InformationElement ;
+ rdfs:subClassOf nie:DataSource .
+
+tracker:isMounted a rdf:Property ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain tracker:Volume ;
+ rdfs:range xsd:boolean .
+
+tracker:unmountDate a rdf:Property ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain tracker:Volume ;
+ rdfs:range xsd:dateTime .
+
+tracker:mountPoint a rdf:Property ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain tracker:Volume ;
+ rdfs:range rdfs:Resource .
+
+tracker:isRemovable a rdf:Property ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain tracker:Volume ;
+ rdfs:range xsd:boolean .
+
+tracker:isOptical a rdf:Property ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain tracker:Volume ;
+ rdfs:range xsd:boolean .
+
+tracker:available a rdf:Property ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nie:DataObject ;
+ rdfs:range xsd:boolean .
+
+tracker:writeback a rdf:Property ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain rdf:Property ;
+ rdfs:range xsd:boolean .
+
+tracker:forceJournal a rdf:Property ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain rdf:Property ;
+ rdfs:range xsd:boolean .
+
+fts: a tracker:Namespace ;
+ tracker:prefix "fts" .
+
+tracker:extractor-data-source a nie:DataSource ;
+ rdfs:label "Tracker extractor data source" .
diff --git a/src/ontologies/91-maemo.description b/src/ontologies/91-maemo.description
new file mode 100644
index 000000000..b0e97a862
--- /dev/null
+++ b/src/ontologies/91-maemo.description
@@ -0,0 +1,13 @@
+@prefix dsc: <http://www.tracker-project.org/temp/dsc#> .
+
+<virtual-ontology-uri:91-maemo.ontology> a dsc:Ontology ;
+ dsc:title "Maemo-specific classes" ;
+ dsc:description "Some maemo/meego specific properties" ;
+
+ dsc:author "Tracker developers" ;
+ dsc:editor "Tracker developers" ;
+ dsc:gitlog "http://git.gnome.org/cgit/tracker/log/src/ontologies/91-maemo.ontology";
+
+ dsc:localPrefix "maemo" ;
+ dsc:baseUrl "http://maemo.org/ontologies/tracker#" ;
+ dsc:relativePath "./91-maemo.ontology" .
diff --git a/src/ontologies/91-maemo.ontology b/src/ontologies/91-maemo.ontology
new file mode 100644
index 000000000..1bd658e18
--- /dev/null
+++ b/src/ontologies/91-maemo.ontology
@@ -0,0 +1,115 @@
+@prefix fts: <http://www.tracker-project.org/ontologies/fts#> .
+@prefix nao: <http://www.semanticdesktop.org/ontologies/2007/08/15/nao#> .
+@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
+@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
+@prefix tracker: <http://www.tracker-project.org/ontologies/tracker#> .
+@prefix nco: <http://www.semanticdesktop.org/ontologies/2007/03/22/nco#> .
+@prefix nie: <http://www.semanticdesktop.org/ontologies/2007/01/19/nie#> .
+@prefix nfo: <http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#> .
+@prefix nrl: <http://www.semanticdesktop.org/ontologies/2007/08/15/nrl#> .
+@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
+@prefix maemo: <http://maemo.org/ontologies/tracker#> .
+
+maemo: a tracker:Namespace, tracker:Ontology ;
+ tracker:prefix "maemo" ;
+ nao:lastModified "2011-04-20T13:43:00Z" .
+
+maemo:SoftwareWidget a rdfs:Class ;
+ rdfs:label "Widget" ;
+ rdfs:comment "A widget" ;
+ rdfs:subClassOf nfo:Software .
+
+maemo:SoftwareApplet a rdfs:Class ;
+ rdfs:label "Widget" ;
+ rdfs:comment "A widget" ;
+ rdfs:subClassOf nfo:Software .
+
+maemo:ControlPanelApplet a rdfs:Class ;
+ rdfs:label "Control Panel Applet for Meego" ;
+ rdfs:comment "A control panel applet for Meego" ;
+ rdfs:subClassOf maemo:SoftwareApplet .
+
+maemo:DesktopBookmark a rdfs:Class ;
+ rdfs:label "Desktop bookmark" ;
+ rdfs:subClassOf nie:InformationElement .
+
+# Instances for Web and Desktop bookmarks
+maemo:DesktopBookmarkFolder a nfo:BookmarkFolder .
+maemo:BrowserBookmarkFolder a nfo:BookmarkFolder .
+
+# Property to support thumbnails of the bookmarks
+# It is not nfo:Image to avoid unnecessary resources in the DB
+maemo:bookmarkThumbnail a rdf:Property ;
+ rdfs:domain nfo:Bookmark ;
+ rdfs:range xsd:string .
+
+maemo:webhistoryThumbnail a rdf:Property ;
+ rdfs:domain nfo:WebHistory ;
+ rdfs:range xsd:string.
+
+# Denotes how relevant an item is for the user
+maemo:relevance a rdf:Property ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nie:InformationElement ;
+ rdfs:range xsd:double ;
+ tracker:defaultValue 1000000 .
+
+# Remote media art for media player
+maemo:remoteMediaArt a rdf:Property ;
+ rdfs:range nfo:Image ;
+ rdfs:domain nfo:Media .
+
+# Used for phone number matching (mixed international and local phone numbers)
+maemo:localPhoneNumber a rdf:Property ;
+ rdfs:label "local phone number (last N digits)" ;
+ tracker:indexed true ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nco:PhoneNumber ;
+ rdfs:range xsd:string .
+
+maemo:contactAudioRingtone a rdf:Property ;
+ rdfs:label "Audio ringtone" ;
+ rdfs:comment "Audio file linked with a contact";
+ nrl:maxCardinality 1 ;
+ rdfs:domain nco:PersonContact ;
+ rdfs:range nfo:FileDataObject .
+
+maemo:contactVideoRingtone a rdf:Property ;
+ rdfs:label "Video ringtone" ;
+ rdfs:comment "Video file linked with a contact";
+ nrl:maxCardinality 1 ;
+ rdfs:domain nco:PersonContact ;
+ rdfs:range nfo:FileDataObject .
+
+maemo:contactVibrationRingtone a rdf:Property ;
+ rdfs:label "Vibration ringtone";
+ rdfs:comment "File linked with a contact to vibrate on a pleasant frequency";
+ nrl:maxCardinality 1 ;
+ rdfs:domain nco:PersonContact ;
+ rdfs:range nfo:FileDataObject .
+
+maemo:contactGroupAudioRingtone a rdf:Property ;
+ rdfs:label "Audio ringtone" ;
+ rdfs:comment "Audio file linked with a contact group";
+ nrl:maxCardinality 1 ;
+ rdfs:domain nco:ContactGroup ;
+ rdfs:range nfo:FileDataObject .
+
+maemo:contactGroupVideoRingtone a rdf:Property ;
+ rdfs:label "Video ringtone" ;
+ rdfs:comment "Video file linked with a contact group";
+ nrl:maxCardinality 1 ;
+ rdfs:domain nco:ContactGroup ;
+ rdfs:range nfo:FileDataObject .
+
+maemo:contactGroupVibrationRingtone a rdf:Property ;
+ rdfs:label "Vibration ringtone";
+ rdfs:comment "File linked with a contact group to vibrate on a pleasant frequency";
+ nrl:maxCardinality 1 ;
+ rdfs:domain nco:ContactGroup ;
+ rdfs:range nfo:FileDataObject .
+
+maemo:PostalAddress a rdfs:Class ;
+ rdfs:label "PostalAddress" ;
+ rdfs:comment "Postal Address. Class inspired by TYPE=postal parameter of the ADR property defined in RFC 2426 sec. 3.2.1" ;
+ rdfs:subClassOf nco:PostalAddress .
diff --git a/src/ontologies/92-slo.description b/src/ontologies/92-slo.description
new file mode 100644
index 000000000..7f648ee95
--- /dev/null
+++ b/src/ontologies/92-slo.description
@@ -0,0 +1,14 @@
+@prefix dsc: <http://www.tracker-project.org/temp/dsc#> .
+
+<virtual-ontology-uri:40-mlo.ontology> a dsc:Ontology ;
+ dsc:title "Simplified Maemo Location Ontology (SLO) (experimental/for testing)" ;
+ dsc:description "Simpler, faster, better ontology for locations and landmarks" ;
+
+ dsc:author "Ivan Frade &lt;ivan.frade@nokia.com&gt;" ;
+ dsc:editor "Ivan Frade &lt;ivan.frade@nokia.com&gt;" ;
+
+ dsc:gitlog "http://git.gnome.org/cgit/tracker/log/src/ontologies/92-slo.ontology";
+
+ dsc:baseUrl "http://www.tracker-project.org/temp/slo#" ;
+ dsc:localPrefix "slo" ;
+ dsc:relativePath "./92-slo.ontology" .
diff --git a/src/ontologies/92-slo.ontology b/src/ontologies/92-slo.ontology
new file mode 100644
index 000000000..7d71dcbac
--- /dev/null
+++ b/src/ontologies/92-slo.ontology
@@ -0,0 +1,265 @@
+@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
+@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
+@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
+@prefix nrl: <http://www.semanticdesktop.org/ontologies/2007/08/15/nrl#> .
+@prefix nie: <http://www.semanticdesktop.org/ontologies/2007/01/19/nie#> .
+@prefix nco: <http://www.semanticdesktop.org/ontologies/2007/03/22/nco#> .
+@prefix slo: <http://www.tracker-project.org/temp/slo#> .
+@prefix tracker: <http://www.tracker-project.org/ontologies/tracker#> .
+@prefix nao: <http://www.semanticdesktop.org/ontologies/2007/08/15/nao#> .
+
+slo: a tracker:Namespace, tracker:Ontology ;
+ tracker:prefix "slo" ;
+ nao:lastModified "2011-06-08T12:09:00Z" .
+
+slo:LandmarkCategory a rdfs:Class ;
+ rdfs:label "Landmark category";
+ rdfs:comment "Predefined set of instances for categories of landmarks";
+ tracker:notify true ;
+ rdfs:subClassOf nie:InformationElement.
+
+slo:isRemovable a rdf:Property ;
+ rdfs:label "Is removable";
+ rdfs:comment "Flag to indicate if this instance is removable. This restriction is not enforced by tracker; it is API responsability to honor the value";
+ rdfs:domain slo:LandmarkCategory ;
+ nrl:maxCardinality 1 ;
+ rdfs:range xsd:boolean.
+
+slo:categoryIconUrl a rdf:Property ;
+ rdfs:label "Landmark category icon" ;
+ rdfs:comment "Url of the icon that corresponds to this category." ;
+ rdfs:domain slo:LandmarkCategory ;
+ nrl:maxCardinality 1 ;
+ rdfs:range rdfs:Resource .
+
+slo:Landmark a rdfs:Class ;
+ rdfs:label "Point with special relevance for the user" ;
+ rdfs:subClassOf nie:InformationElement ;
+ tracker:notify true ;
+ rdfs:comment "Use the nie title, description, ... properties" .
+
+slo:belongsToCategory a rdf:Property ;
+ rdfs:label "Belongs to category";
+ rdfs:comment "Relation of a landmark with a landmark category";
+ rdfs:domain slo:Landmark ;
+ rdfs:range slo:LandmarkCategory .
+
+slo:hasContact a rdf:Property ;
+ rdfs:label "Landmark contact information" ;
+ rdfs:comment "The contact information of the landmark in question" ;
+ rdfs:domain slo:Landmark ;
+ rdfs:range nco:Contact .
+
+slo:iconUrl a rdf:Property ;
+ rdfs:label "Landmark icon" ;
+ rdfs:comment "Url of the icon that corresponds to this landmark." ;
+ rdfs:domain slo:Landmark ;
+ nrl:maxCardinality 1 ;
+ rdfs:range rdfs:Resource .
+
+slo:GeoLocation a rdfs:Class ;
+ rdfs:label "Location" ;
+ rdfs:comment "A place in the space, can be defined by coordinates or text";
+ tracker:notify true ;
+ rdfs:subClassOf nie:InformationElement.
+
+#Properties of GeoLocation
+slo:latitude a rdf:Property ;
+ rdfs:label "Latitude";
+ rdfs:comment "Positive values for the north hemisphere, negative for the south" ;
+ rdfs:domain slo:GeoLocation ;
+ nrl:maxCardinality 1 ;
+ rdfs:range xsd:double .
+
+slo:longitude a rdf:Property ;
+ rdfs:label "Longitude" ;
+ rdfs:comment "Positive to the East of the Greenwich meridian, negative to the West (following WGS-84)" ;
+ rdfs:domain slo:GeoLocation ;
+ nrl:maxCardinality 1 ;
+ rdfs:range xsd:double .
+
+slo:verticalAccuracy a rdf:Property ;
+ rdfs:label "Latitude";
+ rdfs:comment "Represents the error estimate of vertical (earths-surface) accuracy in meters." ;
+ rdfs:domain slo:GeoLocation ;
+ nrl:maxCardinality 1 ;
+ rdfs:range xsd:double .
+
+slo:horizontalAccuracy a rdf:Property ;
+ rdfs:label "Longitude" ;
+ rdfs:comment "Represents the error estimate of horizontal (earths-surface) accuracy in meters." ;
+ rdfs:domain slo:GeoLocation ;
+ nrl:maxCardinality 1 ;
+ rdfs:range xsd:double .
+
+slo:altitude a rdf:Property ;
+ rdfs:label "Altitude" ;
+ rdfs:comment "Altitude following WGS 84 reference";
+ rdfs:domain slo:GeoLocation ;
+ nrl:maxCardinality 1 ;
+ rdfs:range xsd:double .
+
+slo:boundingLatitudeMin a rdf:Property ;
+ rdfs:label "Latitude";
+ rdfs:comment "Southern latitude of the bounding box" ;
+ rdfs:domain slo:GeoLocation ;
+ nrl:maxCardinality 1 ;
+ rdfs:range xsd:double .
+
+slo:boundingLatitudeMax a rdf:Property ;
+ rdfs:label "Latitude";
+ rdfs:comment "Northern latitude of the bounding box" ;
+ rdfs:domain slo:GeoLocation ;
+ nrl:maxCardinality 1 ;
+ rdfs:range xsd:double .
+
+slo:boundingLongitudeMin a rdf:Property ;
+ rdfs:label "Longitude" ;
+ rdfs:comment "Western longitude of the bounding box" ;
+ rdfs:domain slo:GeoLocation ;
+ nrl:maxCardinality 1 ;
+ rdfs:range xsd:double .
+
+slo:boundingLongitudeMax a rdf:Property ;
+ rdfs:label "Longitude" ;
+ rdfs:comment "Eastern longitude of the bounding box" ;
+ rdfs:domain slo:GeoLocation ;
+ nrl:maxCardinality 1 ;
+ rdfs:range xsd:double .
+
+slo:radius a rdf:Property ;
+ rdfs:label "Radius";
+ rdfs:comment "Radius from the center to define an area. Some applications can use it in 2D sense, making then a circle instead of a sphere" ;
+ rdfs:domain slo:GeoLocation ;
+ nrl:maxCardinality 1 ;
+ rdfs:range xsd:double .
+
+slo:timestamp a rdf:Property ;
+ rdfs:label "Timestamp" ;
+ rdfs:comment "Timestamp when the geolocation is referenced. Create subproperties for certain use cases" ;
+ rdfs:domain slo:GeoLocation ;
+ nrl:maxCardinality 1 ;
+ rdfs:range xsd:dateTime .
+
+slo:postalAddress a rdf:Property ;
+ rdfs:label "As postal address" ;
+ rdfs:comment "Representation of the location as text address" ;
+ tracker:indexed true ;
+ rdfs:domain slo:GeoLocation ;
+ nrl:maxCardinality 1 ;
+ rdfs:range nco:PostalAddress .
+
+# FIXME Domain rdfs:Resource?? to link files and not only content?
+slo:location a rdf:Property ;
+ tracker:writeback true ;
+ rdfs:label "Property linking something to a location" ;
+ rdfs:comment "This can be subclassed to add semantics" ;
+ rdfs:domain nie:InformationElement ;
+ tracker:indexed true ;
+ nrl:maxCardinality 1 ;
+ rdfs:range slo:GeoLocation .
+
+# Comment for rethinking, this used to be subclass of bounding box..
+# now location, properties other than the bounding box set to the starting point
+slo:Route a rdfs:Class ;
+ rdfs:label "Minimum box containing all the points traversed in route" ;
+ rdfs:subClassOf slo:GeoLocation .
+
+# Properties of Route
+slo:startTime a rdf:Property ;
+ rdfs:label "Time when the first point in the route was saved" ;
+ rdfs:domain slo:Route ;
+ nrl:maxCardinality 1 ;
+ rdfs:range xsd:dateTime .
+
+slo:endTime a rdf:Property ;
+ rdfs:label "Time when the last point in the route was saved" ;
+ rdfs:domain slo:Route ;
+ nrl:maxCardinality 1 ;
+ rdfs:range xsd:dateTime .
+
+slo:routeDetails a rdf:Property ;
+ rdfs:label "Pointer to a file containing route details (e.g. KML file)." ;
+ rdfs:comment "FIXME Domain can be resource if we handle map-files correctly in the ontology";
+ rdfs:domain slo:Route ;
+ rdfs:range xsd:string .
+
+###############################################
+# Predefined categories coming from Symbian
+# - move to a different file?
+###############################################
+
+slo:predefined-landmark-category-accommodation a slo:LandmarkCategory ;
+ slo:isRemovable false ;
+ nie:title "Accommodation";
+ nie:description "Hotel, Camping site".
+
+slo:predefined-landmark-category-business a slo:LandmarkCategory ;
+ slo:isRemovable false ;
+ nie:title "Business";
+ nie:description "Bank, Factory, Office".
+
+slo:predefined-landmark-category-communication a slo:LandmarkCategory ;
+ slo:isRemovable false ;
+ nie:title "Communication";
+ nie:description "Internet Access Point, Public Telephone, Wireless LAN Hot Spot".
+
+slo:predefined-landmark-category-educational-institute a slo:LandmarkCategory ;
+ slo:isRemovable false ;
+ nie:title "Educational institute";
+ nie:description "School, College".
+
+slo:predefined-landmark-category-entertainment a slo:LandmarkCategory ;
+ slo:isRemovable false ;
+ nie:title "Entertainment";
+ nie:description "Amusement park, Cinema, Concert hall, Night club".
+
+slo:predefined-landmark-category-food-beverage a slo:LandmarkCategory ;
+ slo:isRemovable false ;
+ nie:title "Food & Beverage";
+ nie:description "Fast food, Restaurant, Café, Bar".
+
+slo:predefined-landmark-category-geographical-area a slo:LandmarkCategory ;
+ slo:isRemovable false ;
+ nie:title "Geographical area";
+ nie:description "City, City center, Town".
+
+slo:predefined-landmark-category-outdoor-activities a slo:LandmarkCategory ;
+ slo:isRemovable false ;
+ nie:title "Outdoor activities";
+ nie:description "Camping site, Fishing place, Hunting, National park, Playground".
+
+slo:predefined-landmark-category-people a slo:LandmarkCategory ;
+ slo:isRemovable false ;
+ nie:title "People";
+ nie:description "My home, My friends home, Fathers summer cottage, Childs school".
+
+slo:predefined-landmark-category-public-service a slo:LandmarkCategory ;
+ slo:isRemovable false ;
+ nie:title "Public service";
+ nie:description "Tourist information office, Government office, Library, Post office, Hospital, Police ".
+
+slo:predefined-landmark-category-religious-places a slo:LandmarkCategory ;
+ slo:isRemovable false ;
+ nie:title "Religious places";
+ nie:description "Church, Mosque".
+
+slo:predefined-landmark-category-shopping a slo:LandmarkCategory ;
+ slo:isRemovable false ;
+ nie:title "Shopping";
+ nie:description "Market Place, Pharmacy, Shop, Shopping Center".
+
+slo:predefined-landmark-category-sightseeing a slo:LandmarkCategory ;
+ slo:isRemovable false ;
+ nie:title "Sightseeing";
+ nie:description "Monument, Mountain top, Museum".
+
+slo:predefined-landmark-category-sports a slo:LandmarkCategory ;
+ slo:isRemovable false ;
+ nie:title "Sports";
+ nie:description "Bowling, Golf course, Ice hockey hall, Stadium".
+
+slo:predefined-landmark-category-transport a slo:LandmarkCategory ;
+ slo:isRemovable false ;
+ nie:title "Transport";
+ nie:description "Airport, Bus stop, Harbour, Railway Station, Rest area".
diff --git a/src/ontologies/93-libosinfo.description b/src/ontologies/93-libosinfo.description
new file mode 100644
index 000000000..41c78c87d
--- /dev/null
+++ b/src/ontologies/93-libosinfo.description
@@ -0,0 +1,13 @@
+@prefix dsc: <http://www.tracker-project.org/temp/dsc#> .
+
+<virtual-ontology-uri:93-libosinfo.ontology> a dsc:Ontology ;
+ dsc:title "libosinfo-specific annotations Ontology" ;
+ dsc:description "libosinfo properties" ;
+
+ dsc:author "Red Hat, Inc" ;
+ dsc:editor "Red Hat, Inc" ;
+ dsc:gitlog "http://git.gnome.org/cgit/tracker/log/src/ontologies/93-libosinfo.ontology";
+
+ dsc:localPrefix "osinfo" ;
+ dsc:baseUrl "http://www.tracker-project.org/ontologies/osinfo#";
+ dsc:relativePath "./93-libosinfo.ontology" .
diff --git a/src/ontologies/93-libosinfo.ontology b/src/ontologies/93-libosinfo.ontology
new file mode 100644
index 000000000..9358d56c6
--- /dev/null
+++ b/src/ontologies/93-libosinfo.ontology
@@ -0,0 +1,34 @@
+@prefix nao: <http://www.semanticdesktop.org/ontologies/2007/08/15/nao#> .
+@prefix nfo: <http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#> .
+@prefix nie: <http://www.semanticdesktop.org/ontologies/2007/01/19/nie#> .
+@prefix nrl: <http://www.semanticdesktop.org/ontologies/2007/08/15/nrl#> .
+@prefix osinfo: <http://www.tracker-project.org/ontologies/osinfo#> .
+@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
+@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
+@prefix tracker: <http://www.tracker-project.org/ontologies/tracker#> .
+@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
+
+osinfo: a tracker:Namespace, tracker:Ontology ;
+ tracker:prefix "osinfo" ;
+ nao:lastModified "2011-12-16T08:00:00Z" .
+
+osinfo:Installer a rdfs:Class ;
+ rdfs:label "Operating System Installer" ;
+ rdfs:comment "An operating system installer" ;
+ rdfs:subClassOf nfo:OperatingSystem .
+
+osinfo:id a rdf:Property ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nie:InformationElement ;
+ rdfs:range xsd:string .
+
+osinfo:mediaId a rdf:Property ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nie:InformationElement ;
+ rdfs:range xsd:string .
+
+osinfo:language a rdf:Property ;
+ rdfs:label "Language" ;
+ rdfs:comment "Languages supported by installer/live media." ;
+ rdfs:domain osinfo:Installer ;
+ rdfs:range xsd:string .
diff --git a/src/ontologies/Indices.list b/src/ontologies/Indices.list
new file mode 100644
index 000000000..cfcd7f412
--- /dev/null
+++ b/src/ontologies/Indices.list
@@ -0,0 +1,102 @@
+11-rdf:
+* tracker:added:
+ - Used for recently added playlist.
+
+30-nie:
+* nie:url:
+ - For looking up the URN or other properties of a file where we already know
+ the URL/path. Used by tracker-miner-fs, for example.
+
+31-nao:
+* nao:hasTag:
+ - For use cases where fts:match needs to be done against tags in addition to
+ the class itself
+
+32-nco:
+* nco:hasIMAccount:
+ - For use cases where fts:match needs to be done against the account in
+ addition to the class itself
+
+* nco:hasEmailAddress:
+ - For use cases where fts:match needs to be done against the email account
+ in addition to the class itself
+
+* nco:hasPostalAddress:
+ - For use cases where fts:match needs to be done against the postal address
+ in addition to the class itself
+
+* nco:nameFamily:
+ - Used for listing contacts sorted by last name
+
+33-nfo:
+* nfo:fileLastModified:
+ - The miner-fs uses this property during crawling a lot
+
+* nie:contentCreated domainIndex for nfo:Visual
+ - Used to improve performance of ORDER BY on nie:contentCreated
+
+34-nmo:
+* nmo:from:
+ - For use cases where fts:match needs to be done against the assosiated
+ contacts in addition to the class itself
+
+* nmo:to:
+ - For use cases where fts:match needs to be done against the assosiated
+ contacts in addition to the class itself
+
+
+* nmo:sender:
+ - ?
+
+* nmo:sentDate:
+ - Used for sorting messages when displaying all messages (or rather the last N).
+ - Domain index for nmo:Call used for linear call history.
+
+* nmo:receivedDate:
+ - Secondary index for nmo:communicationChannel to display last N messages on
+ a specific channel.
+
+* nmo:conversation:
+ - Used for retrieving all messages of a specific conversation.
+
+* nmo:communicationChannel:
+ - Used for displaying all conversations on a specific channel (for example,
+ all conversations with a specific contact).
+ - Secondary index on nmo:receivedDate
+
+* nmo:lastMessageDate:
+ - Used for sorting the list of all channels by time of last message.
+
+* nmo:hasParticipant:
+ - Used for retrieving the communication channel for a specific contact. Used
+ when inserting new messages, for example.
+
+* maemo:localPhoneNumber:
+ - For matching against the local part of the phone number
+
+38-nmm:
+* nmm:musicAlbum:
+ - Used for retrieving songs on an album.
+ - Used in cases where fts:match is done against the album as well as the song
+
+* nmm:performer:
+ - Used for retrieving songs by a performer.
+ - Used in cases where fts:match is done against the performer as well as the song.
+
+* nmm:artistName:
+ - Used to improve performance of ORDER BY for music team queries
+
+* nie:title domainIndex for nmm:MusicAlbum
+ - Used to improve performance of ORDER BY on nie:title
+
+* nie:title domainIndex for nmm:MusicPiece
+ - Used to improve performance of ORDER BY on nie:title
+
+40-mlo:
+* mlo:location:
+ - Used for retrieving all content in some specific location
+
+* mlo:asPostalAddress:
+* mlo:asBoundingBox:
+* mlo:asGeoPoint:
+ - For matching location into coordinates
diff --git a/src/ontologies/Makefile.am b/src/ontologies/Makefile.am
new file mode 100644
index 000000000..d898b8a14
--- /dev/null
+++ b/src/ontologies/Makefile.am
@@ -0,0 +1,35 @@
+maemo_ontology = \
+ 91-maemo.ontology 91-maemo.description
+
+configdir = $(datadir)/tracker/ontologies
+
+config_DATA = \
+ 10-xsd.ontology 10-xsd.description \
+ 11-rdf.ontology 11-rdf.description \
+ 12-nrl.ontology 12-nrl.description \
+ 20-dc.ontology 20-dc.description \
+ 30-nie.ontology 30-nie.description \
+ 31-nao.ontology 31-nao.description \
+ 32-nco.ontology 32-nco.description \
+ 33-nfo.ontology 33-nfo.description \
+ 34-nmo.ontology 34-nmo.description \
+ 35-ncal.ontology 35-ncal.description \
+ 36-scal.ontology 36-scal.description \
+ 37-nid3.ontology 37-nid3.description \
+ 38-nmm.ontology 38-nmm.description \
+ 39-mto.ontology 39-mto.description \
+ 40-mlo.ontology 40-mlo.description \
+ 41-mfo.ontology 41-mfo.description \
+ 89-mtp.ontology 89-mtp.description \
+ 92-slo.ontology 92-slo.description \
+ 90-tracker.ontology 90-tracker.description \
+ 93-libosinfo.ontology 93-libosinfo.description
+
+if HAVE_MAEMO
+config_DATA += $(maemo_ontology)
+endif
+
+EXTRA_DIST = \
+ $(maemo_ontology) \
+ $(config_DATA)
+