summaryrefslogtreecommitdiff
path: root/data
diff options
context:
space:
mode:
authorMichal Hruby <michal.mhr@gmail.com>2011-12-31 14:30:23 +0100
committerMichal Hruby <michal.mhr@gmail.com>2011-12-31 14:30:23 +0100
commit73779e334c7e025b260681e227cf611a28a86c58 (patch)
treedb16ffc8758e8292ff94ee4a189a4c7e91fd12ef /data
parentcfcfcbb12e81cd7c5bcd4381464d1772354bb251 (diff)
downloadzeitgeist-73779e334c7e025b260681e227cf611a28a86c58.tar.gz
Move stuff around
Diffstat (limited to 'data')
-rw-r--r--data/Makefile.am27
-rw-r--r--data/ontology/Makefile.am14
-rw-r--r--data/ontology/nao.trig397
-rw-r--r--data/ontology/ncal.trig1455
-rw-r--r--data/ontology/nco.trig803
-rw-r--r--data/ontology/nfo.trig957
-rw-r--r--data/ontology/nie.trig428
-rw-r--r--data/ontology/nmm.trig354
-rw-r--r--data/ontology/nmo.trig385
-rw-r--r--data/ontology/zg.trig161
-rwxr-xr-xdata/ontology2code421
-rw-r--r--data/org.gnome.zeitgeist.service.in3
-rw-r--r--data/zeitgeist-daemon.bash_completion14
13 files changed, 5419 insertions, 0 deletions
diff --git a/data/Makefile.am b/data/Makefile.am
new file mode 100644
index 00000000..677f88f6
--- /dev/null
+++ b/data/Makefile.am
@@ -0,0 +1,27 @@
+NULL=
+
+SUBDIRS = \
+ ontology \
+ $(NULL)
+
+servicedir = $(DBUS_SERVICES_DIR)
+service_DATA = org.gnome.zeitgeist.service
+
+org.gnome.zeitgeist.service: org.gnome.zeitgeist.service.in
+ $(AM_V_GEN)sed -e s!\@prefix\@!$(prefix)! < $< > $@
+org.gnome.zeitgeist.service: Makefile
+
+CLEANFILES = \
+ org.gnome.zeitgeist.service \
+ PythonSerializer.pyc \
+ $(NULL)
+EXTRA_DIST = \
+ org.gnome.zeitgeist.service.in \
+ zeitgeist-daemon.bash_completion \
+ ontology2code \
+ $(NULL)
+
+all-local: org.gnome.zeitgeist.service
+
+clean:
+ rm -rf *.pyc *.~[0-9]~
diff --git a/data/ontology/Makefile.am b/data/ontology/Makefile.am
new file mode 100644
index 00000000..85e577b8
--- /dev/null
+++ b/data/ontology/Makefile.am
@@ -0,0 +1,14 @@
+ontology_trig_DATA = \
+ zg.trig \
+ nie.trig \
+ nco.trig \
+ nfo.trig \
+ ncal.trig \
+ nao.trig \
+ nmo.trig \
+ nmm.trig
+
+ontology_trigdir = $(datadir)/zeitgeist/ontology
+
+EXTRA_DIST = \
+ $(ontology_trig_DATA)
diff --git a/data/ontology/nao.trig b/data/ontology/nao.trig
new file mode 100644
index 00000000..8f7f2932
--- /dev/null
+++ b/data/ontology/nao.trig
@@ -0,0 +1,397 @@
+#
+# Copyright (c) 2007 NEPOMUK Consortium
+# Copyright (c) 2011 Sebastian Trueg <trueg@kde.org>
+#
+# All rights reserved, licensed under either CC-BY or BSD.
+#
+# You are free:
+# * to Share - to copy, distribute and transmit the work
+# * to Remix - to adapt the work
+# Under the following conditions:
+# * Attribution - You must attribute the work in the manner specified by the author
+# or licensor (but not in any way that suggests that they endorse you or your use
+# of the work).
+#
+# Redistribution and use in source and binary forms, with or without modification,
+# are permitted provided that the following conditions are met:
+# * Redistributions of source code must retain the above copyright notice, this
+# list of conditions and the following disclaimer.
+# * Redistributions in binary form must reproduce the above copyright notice, this
+# list of conditions and the following disclaimer in the documentation and/or
+# other materials provided with the distribution.
+# * Neither the names of the authors nor the names of contributors may
+# be used to endorse or promote products derived from this ontology without
+# specific prior written permission.
+#
+# THIS ONTOLOGY IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+# THIS ONTOLOGY, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+#
+
+@prefix dc: <http://purl.org/dc/elements/1.1/> .
+@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
+@prefix nao: <http://www.semanticdesktop.org/ontologies/2007/08/15/nao#> .
+@prefix nrl: <http://www.semanticdesktop.org/ontologies/2007/08/15/nrl#> .
+@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
+@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
+@prefix dcterms: <http://purl.org/dc/terms/> .
+
+<http://www.semanticdesktop.org/ontologies/2007/08/15/nao#> {
+ <http://www.semanticdesktop.org/ontologies/2007/08/15/nao#hasDefaultNamespaceAbbreviation>
+ a rdf:Property ;
+ rdfs:comment "Defines the default static namespace abbreviation for a graph" ;
+ rdfs:domain nrl:Data ;
+ rdfs:label "has default namespace abbreviation" ;
+ rdfs:range rdfs:Literal ;
+ rdfs:subPropertyOf <http://www.semanticdesktop.org/ontologies/2007/08/15/nao#annotation> ;
+ nrl:maxCardinality "1"^^xsd:nonNegativeInteger .
+
+ <http://www.semanticdesktop.org/ontologies/2007/08/15/nao#Symbol>
+ a rdfs:Class ;
+ rdfs:comment "Represents a symbol, a visual representation of a resource. Typically a local or remote file would be double-typed to be used as a symbol. An alternative is nao:FreeDesktopIcon." ;
+ rdfs:label "symbol" ;
+ rdfs:subClassOf rdfs:Resource .
+
+ <http://www.semanticdesktop.org/ontologies/2007/08/15/nao#FreeDesktopIcon>
+ a rdfs:Class ;
+ rdfs:comment "Represents a desktop icon as defined in the FreeDesktop Icon Naming Standard (http://standards.freedesktop.org/icon-naming-spec/icon-naming-spec-latest.html)." ;
+ rdfs:label "freedesktopicon" ;
+ rdfs:subClassOf nao:Symbol .
+
+ <http://www.semanticdesktop.org/ontologies/2007/08/15/nao#iconName>
+ a rdf:Property ;
+ rdfs:comment "Defines a name for a FreeDesktop Icon as defined in the FreeDesktop Icon Naming Standard" ;
+ rdfs:domain nao:FreeDesktopIcon ;
+ rdfs:label "iconname" ;
+ rdfs:range rdfs:Literal ;
+ rdfs:subPropertyOf <http://www.semanticdesktop.org/ontologies/2007/08/15/nao#identifier> ;
+ nrl:minCardinality "1"^^xsd:nonNegativeInteger .
+
+ <http://www.semanticdesktop.org/ontologies/2007/08/15/nao#score>
+ a rdf:Property ;
+ rdfs:comment "An authoritative score for an item valued between 0 and 1" ;
+ rdfs:domain rdfs:Resource ;
+ rdfs:label "score" ;
+ rdfs:range xsd:float ;
+ rdfs:subPropertyOf <http://www.semanticdesktop.org/ontologies/2007/08/15/nao#annotation> ;
+ nrl:maxCardinality "1"^^xsd:nonNegativeInteger .
+
+ <http://www.semanticdesktop.org/ontologies/2007/08/15/nao#scoreParameter>
+ a rdf:Property ;
+ rdfs:comment "A marker property to mark selected properties which are input to a mathematical algorithm to generate scores for resources. Properties are marked by being defined as subproperties of this property" ;
+ rdfs:domain rdfs:Resource ;
+ rdfs:label "scoreparameter" ;
+ rdfs:range xsd:float ;
+ rdfs:subPropertyOf <http://www.semanticdesktop.org/ontologies/2007/08/15/nao#annotation> .
+
+
+ <http://www.semanticdesktop.org/ontologies/2007/08/15/nao#isTopicOf>
+ a rdf:Property ;
+ rdfs:comment "Defines a relationship between two resources, where the subject is a topic of the object" ;
+ rdfs:label "is topic of" ;
+ rdfs:range rdfs:Resource ;
+ rdfs:subPropertyOf <http://www.semanticdesktop.org/ontologies/2007/08/15/nao#isRelated> ;
+ nrl:inverseProperty nao:hasTopic .
+
+ <http://www.semanticdesktop.org/ontologies/2007/08/15/nao#hasSubResource>
+ a rdf:Property ;
+ rdfs:comment "Defines a relationship between a resource and one or more sub resources. Descriptions of sub-resources are only interpretable when the super-resource exists. Deleting a super-resource should then also delete all sub-resources, and transferring a super-resource (for example, sending it to another user) must also include the sub-resource." ;
+ rdfs:label "has Subresource" ;
+ rdfs:range rdfs:Resource ;
+ rdfs:subPropertyOf <http://www.semanticdesktop.org/ontologies/2007/08/15/nao#isRelated> ;
+ nrl:inverseProperty nao:hasSuperResource .
+
+ <http://www.semanticdesktop.org/ontologies/2007/08/15/nao#hasSuperResource>
+ a rdf:Property ;
+ rdfs:comment "Defines a relationship between a resource and one or more super resources" ;
+ rdfs:label "has Superresource" ;
+ rdfs:range rdfs:Resource ;
+ rdfs:subPropertyOf <http://www.semanticdesktop.org/ontologies/2007/08/15/nao#isRelated> ;
+ nrl:inverseProperty nao:hasSubResource .
+
+ <http://www.semanticdesktop.org/ontologies/2007/08/15/nao#isTagFor>
+ a rdf:Property ;
+ rdfs:comment "States which resources a tag is associated with" ;
+ rdfs:domain <http://www.semanticdesktop.org/ontologies/2007/08/15/nao#Tag> ;
+ rdfs:label "is tag for" ;
+ rdfs:range rdfs:Resource ;
+ rdfs:subPropertyOf <http://www.semanticdesktop.org/ontologies/2007/08/15/nao#annotation> ;
+ nrl:inverseProperty nao:hasTag .
+
+ <http://www.semanticdesktop.org/ontologies/2007/08/15/nao#isDataGraphFor>
+ a rdf:Property ;
+ rdfs:label "is data graph for" ;
+ rdfs:comment "Links a named graph to the resource for which it contains metadata. Its typical usage would be to link the graph containing extracted file metadata to the file resource. This allows for easy maintenance later on." ;
+ rdfs:domain nrl:InstanceBase ;
+ rdfs:range rdfs:Resource .
+
+ <http://www.semanticdesktop.org/ontologies/2007/08/15/nao#version>
+ a rdf:Property ;
+ rdfs:comment "Specifies the version of a graph, in numeric format" ;
+ rdfs:domain nrl:Data ;
+ rdfs:label "version" ;
+ rdfs:range xsd:float ;
+ rdfs:subPropertyOf <http://www.semanticdesktop.org/ontologies/2007/08/15/nao#annotation> ;
+ nrl:maxCardinality "1"^^xsd:nonNegativeInteger .
+
+ <http://www.semanticdesktop.org/ontologies/2007/08/15/nao#altLabel>
+ a rdf:Property ;
+ rdfs:comment "An alternative label alongside the preferred label for a resource" ;
+ rdfs:label "alternative label" ;
+ rdfs:range rdfs:Literal ;
+ rdfs:subPropertyOf rdfs:label .
+
+ <http://www.semanticdesktop.org/ontologies/2007/08/15/nao#hasSymbol>
+ a rdf:Property ;
+ rdfs:comment "Annotation for a resource in the form of a visual representation. Typically the symbol is a double-typed image file or a nao:FreeDesktopIcon." ;
+ rdfs:domain rdfs:Resource ;
+ rdfs:label "has symbol" ;
+ rdfs:range <http://www.semanticdesktop.org/ontologies/2007/08/15/nao#Symbol> .
+
+ <http://www.semanticdesktop.org/ontologies/2007/08/15/nao#prefSymbol>
+ a rdf:Property ;
+ rdfs:comment "A unique preferred symbol representation for a resource" ;
+ rdfs:domain rdfs:Resource ;
+ rdfs:label "preferred symbol" ;
+ rdfs:subPropertyOf <http://www.semanticdesktop.org/ontologies/2007/08/15/nao#hasSymbol> ;
+ rdfs:range <http://www.semanticdesktop.org/ontologies/2007/08/15/nao#Symbol> ;
+ nrl:maxCardinality "1"^^xsd:nonNegativeInteger .
+
+ <http://www.semanticdesktop.org/ontologies/2007/08/15/nao#altSymbol>
+ a rdf:Property ;
+ rdfs:comment "An alternative symbol representation for a resource" ;
+ rdfs:domain rdfs:Resource ;
+ rdfs:label "alternative symbol" ;
+ rdfs:subPropertyOf <http://www.semanticdesktop.org/ontologies/2007/08/15/nao#hasSymbol> ;
+ rdfs:range <http://www.semanticdesktop.org/ontologies/2007/08/15/nao#Symbol> .
+
+ <http://www.semanticdesktop.org/ontologies/2007/08/15/nao#hasTopic>
+ a rdf:Property ;
+ rdfs:comment "Defines a relationship between two resources, where the object is a topic of the subject" ;
+ rdfs:label "has topic" ;
+ rdfs:range rdfs:Resource ;
+ rdfs:subPropertyOf <http://www.semanticdesktop.org/ontologies/2007/08/15/nao#isRelated> ;
+ nrl:inverseProperty nao:isTopicOf .
+
+ <http://www.semanticdesktop.org/ontologies/2007/08/15/nao#serializationLanguage>
+ a rdf:Property ;
+ rdfs:comment "States the serialization language for a named graph that is represented within a document" ;
+ rdfs:domain nrl:DocumentGraph ;
+ rdfs:label "serialization language" ;
+ rdfs:range rdfs:Literal ;
+ nrl:maxCardinality "1"^^xsd:nonNegativeInteger .
+
+ <http://www.semanticdesktop.org/ontologies/2007/08/15/nao#creator>
+ a rdf:Property ;
+ rdfs:comment "Refers to the single or group of individuals that created the resource" ;
+ rdfs:domain rdfs:Resource ;
+ rdfs:label "creator" ;
+ rdfs:range <http://www.semanticdesktop.org/ontologies/2007/08/15/nao#Party> ;
+ rdfs:subPropertyOf <http://www.semanticdesktop.org/ontologies/2007/08/15/nao#annotation> , dc:creator ;
+ nrl:maxCardinality "1"^^xsd:nonNegativeInteger.
+
+ <http://www.semanticdesktop.org/ontologies/2007/08/15/nao#annotation>
+ a rdf:Property ;
+ rdfs:comment "Generic annotation for a resource" ;
+ rdfs:domain rdfs:Resource ;
+ rdfs:label "annotation" .
+
+ <http://www.semanticdesktop.org/ontologies/2007/08/15/nao#rating>
+ a rdf:Property ;
+ rdfs:subPropertyOf <http://www.semanticdesktop.org/ontologies/2007/08/15/nao#annotation> ;
+ rdfs:comment "Annotation for a resource in the form of an unrestricted rating" ;
+ rdfs:domain rdfs:Resource ;
+ rdfs:label "rating" .
+
+ <http://www.semanticdesktop.org/ontologies/2007/08/15/nao#numericRating>
+ a rdf:Property ;
+ rdfs:subPropertyOf <http://www.semanticdesktop.org/ontologies/2007/08/15/nao#rating> ,
+ <http://www.semanticdesktop.org/ontologies/2007/08/15/nao#scoreParameter> ;
+ rdfs:comment " Annotation for a resource in the form of a numeric rating (float value), allowed values are between 1 and 10 whereas 0 is interpreted as not set" ;
+ rdfs:domain rdfs:Resource ;
+ rdfs:label "numeric rating" ;
+ rdfs:range xsd:integer ;
+ nrl:maxCardinality "1"^^xsd:nonNegativeInteger .
+
+ <http://www.semanticdesktop.org/ontologies/2007/08/15/nao#Tag>
+ a rdfs:Class ;
+ rdfs:comment "Represents a generic tag" ;
+ rdfs:label "tag" ;
+ rdfs:subClassOf rdfs:Resource .
+
+ <http://www.semanticdesktop.org/ontologies/2007/08/15/nao#contributor>
+ a rdf:Property ;
+ rdfs:comment "Refers to a single or a group of individuals that contributed to a resource" ;
+ rdfs:domain rdfs:Resource ;
+ rdfs:label "contributor" ;
+ rdfs:range <http://www.semanticdesktop.org/ontologies/2007/08/15/nao#Party> ;
+ rdfs:subPropertyOf <http://www.semanticdesktop.org/ontologies/2007/08/15/nao#annotation> , dc:contributor .
+
+ <http://www.semanticdesktop.org/ontologies/2007/08/15/nao#hasDefaultNamespace>
+ a rdf:Property ;
+ rdfs:comment "Defines the default static namespace for a graph" ;
+ rdfs:domain nrl:Data ;
+ rdfs:label "has default namespace" ;
+ rdfs:range rdfs:Literal ;
+ rdfs:subPropertyOf <http://www.semanticdesktop.org/ontologies/2007/08/15/nao#annotation> ;
+ nrl:maxCardinality "1"^^xsd:nonNegativeInteger .
+
+ <http://www.semanticdesktop.org/ontologies/2007/08/15/nao#modified>
+ a rdf:Property ;
+ rdfs:comment "States the modification time for a resource" ;
+ rdfs:domain rdfs:Resource ;
+ rdfs:label "modified at" ;
+ rdfs:range xsd:dateTime ;
+ rdfs:subPropertyOf dcterms:modified , <http://www.semanticdesktop.org/ontologies/2007/08/15/nao#annotation> .
+
+ <http://www.semanticdesktop.org/ontologies/2007/08/15/nao#created>
+ a rdf:Property ;
+ rdfs:comment "States the creation, or first modification time for a resource" ;
+ rdfs:domain rdfs:Resource ;
+ rdfs:label "created at" ;
+ rdfs:range xsd:dateTime ;
+ rdfs:subPropertyOf <http://www.semanticdesktop.org/ontologies/2007/08/15/nao#modified> ;
+ nrl:maxCardinality "1"^^xsd:nonNegativeInteger .
+
+ <http://www.semanticdesktop.org/ontologies/2007/08/15/nao#lastModified>
+ a rdf:Property ;
+ rdfs:comment "States the last modification time for a resource" ;
+ rdfs:domain rdfs:Resource ;
+ rdfs:label "last modified at" ;
+ rdfs:range xsd:dateTime ;
+ rdfs:subPropertyOf <http://www.semanticdesktop.org/ontologies/2007/08/15/nao#modified> ;
+ nrl:maxCardinality "1"^^xsd:nonNegativeInteger .
+
+ <http://www.semanticdesktop.org/ontologies/2007/08/15/nao#identifier>
+ a rdf:Property ;
+ rdfs:comment "Defines a generic identifier for a resource" ;
+ rdfs:domain rdfs:Resource ;
+ rdfs:label "identifier" .
+
+ <http://www.semanticdesktop.org/ontologies/2007/08/15/nao#status>
+ a rdf:Property ;
+ rdfs:comment "Specifies the status of a graph, stable, unstable or testing" ;
+ rdfs:domain nrl:Data ;
+ rdfs:label "status" ;
+ rdfs:range rdfs:Literal ;
+ rdfs:subPropertyOf <http://www.semanticdesktop.org/ontologies/2007/08/15/nao#annotation> ;
+ nrl:maxCardinality "1"^^xsd:nonNegativeInteger .
+
+ <http://www.semanticdesktop.org/ontologies/2007/08/15/nao#description>
+ a rdf:Property ;
+ rdfs:comment "A non-technical textual annotation for a resource" ;
+ rdfs:label "description" ;
+ rdfs:range rdfs:Literal ;
+ rdfs:subPropertyOf rdfs:comment , <http://www.semanticdesktop.org/ontologies/2007/08/15/nao#annotation> .
+
+
+ <http://www.semanticdesktop.org/ontologies/2007/08/15/nao#prefLabel>
+ a rdf:Property ;
+ rdfs:comment "A preferred label for a resource" ;
+ rdfs:label "preferred label" ;
+ rdfs:range rdfs:Literal ;
+ rdfs:subPropertyOf rdfs:label ;
+ nrl:maxCardinality "1"^^xsd:nonNegativeInteger .
+
+ <http://www.semanticdesktop.org/ontologies/2007/08/15/nao#pluralPrefLabel>
+ a rdf:Property ;
+ rdfs:comment "The plural form of the preferred label for a resource" ;
+ rdfs:label "preferred label plural form" ;
+ rdfs:range rdfs:Literal ;
+ rdfs:subPropertyOf rdfs:label ;
+ nrl:maxCardinality "1"^^xsd:nonNegativeInteger .
+
+ <http://www.semanticdesktop.org/ontologies/2007/08/15/nao#engineeringTool>
+ a rdf:Property ;
+ rdfs:comment "Specifies the engineering tool used to generate the graph" ;
+ rdfs:domain nrl:Data ;
+ rdfs:label "engineering tool" ;
+ rdfs:range rdfs:Literal ;
+ rdfs:subPropertyOf <http://www.semanticdesktop.org/ontologies/2007/08/15/nao#annotation> .
+
+ <http://www.semanticdesktop.org/ontologies/2007/08/15/nao#hasTag>
+ a rdf:Property ;
+ rdfs:comment "Defines an existing tag for a resource" ;
+ rdfs:domain rdfs:Resource ;
+ rdfs:label "has tag" ;
+ rdfs:range <http://www.semanticdesktop.org/ontologies/2007/08/15/nao#Tag> ;
+ rdfs:subPropertyOf <http://www.semanticdesktop.org/ontologies/2007/08/15/nao#annotation> ;
+ nrl:inverseProperty nao:isTagFor .
+
+ <http://www.semanticdesktop.org/ontologies/2007/08/15/nao#isRelated>
+ a rdf:Property , nrl:SymmetricProperty ;
+ rdfs:comment "Defines an annotation for a resource in the form of a relationship between the subject resource and another resource" ;
+ rdfs:label "is related to" ;
+ rdfs:range rdfs:Resource ;
+ rdfs:subPropertyOf <http://www.semanticdesktop.org/ontologies/2007/08/15/nao#annotation> .
+
+ <http://www.semanticdesktop.org/ontologies/2007/08/15/nao#personalIdentifier>
+ a rdf:Property , nrl:InverseFunctionalProperty ;
+ rdfs:comment "Defines a personal string identifier for a resource" ;
+ rdfs:label "personal identifier" ;
+ rdfs:range rdfs:Literal ;
+ rdfs:subPropertyOf <http://www.semanticdesktop.org/ontologies/2007/08/15/nao#identifier> .
+
+ <http://www.semanticdesktop.org/ontologies/2007/08/15/nao#Party>
+ a rdfs:Class ;
+ rdfs:comment "Represents a single or a group of individuals" ;
+ rdfs:label "party" ;
+ rdfs:subClassOf rdfs:Resource .
+
+ nao:deprecated
+ a rdf:Property ;
+ 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." ;
+ rdfs:label "deprecated" ;
+ rdfs:domain rdfs:Resource ;
+ rdfs:range rdfs:Resource ;
+ nrl:maxCardinality "1"^^xsd:nonNegativeInteger.
+
+ nao:userVisible
+ a rdf:Property ;
+ rdfs:domain rdfs:Resource ;
+ rdfs:range xsd:boolean ;
+ rdfs:label "user visible" ;
+ rdfs:comment "Mark a property, class, or even resource as user visible or not. Non-user-visible entities should never be presented to the user. By default everything is user-visible." ;
+ nao:userVisible false ;
+ nrl:maxCardinality 1 .
+
+ nao:Agent
+ a rdfs:Class ;
+ rdfs:label "agent" ;
+ rdfs:comment "An agent is the artificial counterpart to nao:Party. It can be a software component or some service." ;
+ rdfs:subClassOf rdfs:Resource .
+
+ nao:maintainedBy
+ a rdf:Property ;
+ rdfs:label "maintained by" ;
+ rdfs:comment "The agent that maintains this resource, ie. created it and knows what to do with it." ;
+ rdfs:domain rdfs:Resource ;
+ rdfs:range nao:Agent ;
+ rdfs:subPropertyOf nao:annotation .
+}
+
+<http://www.semanticdesktop.org/ontologies/2007/08/15/nao/metadata> {
+ <http://www.semanticdesktop.org/ontologies/2007/08/15/nao/metadata>
+ a nrl:GraphMetadata ;
+ nrl:coreGraphMetadataFor <http://www.semanticdesktop.org/ontologies/2007/08/15/nao#> .
+
+
+ <http://www.semanticdesktop.org/ontologies/2007/08/15/nao#>
+ a nrl:Ontology , nrl:DocumentGraph ;
+ nao:hasDefaultNamespace "http://www.semanticdesktop.org/ontologies/2007/08/15/nao#" ;
+ nao:hasDefaultNamespaceAbbreviation "nao" ;
+ nao:lastModified "2011-07-13T15:38:43Z" ;
+ nao:serializationLanguage "TriG" ;
+ nao:status "Unstable" ;
+ nrl:updatable "0" ;
+ nao:version "0.8.1" ;
+ nao:prefLabel "Nepomuk Annotation Ontology" ;
+ nao:description "The annotation ontology provides vocabulary that enables users to attach custom descriptions, identifiers, tags and ratings to resources on their desktop. Via other properties, the user is also able to make generic relationships between related resources explicit. Some relationships between resources are too general to be included at the domain ontology level. Instead, these properties are also defined in the annotation ontology. Given the high-level status of this ontology, these propreties can be used to link any related resources on the user's desktop, as well as provide custom human-readable textual annotations." .
+}
diff --git a/data/ontology/ncal.trig b/data/ontology/ncal.trig
new file mode 100644
index 00000000..dfc22f1a
--- /dev/null
+++ b/data/ontology/ncal.trig
@@ -0,0 +1,1455 @@
+#
+# Copyright (c) 2007 NEPOMUK Consortium
+# Copyright (c) 2011 Sebastian Trueg <trueg@kde.org>
+#
+# All rights reserved, licensed under either CC-BY or BSD.
+#
+# You are free:
+# * to Share - to copy, distribute and transmit the work
+# * to Remix - to adapt the work
+# Under the following conditions:
+# * Attribution - You must attribute the work in the manner specified by the author
+# or licensor (but not in any way that suggests that they endorse you or your use
+# of the work).
+#
+# Redistribution and use in source and binary forms, with or without modification,
+# are permitted provided that the following conditions are met:
+# * Redistributions of source code must retain the above copyright notice, this
+# list of conditions and the following disclaimer.
+# * Redistributions in binary form must reproduce the above copyright notice, this
+# list of conditions and the following disclaimer in the documentation and/or
+# other materials provided with the distribution.
+# * Neither the names of the authors nor the names of contributors may
+# be used to endorse or promote products derived from this ontology without
+# specific prior written permission.
+#
+# THIS ONTOLOGY IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+# THIS ONTOLOGY, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+#
+
+@prefix nid3: <http://www.semanticdesktop.org/ontologies/2007/05/10/nid3#> .
+@prefix nrl: <http://www.semanticdesktop.org/ontologies/2007/08/15/nrl#> .
+@prefix nfo: <http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#> .
+@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
+@prefix tmo: <http://www.semanticdesktop.org/ontologies/2008/05/20/tmo#> .
+@prefix protege: <http://protege.stanford.edu/system#> .
+@prefix nmo: <http://www.semanticdesktop.org/ontologies/2007/03/22/nmo#> .
+@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
+@prefix nexif: <http://www.semanticdesktop.org/ontologies/2007/05/10/nexif#> .
+@prefix ncal: <http://www.semanticdesktop.org/ontologies/2007/04/02/ncal#> .
+@prefix pimo: <http://www.semanticdesktop.org/ontologies/2007/11/01/pimo#> .
+@prefix dcterms: <http://purl.org/dc/terms/> .
+@prefix nao: <http://www.semanticdesktop.org/ontologies/2007/08/15/nao#> .
+@prefix geo: <http://www.w3.org/2003/01/geo/wgs84_pos#> .
+@prefix dc: <http://purl.org/dc/elements/1.1/> .
+@prefix nie: <http://www.semanticdesktop.org/ontologies/2007/01/19/nie#> .
+@prefix nco: <http://www.semanticdesktop.org/ontologies/2007/03/22/nco#> .
+@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
+
+ncal: {ncal:sunday
+ a ncal:Weekday ;
+ rdfs:label "sunday" .
+
+ ncal:ncalTimezone
+ a rdf:Property ;
+ 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" ;
+ rdfs:domain ncal:NcalDateTime ;
+ rdfs:label "ncalTimezone" ;
+ rdfs:range ncal:Timezone ;
+ nrl:maxCardinality 1 .
+
+ ncal:delegatedFrom
+ a rdf:Property ;
+ 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." ;
+ rdfs:domain ncal:Attendee ;
+ rdfs:label "delegatedFrom" ;
+ rdfs:range nco:Contact .
+
+ ncal:TimezoneObservance
+ a rdfs:Class ;
+ rdfs:label "TimezoneObservance" ;
+ rdfs:subClassOf ncal:UnionOfTimezoneObservanceEventJournalTimezoneTodo , ncal:UnionOfTimezoneObservanceEventFreebusyTimezoneTodo , ncal:UnionOfTimezoneObservanceEventFreebusyJournalTimezoneTodo .
+
+ ncal:base64Encoding
+ a ncal:AttachmentEncoding ;
+ rdfs:label "base64Encoding" .
+
+ ncal:related
+ a rdf:Property ;
+ 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." ;
+ rdfs:domain ncal:Trigger ;
+ rdfs:label "related" ;
+ rdfs:range ncal:TriggerRelation .
+
+ ncal:Event
+ a rdfs:Class ;
+ rdfs:comment "Provide a grouping of component properties that describe an event." ;
+ rdfs:label "Event" ;
+ rdfs:subClassOf ncal:UnionOfTimezoneObservanceEventFreebusyTimezoneTodo , ncal:UnionOfAlarmEventFreebusyJournalTodo , ncal:UnionOfEventFreebusy , ncal:UnionOfAlarmEventJournalTodo , ncal:UnionOfEventFreebusyJournalTodo , nie:InformationElement , ncal:UnionOfEventJournalTodo , ncal:UnionOfTimezoneObservanceEventJournalTimezoneTodo , ncal:UnionOfTimezoneObservanceEventFreebusyJournalTimezoneTodo , ncal:UnionOfEventJournalTimezoneTodo , ncal:UnionOfAlarmEventFreebusyTodo , ncal:UnionOfEventTodo , ncal:UnionOfAlarmEventTodo .
+
+ ncal:created
+ a rdf:Property ;
+ 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:domain ncal:UnionOfEventJournalTodo ;
+ rdfs:label "created" ;
+ rdfs:range xsd:dateTime ;
+ rdfs:subPropertyOf nie:created ;
+ nrl:maxCardinality 1 .
+
+ ncal:comment
+ a rdf:Property ;
+ 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." ;
+ rdfs:domain ncal:UnionOfTimezoneObservanceEventFreebusyJournalTimezoneTodo ;
+ rdfs:label "comment" ;
+ rdfs:range xsd:string ;
+ rdfs:subPropertyOf nie:comment .
+
+ ncal:summaryAltRep
+ a rdf:Property ;
+ rdfs:comment """Alternate representation of the comment. Introduced to cover
+the ALTREP parameter of the SUMMARY property. See
+documentation of ncal:summary for details.""" ;
+ rdfs:domain ncal:UnionOfAlarmEventJournalTodo ;
+ rdfs:label "summaryAltRep" ;
+ rdfs:range rdfs:Resource .
+
+ ncal:completedParticipationStatus
+ a ncal:ParticipationStatus ;
+ rdfs:label "completedParticipationStatus" .
+
+ ncal:component
+ a rdf:Property ;
+ 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:domain ncal:Calendar ;
+ rdfs:label "component" ;
+ rdfs:range ncal:CalendarDataObject ;
+ rdfs:subPropertyOf nie:hasPart .
+
+ ncal:RecurrenceIdentifierRange
+ a rdfs:Class ;
+ 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:label "RecurrenceIdentifierRange" ;
+ rdfs:subClassOf rdfs:Resource .
+
+ ncal:cutype
+ a rdf:Property ;
+ 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." ;
+ rdfs:domain ncal:Attendee ;
+ rdfs:label "cutype" ;
+ rdfs:range ncal:CalendarUserType .
+
+ ncal:needsActionStatus
+ a ncal:TodoStatus ;
+ rdfs:label "needsActionStatus" .
+
+ ncal:wkst
+ a rdf:Property ;
+ 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" ;
+ rdfs:domain ncal:RecurrenceRule ;
+ rdfs:label "wkst" ;
+ rdfs:range ncal:Weekday ;
+ nrl:maxCardinality 1 .
+
+ ncal:tzurl
+ a rdf:Property ;
+ 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." ;
+ rdfs:domain ncal:Timezone ;
+ rdfs:label "tzurl" ;
+ rdfs:range rdfs:Resource .
+
+ ncal:acceptedParticipationStatus
+ a ncal:ParticipationStatus ;
+ rdfs:label "acceptedParticipationStatus" .
+
+ ncal:UnionOfEventTodo
+ a rdfs:Class ;
+ rdfs:label "UnionOfEventTodo" ;
+ rdfs:subClassOf ncal:UnionParentClass .
+
+ ncal:displayAction
+ a ncal:AlarmAction ;
+ rdfs:label "displayAction" .
+
+ ncal:wednesday
+ a ncal:Weekday ;
+ rdfs:label "wednesday" .
+
+ ncal:uid
+ a rdf:Property ;
+ 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:domain ncal:UnionOfEventFreebusyJournalTodo ;
+ rdfs:label "uid" ;
+ rdfs:range xsd:string ;
+ rdfs:subPropertyOf nie:identifier ;
+ nrl:maxCardinality 1 .
+
+ ncal:standard
+ a rdf:Property ;
+ 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" ;
+ rdfs:domain ncal:Timezone ;
+ rdfs:label "standard" ;
+ rdfs:range ncal:TimezoneObservance ;
+ nrl:maxCardinality 1 .
+
+ ncal:resourceUserType
+ a ncal:CalendarUserType ;
+ rdfs:label "resourceUserType" .
+
+ ncal:cancelledEventStatus
+ a ncal:EventStatus ;
+ rdfs:label "cancelledEventStatus" .
+
+ ncal:TimeTransparency
+ a rdfs:Class ;
+ 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:label "TimeTransparency" ;
+ rdfs:subClassOf rdfs:Resource .
+
+ ncal:cancelledTodoStatus
+ a ncal:TodoStatus ;
+ rdfs:label "cancelledTodoStatus" .
+
+ ncal:NcalTimeEntity
+ a rdfs:Class ;
+ 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:label "NcalTimeEntity" ;
+ rdfs:subClassOf rdfs:Resource .
+
+ ncal:attachmentUri
+ a rdf:Property ;
+ 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." ;
+ rdfs:domain ncal:Attachment ;
+ rdfs:label "attachmentUri" ;
+ rdfs:range rdfs:Resource ;
+ nrl:maxCardinality 1 .
+
+ ncal:CalendarScale
+ a rdfs:Class ;
+ rdfs:comment "A calendar scale. This class has been introduced to provide the limited vocabulary for the ncal:calscale property." ;
+ rdfs:label "CalendarScale" ;
+ rdfs:subClassOf rdfs:Resource .
+
+ ncal:member
+ a rdf:Property ;
+ 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" ;
+ rdfs:domain ncal:Attendee ;
+ rdfs:label "member" ;
+ rdfs:range nco:Contact .
+
+ ncal:individualUserType
+ a ncal:CalendarUserType ;
+ rdfs:label "individualUserType" .
+
+ ncal:completedStatus
+ a ncal:TodoStatus ;
+ rdfs:label "completedStatus" .
+
+ ncal:periodDuration
+ a rdf:Property ;
+ 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." ;
+ rdfs:domain ncal:NcalPeriod ;
+ rdfs:label "periodDuration" ;
+ rdfs:range xsd:duration ;
+ nrl:maxCardinality 1 .
+
+ ncal:dtstamp
+ a rdf:Property ;
+ 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." ;
+ rdfs:domain ncal:UnionOfEventFreebusyJournalTodo ;
+ rdfs:label "dtstamp" ;
+ rdfs:range xsd:dateTime ;
+ nrl:maxCardinality 1 .
+
+ ncal:UnionOfAlarmEventJournalTodo
+ a rdfs:Class ;
+ rdfs:label "UnionOfAlarmEventJournalTodo" ;
+ rdfs:subClassOf ncal:UnionParentClass .
+
+ ncal:BydayRulePart
+ a rdfs:Class ;
+ 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:label "BydayRulePart" ;
+ rdfs:subClassOf rdfs:Resource .
+
+ ncal:Trigger
+ a rdfs:Class ;
+ 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:label "Trigger" ;
+ rdfs:subClassOf rdfs:Resource .
+
+ ncal:procedureAction
+ a ncal:AlarmAction ;
+ rdfs:label "procedureAction" .
+
+ ncal:class
+ a rdf:Property ;
+ 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." ;
+ rdfs:domain ncal:UnionOfEventJournalTodo ;
+ rdfs:label "class" ;
+ rdfs:range ncal:AccessClassification ;
+ nrl:maxCardinality 1 .
+
+ ncal:_8bitEncoding
+ a ncal:AttachmentEncoding ;
+ rdfs:label "_8bitEncoding" .
+
+ ncal:delegatedParticipationStatus
+ a ncal:ParticipationStatus ;
+ rdfs:label "delegatedParticipationStatus" .
+
+ ncal:transp
+ a rdf:Property ;
+ 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." ;
+ rdfs:domain ncal:Event ;
+ rdfs:label "transp" ;
+ rdfs:range ncal:TimeTransparency ;
+ nrl:maxCardinality 1 .
+
+ ncal:date
+ a rdf:Property ;
+ 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" ;
+ rdfs:domain ncal:NcalDateTime ;
+ rdfs:label "date" ;
+ rdfs:range xsd:date ;
+ nrl:maxCardinality 1 .
+
+ ncal:busyTentativeFreebusyType
+ a ncal:FreebusyType ;
+ rdfs:label "busyTentativeFreebusyType" .
+
+ ncal:emailAction
+ a ncal:AlarmAction ;
+ rdfs:label "emailAction" .
+
+ ncal:needsActionParticipationStatus
+ a ncal:ParticipationStatus ;
+ rdfs:label "needsActionParticipationStatus" .
+
+ ncal:dtend
+ a rdf:Property ;
+ rdfs:comment "This property specifies the date and time that a calendar component ends. Inspired by RFC 2445 sec. 4.8.2.2" ;
+ rdfs:domain ncal:UnionOfEventFreebusy ;
+ rdfs:label "dtend" ;
+ rdfs:range ncal:NcalDateTime ;
+ nrl:maxCardinality 1 .
+
+ ncal:privateClassification
+ a ncal:AccessClassification ;
+ rdfs:label "privateClassification" .
+
+ ncal:dateTime
+ a rdf:Property ;
+ 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" ;
+ rdfs:domain ncal:NcalDateTime ;
+ rdfs:label "dateTime" ;
+ rdfs:range xsd:dateTime ;
+ nrl:maxCardinality 1 .
+
+ ncal:prodid
+ a rdf:Property ;
+ rdfs:comment "This property specifies the identifier for the product that created the iCalendar object. Defined in RFC 2445 sec. 4.7.2" ;
+ rdfs:domain ncal:Calendar ;
+ rdfs:label "prodid" ;
+ rdfs:range xsd:string ;
+ rdfs:subPropertyOf nie:generator .
+
+ ncal:bymonthday
+ a rdf:Property ;
+ rdfs:comment "Day of the month when the event should recur. Defined in RFC 2445 sec. 4.3.10" ;
+ rdfs:domain ncal:RecurrenceRule ;
+ rdfs:label "bymonthday" ;
+ rdfs:range xsd:integer .
+
+ ncal:ncalRelation
+ a rdf:Property ;
+ rdfs:comment "A common superproperty for all types of ncal relations. It is not to be used directly." ;
+ rdfs:domain ncal:UnionOfEventJournalTodo ;
+ rdfs:label "ncalRelation" ;
+ rdfs:range xsd:string ;
+ rdfs:subPropertyOf dc:relation .
+
+ ncal:EventStatus
+ a rdfs:Class ;
+ 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:label "EventStatus" ;
+ rdfs:subClassOf rdfs:Resource .
+
+ ncal:summary
+ a rdf:Property ;
+ 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." ;
+ rdfs:domain ncal:UnionOfAlarmEventJournalTodo ;
+ rdfs:label "summary" ;
+ rdfs:range xsd:string .
+
+ ncal:RecurrenceFrequency
+ a rdfs:Class ;
+ 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:label "RecurrenceFrequency" ;
+ rdfs:subClassOf rdfs:Resource .
+
+ ncal:Organizer
+ a rdfs:Class ;
+ 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:label "Organizer" ;
+ rdfs:subClassOf ncal:AttendeeOrOrganizer .
+
+ ncal:fbtype
+ a rdf:Property ;
+ 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." ;
+ rdfs:domain ncal:FreebusyPeriod ;
+ rdfs:label "fbtype" ;
+ rdfs:range ncal:FreebusyType ;
+ nrl:maxCardinality 1 .
+
+ ncal:Attachment
+ a rdfs:Class ;
+ 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:label "Attachment" ;
+ rdfs:subClassOf rdfs:Resource , nfo:Attachment .
+
+ ncal:tzname
+ a rdf:Property ;
+ 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." ;
+ rdfs:domain ncal:TimezoneObservance ;
+ rdfs:label "tzname" ;
+ rdfs:range xsd:string .
+
+ ncal:busyUnavailableFreebusyType
+ a ncal:FreebusyType ;
+ rdfs:label "busyUnavailableFreebusyType" .
+
+ ncal:CalendarDataObject
+ a rdfs:Class ;
+ 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:label "CalendarDataObject" ;
+ rdfs:subClassOf nie:DataObject .
+
+ ncal:chairRole
+ a ncal:AttendeeRole ;
+ rdfs:label "chairRole" .
+
+ ncal:nonParticipantRole
+ a ncal:AttendeeRole ;
+ rdfs:label "nonParticipantRole" .
+
+ ncal:descriptionAltRep
+ a rdf:Property ;
+ 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.""" ;
+ rdfs:domain ncal:UnionOfAlarmEventJournalTodo ;
+ rdfs:label "descriptionAltRep" ;
+ rdfs:range rdfs:Resource .
+
+ ncal:commentAltRep
+ a rdf:Property ;
+ rdfs:comment """Alternate representation of the comment. Introduced to cover
+the ALTREP parameter of the COMMENT property. See
+documentation of ncal:comment for details.""" ;
+ rdfs:domain ncal:UnionOfTimezoneObservanceEventFreebusyJournalTimezoneTodo ;
+ rdfs:label "commentAltRep" ;
+ rdfs:range rdfs:Resource .
+
+ ncal:UnionOfTimezoneObservanceEventFreebusyJournalTimezoneTodo
+ a rdfs:Class ;
+ rdfs:label "UnionOfTimezoneObservanceEventFreebusyJournalTimezoneTodo" ;
+ rdfs:subClassOf ncal:UnionParentClass .
+
+ ncal:contact
+ a rdf:Property ;
+ 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." ;
+ rdfs:domain ncal:UnionOfEventFreebusyJournalTodo ;
+ rdfs:label "contact" ;
+ rdfs:range xsd:string .
+
+ ncal:sequence
+ a rdf:Property ;
+ 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" ;
+ rdfs:domain ncal:UnionOfEventJournalTodo ;
+ rdfs:label "sequence" ;
+ rdfs:range xsd:integer ;
+ nrl:maxCardinality 1 .
+
+ ncal:repeat
+ a rdf:Property ;
+ 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" ;
+ rdfs:domain ncal:Alarm ;
+ rdfs:label "repeat" ;
+ rdfs:range xsd:integer ;
+ nrl:maxCardinality 1 .
+
+ ncal:freeFreebusyType
+ a ncal:FreebusyType ;
+ rdfs:label "freeFreebusyType" .
+
+ ncal:yearly
+ a ncal:RecurrenceFrequency ;
+ rdfs:label "yearly" .
+
+ ncal:involvedContact
+ a rdf:Property ;
+ 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." ;
+ rdfs:domain ncal:AttendeeOrOrganizer ;
+ rdfs:label "involvedContact" ;
+ rdfs:range nco:Contact .
+
+ ncal:opaqueTransparency
+ a ncal:TimeTransparency ;
+ rdfs:label "opaqueTransparency" .
+
+ ncal:inProcessStatus
+ a ncal:TodoStatus ;
+ rdfs:label "inProcessStatus" .
+
+ ncal:startTriggerRelation
+ a ncal:TriggerRelation ;
+ rdfs:label "startTriggerRelation" .
+
+ ncal:AlarmAction
+ a rdfs:Class ;
+ 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:label "AlarmAction" ;
+ rdfs:subClassOf rdfs:Resource .
+
+ ncal:UnionParentClass
+ a rdfs:Class ;
+ rdfs:label "UnionParentClass" ;
+ rdfs:subClassOf rdfs:Resource .
+
+ ncal:Alarm
+ a rdfs:Class ;
+ rdfs:comment "Provide a grouping of component properties that define an alarm." ;
+ rdfs:label "Alarm" ;
+ rdfs:subClassOf ncal:UnionOfAlarmEventFreebusyJournalTodo , ncal:UnionOfAlarmEventJournalTodo , ncal:UnionOfAlarmEventFreebusyTodo , ncal:UnionOfAlarmEventTodo , nie:InformationElement .
+
+ ncal:unknownUserType
+ a ncal:CalendarUserType ;
+ rdfs:label "unknownUserType" .
+
+ ncal:rsvp
+ a rdf:Property ;
+ 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" ;
+ rdfs:domain ncal:Attendee ;
+ rdfs:label "rsvp" ;
+ rdfs:range xsd:boolean ;
+ nrl:maxCardinality 1 .
+
+ ncal:RecurrenceRule
+ a rdfs:Class ;
+ rdfs:label "RecurrenceRule" ;
+ rdfs:subClassOf rdfs:Resource .
+
+ ncal:UnionOfEventJournalTimezoneTodo
+ a rdfs:Class ;
+ rdfs:label "UnionOfEventJournalTimezoneTodo" ;
+ rdfs:subClassOf ncal:UnionParentClass .
+
+ ncal:TodoStatus
+ a rdfs:Class ;
+ 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:label "TodoStatus" ;
+ rdfs:subClassOf rdfs:Resource .
+
+ ncal:monday
+ a ncal:Weekday ;
+ rdfs:label "monday" .
+
+ ncal:geo
+ a rdf:Property ;
+ 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" ;
+ rdfs:domain ncal:UnionOfEventTodo ;
+ rdfs:label "geo" ;
+ rdfs:range geo:Point ;
+ nrl:maxCardinality 1 .
+
+ ncal:UnionOfAlarmEventFreebusyTodo
+ a rdfs:Class ;
+ rdfs:label "UnionOfAlarmEventFreebusyTodo" ;
+ rdfs:subClassOf ncal:UnionParentClass .
+
+ ncal:hourly
+ a ncal:RecurrenceFrequency ;
+ rdfs:label "hourly" .
+
+ ncal:fmttype
+ a rdf:Property ;
+ 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)" ;
+ rdfs:domain ncal:Attachment ;
+ rdfs:label "fmttype" ;
+ rdfs:range xsd:string ;
+ nrl:maxCardinality 1 .
+
+ ncal:byyearday
+ a rdf:Property ;
+ rdfs:comment "Day of the year the event should occur. Defined in RFC 2445 sec. 4.3.10" ;
+ rdfs:domain ncal:RecurrenceRule ;
+ rdfs:label "byyearday" ;
+ rdfs:range xsd:integer .
+
+ ncal:dtstart
+ a rdf:Property ;
+ rdfs:comment "This property specifies when the calendar component begins. Inspired by RFC 2445 sec. 4.8.2.4" ;
+ rdfs:domain ncal:UnionOfTimezoneObservanceEventFreebusyTimezoneTodo ;
+ rdfs:label "dtstart" ;
+ rdfs:range ncal:NcalDateTime ;
+ nrl:maxCardinality 1 .
+
+ ncal:description
+ a rdf:Property ;
+ 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:domain ncal:UnionOfAlarmEventJournalTodo ;
+ rdfs:label "description" ;
+ rdfs:range xsd:string ;
+ rdfs:subPropertyOf nie:description .
+
+ ncal:thursday
+ a ncal:Weekday ;
+ rdfs:label "thursday" .
+
+ ncal:daily
+ a ncal:RecurrenceFrequency ;
+ rdfs:label "daily" .
+
+ ncal:Weekday
+ a rdfs:Class ;
+ 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:label "Weekday" ;
+ rdfs:subClassOf rdfs:Resource .
+
+ ncal:partstat
+ a rdf:Property ;
+ 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." ;
+ rdfs:domain ncal:Attendee ;
+ rdfs:label "partstat" ;
+ rdfs:range ncal:ParticipationStatus .
+
+ ncal:relatedToSibling
+ a rdf:Property ;
+ 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:domain ncal:UnionOfEventJournalTodo ;
+ rdfs:label "relatedToSibling" ;
+ rdfs:range xsd:string ;
+ rdfs:subPropertyOf ncal:ncalRelation .
+
+ ncal:count
+ a rdf:Property ;
+ rdfs:comment "How many times should an event be repeated. Defined in RFC 2445 sec. 4.3.10" ;
+ rdfs:domain ncal:RecurrenceRule ;
+ rdfs:label "count" ;
+ rdfs:range xsd:integer ;
+ nrl:maxCardinality 1 .
+
+ ncal:duration
+ a rdf:Property ;
+ rdfs:comment "The property specifies a positive duration of time. Inspired by RFC 2445 sec. 4.8.2.5" ;
+ rdfs:domain ncal:UnionOfAlarmEventFreebusyTodo ;
+ rdfs:label "duration" ;
+ rdfs:range xsd:duration ;
+ nrl:maxCardinality 1 .
+
+ ncal:bymonth
+ a rdf:Property ;
+ 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:label "bymonth" ;
+ rdfs:range xsd:integer .
+
+ ncal:inProcessParticipationStatus
+ a ncal:ParticipationStatus ;
+ rdfs:label "inProcessParticipationStatus" .
+
+ ncal:weekly
+ a ncal:RecurrenceFrequency ;
+ rdfs:label "weekly" .
+
+ ncal:sentBy
+ a rdf:Property ;
+ 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." ;
+ rdfs:domain ncal:AttendeeOrOrganizer ;
+ rdfs:label "sentBy" ;
+ rdfs:range nco:Contact .
+
+ ncal:attachmentContent
+ a rdf:Property ;
+ 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." ;
+ rdfs:domain ncal:Attachment ;
+ rdfs:label "attachmentContent" ;
+ rdfs:range xsd:string .
+
+ ncal:attach
+ a rdf:Property ;
+ 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:domain ncal:UnionOfAlarmEventJournalTodo ;
+ rdfs:label "attach" ;
+ rdfs:range ncal:Attachment ;
+ rdfs:subPropertyOf nie:hasPart .
+
+ ncal:RecurrenceIdentifier
+ a rdfs:Class ;
+ 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:label "RecurrenceIdentifier" ;
+ rdfs:subClassOf rdfs:Resource .
+
+ ncal:percentComplete
+ a rdf:Property ;
+ 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" ;
+ rdfs:domain ncal:Todo ;
+ rdfs:label "percentComplete" ;
+ rdfs:range xsd:integer .
+
+ ncal:gregorianCalendarScale
+ a ncal:CalendarScale ;
+ rdfs:label "gregorianCalendarScale" .
+
+ ncal:delegatedTo
+ a rdf:Property ;
+ 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." ;
+ rdfs:domain ncal:Attendee ;
+ rdfs:label "delegatedTo" ;
+ rdfs:range nco:Contact .
+
+ ncal:action
+ a rdf:Property ;
+ 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:label "action" ;
+ rdfs:range ncal:AlarmAction .
+
+ ncal:AttachmentEncoding
+ a rdfs:Class ;
+ 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:label "AttachmentEncoding" ;
+ rdfs:subClassOf rdfs:Resource .
+
+ ncal:lastModified
+ a rdf:Property ;
+ 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." ;
+ rdfs:domain ncal:UnionOfEventJournalTimezoneTodo ;
+ rdfs:label "lastModified" ;
+ rdfs:range xsd:dateTime ;
+ nrl:maxCardinality 1 .
+
+ ncal:trigger
+ a rdf:Property ;
+ 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." ;
+ rdfs:domain ncal:UnionOfAlarmEventTodo ;
+ rdfs:label "trigger" ;
+ rdfs:range ncal:Trigger .
+
+ ncal:until
+ a rdf:Property ;
+ 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." ;
+ rdfs:domain ncal:RecurrenceRule ;
+ rdfs:label "until" ;
+ rdfs:range xsd:dateTime .
+
+ ncal:relatedToChild
+ a rdf:Property ;
+ 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:domain ncal:UnionOfEventJournalTodo ;
+ rdfs:label "relatedToChild" ;
+ rdfs:range xsd:string ;
+ rdfs:subPropertyOf ncal:ncalRelation .
+
+ ncal:url
+ a rdf:Property ;
+ 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." ;
+ rdfs:domain ncal:UnionOfEventFreebusyJournalTodo ;
+ rdfs:label "url" ;
+ rdfs:range rdfs:Resource ;
+ nrl:maxCardinality 1 .
+
+ ncal:AccessClassification
+ a rdfs:Class ;
+ 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:label "AccessClassification" ;
+ rdfs:subClassOf rdfs:Resource .
+
+ ncal:Freebusy
+ a rdfs:Class ;
+ 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:label "Freebusy" ;
+ rdfs:subClassOf ncal:UnionOfTimezoneObservanceEventFreebusyTimezoneTodo , ncal:UnionOfAlarmEventFreebusyJournalTodo , ncal:UnionOfTimezoneObservanceEventFreebusyJournalTimezoneTodo , ncal:UnionOfEventFreebusy , ncal:UnionOfAlarmEventFreebusyTodo , ncal:UnionOfEventFreebusyJournalTodo , nie:InformationElement .
+
+ ncal:completed
+ a rdf:Property ;
+ 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." ;
+ rdfs:domain ncal:Todo ;
+ rdfs:label "completed" ;
+ rdfs:range xsd:dateTime ;
+ nrl:maxCardinality 1 .
+
+ ncal:JournalStatus
+ a rdfs:Class ;
+ 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:label "JournalStatus" ;
+ rdfs:subClassOf rdfs:Resource .
+
+ ncal:UnionOfEventFreebusy
+ a rdfs:Class ;
+ rdfs:label "UnionOfEventFreebusy" ;
+ rdfs:subClassOf ncal:UnionParentClass .
+
+ ncal:priority
+ a rdf:Property ;
+ rdfs:comment "The property defines the relative priority for a calendar component. Inspired by RFC 2445 sec. 4.8.1.9" ;
+ rdfs:domain ncal:UnionOfEventTodo ;
+ rdfs:label "priority" ;
+ rdfs:range xsd:integer ;
+ nrl:maxCardinality 1 .
+
+ ncal:relatedToParent
+ a rdf:Property ;
+ 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:domain ncal:UnionOfEventJournalTodo ;
+ rdfs:label "relatedToParent" ;
+ rdfs:range xsd:string ;
+ rdfs:subPropertyOf ncal:ncalRelation .
+
+ ncal:resources
+ a rdf:Property ;
+ 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:UnionOfEventTodo ;
+ rdfs:label "resources" ;
+ rdfs:range xsd:string .
+
+ ncal:bysecond
+ a rdf:Property ;
+ rdfs:comment "Second of a recurrence. Defined in RFC 2445 sec. 4.3.10" ;
+ rdfs:domain ncal:RecurrenceRule ;
+ rdfs:label "bysecond" ;
+ rdfs:range xsd:integer .
+
+ ncal:Journal
+ a rdfs:Class ;
+ rdfs:comment "Provide a grouping of component properties that describe a journal entry." ;
+ rdfs:label "Journal" ;
+ rdfs:subClassOf ncal:UnionOfTimezoneObservanceEventJournalTimezoneTodo , ncal:UnionOfAlarmEventFreebusyJournalTodo , ncal:UnionOfEventJournalTimezoneTodo , ncal:UnionOfTimezoneObservanceEventFreebusyJournalTimezoneTodo , ncal:UnionOfAlarmEventJournalTodo , ncal:UnionOfEventFreebusyJournalTodo , nie:InformationElement , ncal:UnionOfEventJournalTodo .
+
+ ncal:Attendee
+ a rdfs:Class ;
+ 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:label "Attendee" ;
+ rdfs:subClassOf ncal:AttendeeOrOrganizer .
+
+ ncal:saturday
+ a ncal:Weekday ;
+ rdfs:label "saturday" .
+
+ ncal:statusDescription
+ a rdf:Property ;
+ 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" ;
+ rdfs:domain ncal:RequestStatus ;
+ rdfs:label "statusDescription" ;
+ rdfs:range xsd:string ;
+ nrl:maxCardinality 1 .
+
+ ncal:tentativeStatus
+ a ncal:EventStatus ;
+ rdfs:label "tentativeStatus" .
+
+ ncal:location
+ a rdf:Property ;
+ 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." ;
+ rdfs:domain ncal:UnionOfEventTodo ;
+ rdfs:label "location" ;
+ rdfs:range xsd:string ;
+ nrl:maxCardinality 1 .
+
+ ncal:eventStatus
+ a rdf:Property ;
+ 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." ;
+ rdfs:domain ncal:Event ;
+ rdfs:label "status" ;
+ rdfs:range ncal:EventStatus ;
+ nrl:maxCardinality 1 .
+
+ ncal:AttendeeOrOrganizer
+ a rdfs:Class ;
+ rdfs:comment "A common superclass for ncal:Attendee and ncal:Organizer." ;
+ rdfs:label "AttendeeOrOrganizer" ;
+ rdfs:subClassOf rdfs:Resource .
+
+ ncal:FreebusyPeriod
+ a rdfs:Class ;
+ 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:label "FreebusyPeriod" ;
+ rdfs:subClassOf ncal:NcalPeriod .
+
+ ncal:bydayModifier
+ a rdf:Property ;
+ rdfs:comment "An 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:label "bydayModifier" ;
+ rdfs:range xsd:integer ;
+ nrl:maxCardinality 1 .
+
+ ncal:UnionOfAlarmEventFreebusyJournalTodo
+ a rdfs:Class ;
+ rdfs:label "UnionOfAlarmEventFreebusyJournalTodo" ;
+ rdfs:subClassOf ncal:UnionParentClass .
+
+ ncal:minutely
+ a ncal:RecurrenceFrequency ;
+ rdfs:label "minutely" .
+
+ ncal:method
+ a rdf:Property ;
+ rdfs:comment "This property defines the iCalendar object method associated with the calendar object. Defined in RFC 2445 sec. 4.7.2" ;
+ rdfs:domain ncal:Calendar ;
+ rdfs:label "method" ;
+ rdfs:range xsd:string ;
+ nrl:maxCardinality 1 .
+
+ ncal:tuesday
+ a ncal:Weekday ;
+ rdfs:label "tuesday" .
+
+ ncal:UnionOfEventJournalTodo
+ a rdfs:Class ;
+ rdfs:label "UnionOfEventJournalTodo" ;
+ rdfs:subClassOf ncal:UnionParentClass .
+
+ ncal:triggerDateTime
+ a rdf:Property ;
+ 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" ;
+ rdfs:domain ncal:Trigger ;
+ rdfs:label "triggerDateTime" ;
+ rdfs:range xsd:dateTime ;
+ nrl:maxCardinality 1 .
+
+ ncal:endTriggerRelation
+ a ncal:TriggerRelation ;
+ rdfs:label "endTriggerRelation" .
+
+ ncal:dir
+ a rdf:Property ;
+ 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." ;
+ rdfs:domain ncal:AttendeeOrOrganizer ;
+ rdfs:label "dir" ;
+ rdfs:range rdfs:Resource .
+
+ ncal:interval
+ a rdf:Property ;
+ 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" ;
+ rdfs:domain ncal:RecurrenceRule ;
+ rdfs:label "interval" ;
+ rdfs:range xsd:integer ;
+ nrl:maxCardinality 1 .
+
+ ncal:requestStatus
+ a rdf:Property ;
+ 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." ;
+ rdfs:domain ncal:UnionOfEventFreebusyJournalTodo ;
+ rdfs:label "requestStatus" ;
+ rdfs:range ncal:RequestStatus ;
+ nrl:maxCardinality 1 .
+
+ ncal:byday
+ a rdf:Property ;
+ rdfs:comment "Weekdays the recurrence should occur. Defined in RFC 2445 sec. 4.3.10" ;
+ rdfs:domain ncal:RecurrenceRule ;
+ rdfs:label "byday" ;
+ rdfs:range ncal:BydayRulePart .
+
+ ncal:friday
+ a ncal:Weekday ;
+ rdfs:label "friday" .
+
+ ncal:recurrenceId
+ a rdf:Property ;
+ rdfs:comment "This property is used in conjunction with the \"UID\" and \"SEQUENCE\" property to identify a specific instance of a recurring \"VEVENT\", \"VTODO\" or \"VJOURNAL\" calendar component. The property value is the effective value of the \"DTSTART\" property of the recurrence instance. Inspired by the RFC 2445 sec. 4.8.4.4" ;
+ rdfs:domain ncal:UnionOfEventJournalTimezoneTodo ;
+ rdfs:label "recurrenceId" ;
+ rdfs:range ncal:RecurrenceIdentifier ;
+ nrl:maxCardinality 1 .
+
+ ncal:thisAndPriorRange
+ a ncal:RecurrenceIdentifierRange ;
+ rdfs:label "thisAndPriorRange" .
+
+ ncal:periodBegin
+ a rdf:Property ;
+ 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" ;
+ rdfs:domain ncal:NcalPeriod ;
+ rdfs:label "periodBegin" ;
+ rdfs:range xsd:dateTime ;
+ nrl:maxCardinality 1 .
+
+ ncal:byweekno
+ a rdf:Property ;
+ rdfs:comment "The number of the week an event should recur. Defined in RFC 2445 sec. 4.3.10" ;
+ rdfs:domain ncal:RecurrenceRule ;
+ rdfs:label "byweekno" ;
+ rdfs:range xsd:integer .
+
+ ncal:tzoffsetfrom
+ a rdf:Property ;
+ 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." ;
+ rdfs:domain ncal:TimezoneObservance ;
+ rdfs:label "tzoffsetfrom" ;
+ rdfs:range xsd:string ;
+ nrl:maxCardinality 1 .
+
+ ncal:triggerDuration
+ a rdf:Property ;
+ 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." ;
+ rdfs:domain ncal:Trigger ;
+ rdfs:label "triggerDuration" ;
+ rdfs:range xsd:duration ;
+ nrl:maxCardinality 1 .
+
+ ncal:FreebusyType
+ a rdfs:Class ;
+ 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:label "FreebusyType" ;
+ rdfs:subClassOf rdfs:Resource .
+
+ ncal:NcalDateTime
+ a rdfs:Class ;
+ rdfs:label "NcalDateTime" ;
+ rdfs:subClassOf ncal:NcalTimeEntity .
+
+ ncal:organizer
+ a rdf:Property ;
+ 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." ;
+ rdfs:domain ncal:UnionOfEventFreebusyJournalTodo ;
+ rdfs:label "organizer" ;
+ rdfs:range ncal:Organizer .
+
+ ncal:calscale
+ a rdf:Property ;
+ 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" ;
+ rdfs:domain ncal:Calendar ;
+ rdfs:label "calscale" ;
+ rdfs:range ncal:CalendarScale ;
+ nrl:maxCardinality 1 .
+
+ ncal:periodEnd
+ a rdf:Property ;
+ 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." ;
+ rdfs:domain ncal:NcalPeriod ;
+ rdfs:label "periodEnd" ;
+ rdfs:range xsd:dateTime ;
+ nrl:maxCardinality 1 .
+
+ ncal:ParticipationStatus
+ a rdfs:Class ;
+ 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:label "ParticipationStatus" ;
+ rdfs:subClassOf rdfs:Resource .
+
+ ncal:draftStatus
+ a ncal:JournalStatus ;
+ rdfs:label "draftStatus" .
+
+ ncal:attendee
+ a rdf:Property ;
+ 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:UnionOfAlarmEventFreebusyJournalTodo ;
+ rdfs:label "attendee" ;
+ rdfs:range ncal:Attendee .
+
+ ncal:bydayWeekday
+ a rdf:Property ;
+ rdfs:comment "Connects a BydayRulePath with a weekday." ;
+ rdfs:domain ncal:BydayRulePart ;
+ rdfs:label "bydayWeekday" ;
+ rdfs:range ncal:Weekday .
+
+ ncal:RequestStatus
+ a rdfs:Class ;
+ 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:label "RequestStatus" ;
+ rdfs:subClassOf rdfs:Resource .
+
+ ncal:rrule
+ a rdf:Property ;
+ 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:UnionOfTimezoneObservanceEventJournalTimezoneTodo ;
+ rdfs:label "rrule" ;
+ rdfs:range ncal:RecurrenceRule .
+
+ ncal:tzoffsetto
+ a rdf:Property ;
+ 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." ;
+ rdfs:domain ncal:TimezoneObservance ;
+ rdfs:label "tzoffsetto" ;
+ rdfs:range xsd:string ;
+ nrl:maxCardinality 1 .
+
+ ncal:exdate
+ a rdf:Property ;
+ 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:UnionOfEventJournalTimezoneTodo ;
+ rdfs:label "exdate" ;
+ rdfs:range ncal:NcalDateTime .
+
+ ncal:secondly
+ a ncal:RecurrenceFrequency ;
+ rdfs:label "secondly" .
+
+ ncal:role
+ a rdf:Property ;
+ 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." ;
+ rdfs:domain ncal:Attendee ;
+ rdfs:label "role" ;
+ rdfs:range ncal:AttendeeRole .
+
+ ncal:UnionOfTimezoneObservanceEventJournalTimezoneTodo
+ a rdfs:Class ;
+ rdfs:label "UnionOfTimezoneObservanceEventJournalTimezoneTodo" ;
+ rdfs:subClassOf ncal:UnionParentClass .
+
+ ncal:tentativeParticipationStatus
+ a ncal:ParticipationStatus ;
+ rdfs:label "tentativeParticipationStatus" .
+
+ ncal:optParticipantRole
+ a ncal:AttendeeRole ;
+ rdfs:label "optParticipantRole" .
+
+ ncal:Todo
+ a rdfs:Class ;
+ rdfs:comment "Provide a grouping of calendar properties that describe a to-do." ;
+ rdfs:label "Todo" ;
+ rdfs:subClassOf ncal:UnionOfTimezoneObservanceEventJournalTimezoneTodo , ncal:UnionOfTimezoneObservanceEventFreebusyTimezoneTodo , ncal:UnionOfAlarmEventFreebusyJournalTodo , ncal:UnionOfEventJournalTimezoneTodo , ncal:UnionOfTimezoneObservanceEventFreebusyJournalTimezoneTodo , ncal:UnionOfAlarmEventJournalTodo , ncal:UnionOfAlarmEventFreebusyTodo , ncal:UnionOfEventTodo , ncal:UnionOfEventFreebusyJournalTodo , nie:InformationElement , ncal:UnionOfAlarmEventTodo , ncal:UnionOfEventJournalTodo .
+
+ ncal:busyFreebusyType
+ a ncal:FreebusyType ;
+ rdfs:label "busyFreebusyType" .
+
+ ncal:declinedParticipationStatus
+ a ncal:ParticipationStatus ;
+ rdfs:label "declinedParticipationStatus" .
+
+ ncal:freebusy
+ a rdf:Property ;
+ 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:label "freebusy" ;
+ rdfs:range ncal:FreebusyPeriod .
+
+ ncal:version
+ a rdf:Property ;
+ 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" ;
+ rdfs:domain ncal:Calendar ;
+ rdfs:label "version" ;
+ rdfs:range xsd:string ;
+ rdfs:subPropertyOf nie:generatorOption .
+
+ ncal:range
+ a rdf:Property ;
+ 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." ;
+ rdfs:domain ncal:RecurrenceIdentifier ;
+ rdfs:label "range" ;
+ rdfs:range ncal:RecurrenceIdentifierRange ;
+ nrl:maxCardinality 1 .
+
+ ncal:monthly
+ a ncal:RecurrenceFrequency ;
+ rdfs:label "monthly" .
+
+ ncal:Timezone
+ a rdfs:Class ;
+ rdfs:comment "Provide a grouping of component properties that defines a time zone." ;
+ rdfs:label "Timezone" ;
+ rdfs:subClassOf ncal:UnionOfTimezoneObservanceEventJournalTimezoneTodo , ncal:UnionOfTimezoneObservanceEventFreebusyTimezoneTodo , ncal:UnionOfTimezoneObservanceEventFreebusyJournalTimezoneTodo , ncal:UnionOfEventJournalTimezoneTodo , nie:InformationElement .
+
+ ncal:roomUserType
+ a ncal:CalendarUserType ;
+ rdfs:label "roomUserType" .
+
+ ncal:NcalPeriod
+ a rdfs:Class ;
+ rdfs:comment "A period of time. Inspired by the PERIOD datatype specified in RFC 2445 sec. 4.3.9" ;
+ rdfs:label "NcalPeriod" ;
+ rdfs:subClassOf ncal:NcalTimeEntity .
+
+ ncal:Calendar
+ a rdfs:Class ;
+ 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:label "Calendar" ;
+ rdfs:subClassOf nie:InformationElement .
+
+ ncal:todoStatus
+ a rdf:Property ;
+ 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." ;
+ rdfs:domain ncal:Todo ;
+ rdfs:label "status" ;
+ rdfs:range ncal:TodoStatus ;
+ nrl:maxCardinality 1 .
+
+ ncal:journalStatus
+ a rdf:Property ;
+ 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." ;
+ rdfs:domain ncal:Journal ;
+ rdfs:label "status" ;
+ rdfs:range ncal:JournalStatus ;
+ nrl:maxCardinality 1 .
+
+ ncal:publicClassification
+ a ncal:AccessClassification ;
+ rdfs:label "publicClassification" .
+
+ ncal:bysetpos
+ a rdf:Property ;
+ 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:label "bysetpos" ;
+ rdfs:range xsd:integer .
+
+ ncal:due
+ a rdf:Property ;
+ 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" ;
+ rdfs:domain ncal:Todo ;
+ rdfs:label "due" ;
+ rdfs:range ncal:NcalDateTime ;
+ nrl:maxCardinality 1 .
+
+ ncal:contactAltRep
+ a rdf:Property ;
+ 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.""" ;
+ rdfs:domain ncal:UnionOfEventFreebusyJournalTodo ;
+ rdfs:label "contactAltRep" ;
+ rdfs:range rdfs:Resource .
+
+ ncal:audioAction
+ a ncal:AlarmAction ;
+ rdfs:label "audioAction" .
+
+ ncal:UnionOfAlarmEventTodo
+ a rdfs:Class ;
+ rdfs:label "UnionOfAlarmEventTodo" ;
+ rdfs:subClassOf ncal:UnionParentClass .
+
+ ncal:rdate
+ a rdf:Property ;
+ 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:UnionOfTimezoneObservanceEventJournalTimezoneTodo ;
+ rdfs:label "rdate" ;
+ rdfs:range ncal:NcalTimeEntity .
+
+ ncal:recurrenceIdDateTime
+ a rdf:Property ;
+ 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." ;
+ rdfs:domain ncal:RecurrenceIdentifier ;
+ rdfs:label "recurrenceIdDateTime" ;
+ rdfs:range ncal:NcalDateTime ;
+ nrl:maxCardinality 1 .
+
+ ncal:reqParticipantRole
+ a ncal:AttendeeRole ;
+ rdfs:label "reqParticipantRole" .
+
+ ncal:returnStatus
+ a rdf:Property ;
+ 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.
+
+The short return status is a PERIOD character (US-ASCII decimal 46) separated 3-tuple of integers. For example, \"3.1.1\". The successive levels of integers provide for a successive level of status code granularity.
+
+The following are initial classes for the return status code. Individual iCalendar object methods will define specific return status codes for these classes. In addition, other classes for the return status code may be defined using the registration process defined later in this memo.
+
+ 1.xx - Preliminary success. This class of status of status code indicates that the request has request has been initially processed but that completion is pending.
+
+2.xx -Successful. This class of status code indicates that the request was completed successfuly. However, the exact status code can indicate that a fallback has been taken.
+
+3.xx - Client Error. This class of status code indicates that the request was not successful. The error is the result of either a syntax or a semantic error in the client formatted request. Request should not be retried until the condition in the request is corrected.
+
+4.xx - Scheduling Error. This class of status code indicates that the request was not successful. Some sort of error occurred within the calendaring and scheduling service, not directly related to the request itself.""" ;
+ rdfs:domain ncal:RequestStatus ;
+ rdfs:label "returnStatus" ;
+ rdfs:range xsd:string ;
+ nrl:maxCardinality 1 .
+
+ ncal:daylight
+ a rdf:Property ;
+ 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" ;
+ rdfs:domain ncal:Timezone ;
+ rdfs:label "daylight" ;
+ rdfs:range ncal:TimezoneObservance ;
+ nrl:maxCardinality 1 .
+
+ ncal:locationAltRep
+ a rdf:Property ;
+ 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.""" ;
+ rdfs:domain ncal:UnionOfEventTodo ;
+ rdfs:label "locationAltRep" ;
+ rdfs:range rdfs:Resource .
+
+ ncal:exrule
+ a rdf:Property ;
+ 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:UnionOfEventJournalTodo ;
+ rdfs:label "exrule" ;
+ rdfs:range ncal:RecurrenceRule .
+
+ ncal:hasAlarm
+ a rdf:Property ;
+ 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:domain ncal:UnionOfEventTodo ;
+ rdfs:label "hasAlarm" ;
+ rdfs:range ncal:CalendarDataObject ;
+ rdfs:subPropertyOf nie:hasPart .
+
+ ncal:TriggerRelation
+ a rdfs:Class ;
+ 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:label "TriggerRelation" ;
+ rdfs:subClassOf rdfs:Resource .
+
+ ncal:confirmedStatus
+ a ncal:EventStatus ;
+ rdfs:label "confirmedStatus" .
+
+ ncal:confidentialClassification
+ a ncal:AccessClassification ;
+ rdfs:label "confidentialClassification" .
+
+ ncal:byhour
+ a rdf:Property ;
+ rdfs:comment "Hour of recurrence. Defined in RFC 2445 sec. 4.3.10" ;
+ rdfs:domain ncal:RecurrenceRule ;
+ rdfs:label "byhour" ;
+ rdfs:range xsd:integer .
+
+ ncal:byminute
+ a rdf:Property ;
+ rdfs:comment "Minute of recurrence. Defined in RFC 2445 sec. 4.3.10" ;
+ rdfs:domain ncal:RecurrenceRule ;
+ rdfs:label "byminute" ;
+ rdfs:range xsd:integer .
+
+ ncal:resourcesAltRep
+ a rdf:Property ;
+ 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." ;
+ rdfs:domain ncal:UnionOfEventTodo ;
+ rdfs:label "resourcesAltRep" ;
+ rdfs:range rdfs:Resource .
+
+ ncal:AttendeeRole
+ a rdfs:Class ;
+ 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:label "AttendeeRole" ;
+ rdfs:subClassOf rdfs:Resource .
+
+ ncal:groupUserType
+ a ncal:CalendarUserType ;
+ rdfs:label "groupUserType" .
+
+ ncal:UnionOfTimezoneObservanceEventFreebusyTimezoneTodo
+ a rdfs:Class ;
+ rdfs:label "UnionOfTimezoneObservanceEventFreebusyTimezoneTodo" ;
+ rdfs:subClassOf ncal:UnionParentClass .
+
+ ncal:encoding
+ a rdf:Property ;
+ 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" ;
+ rdfs:domain ncal:Attachment ;
+ rdfs:label "encoding" ;
+ rdfs:range ncal:AttachmentEncoding ;
+ nrl:maxCardinality 1 .
+
+ ncal:requestStatusData
+ a rdf:Property ;
+ 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\")" ;
+ rdfs:domain ncal:RequestStatus ;
+ rdfs:label "requestStatusData" ;
+ rdfs:range xsd:string .
+
+ ncal:finalStatus
+ a ncal:JournalStatus ;
+ rdfs:label "finalStatus" .
+
+ ncal:CalendarUserType
+ a rdfs:Class ;
+ 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:label "CalendarUserType" ;
+ rdfs:subClassOf rdfs:Resource .
+
+ ncal:UnionOfEventFreebusyJournalTodo
+ a rdfs:Class ;
+ rdfs:label "UnionOfEventFreebusyJournalTodo" ;
+ rdfs:subClassOf ncal:UnionParentClass .
+
+ ncal:tzid
+ a rdf:Property ;
+ rdfs:comment "This property specifies the text value that uniquely identifies the \"VTIMEZONE\" calendar component. Inspired by RFC 2445 sec 4.8.3.1" ;
+ rdfs:domain ncal:Timezone ;
+ rdfs:label "tzid" ;
+ rdfs:range xsd:string ;
+ nrl:maxCardinality 1 .
+
+ ncal:thisAndFutureRange
+ a ncal:RecurrenceIdentifierRange ;
+ rdfs:label "thisAndFutureRange" .
+
+ ncal:categories
+ a rdf:Property ;
+ 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:UnionOfEventJournalTodo ;
+ rdfs:label "categories" ;
+ rdfs:range xsd:string .
+
+ ncal:transparentTransparency
+ a ncal:TimeTransparency ;
+ rdfs:label "transparentTransparency" .
+
+ ncal:cancelledJournalStatus
+ a ncal:JournalStatus ;
+ rdfs:label "cancelledJournalStatus" .
+
+ ncal:freq
+ a rdf:Property ;
+ rdfs:comment "Frequency of a recurrence rule. Defined in RFC 2445 sec. 4.3.10" ;
+ rdfs:domain ncal:RecurrenceRule ;
+ rdfs:label "freq" ;
+ rdfs:range ncal:RecurrenceFrequency ;
+ nrl:maxCardinality 1 .
+}
+
+<http://www.semanticdesktop.org/ontologies/2007/04/02/ncal_metadata#> {<http://www.semanticdesktop.org/ontologies/2007/04/02/ncal_metadata#>
+ a nrl:GraphMetadata ;
+ nrl:coreGraphMetadataFor
+ ncal: .
+
+ ncal:
+ a nrl:Ontology ;
+ nao:creator <http://www.dfki.uni-kl.de/~mylka> ;
+ nao:hasDefaultNamespace
+ "http://www.semanticdesktop.org/ontologies/2007/04/02/ncal#" ;
+ nao:hasDefaultNamespaceAbbreviation
+ "ncal" ;
+ nao:lastModified "2011-06-27T07:50:48.109Z" ;
+ nao:status "Unstable" ;
+ nao:updatable "0 " ;
+ nao:version "0.8.1" ;
+ nao:prefLabel "Nepomuk Calendar Ontology" ;
+ nao:description "The NEPOMUK Calendaring Ontology intends to provide vocabulary for describing calendaring data (events, tasks, journal entries) which is an important part of the body of information usually stored on a desktop. It is an adaptation of the ICALTZD ontology created by the W3C." .
+}
diff --git a/data/ontology/nco.trig b/data/ontology/nco.trig
new file mode 100644
index 00000000..446ef703
--- /dev/null
+++ b/data/ontology/nco.trig
@@ -0,0 +1,803 @@
+#
+# Copyright (c) 2007 NEPOMUK Consortium
+# Copyright (c) 2009-2011 Sebastian Trueg <trueg@kde.org>
+#
+# All rights reserved, licensed under either CC-BY or BSD.
+#
+# You are free:
+# * to Share - to copy, distribute and transmit the work
+# * to Remix - to adapt the work
+# Under the following conditions:
+# * Attribution - You must attribute the work in the manner specified by the author
+# or licensor (but not in any way that suggests that they endorse you or your use
+# of the work).
+#
+# Redistribution and use in source and binary forms, with or without modification,
+# are permitted provided that the following conditions are met:
+# * Redistributions of source code must retain the above copyright notice, this
+# list of conditions and the following disclaimer.
+# * Redistributions in binary form must reproduce the above copyright notice, this
+# list of conditions and the following disclaimer in the documentation and/or
+# other materials provided with the distribution.
+# * Neither the names of the authors nor the names of contributors may
+# be used to endorse or promote products derived from this ontology without
+# specific prior written permission.
+#
+# THIS ONTOLOGY IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+# THIS ONTOLOGY, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+#
+
+@prefix exif: <http://www.kanzaki.com/ns/exif#> .
+@prefix nid3: <http://www.semanticdesktop.org/ontologies/2007/05/10/nid3#> .
+@prefix nrl: <http://www.semanticdesktop.org/ontologies/2007/08/15/nrl#> .
+@prefix nfo: <http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#> .
+@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
+@prefix tmo: <http://www.semanticdesktop.org/ontologies/2008/05/20/tmo#> .
+@prefix protege: <http://protege.stanford.edu/system#> .
+@prefix nmo: <http://www.semanticdesktop.org/ontologies/2007/03/22/nmo#> .
+@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
+@prefix nexif: <http://www.semanticdesktop.org/ontologies/2007/05/10/nexif#> .
+@prefix ncal: <http://www.semanticdesktop.org/ontologies/2007/04/02/ncal#> .
+@prefix pimo: <http://www.semanticdesktop.org/ontologies/2007/11/01/pimo#> .
+@prefix dcterms: <http://purl.org/dc/terms/> .
+@prefix nao: <http://www.semanticdesktop.org/ontologies/2007/08/15/nao#> .
+@prefix geo: <http://www.w3.org/2003/01/geo/wgs84_pos#> .
+@prefix dc: <http://purl.org/dc/elements/1.1/> .
+@prefix nie: <http://www.semanticdesktop.org/ontologies/2007/01/19/nie#> .
+@prefix nco: <http://www.semanticdesktop.org/ontologies/2007/03/22/nco#> .
+@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
+
+nco: {nco:region
+ a rdf:Property ;
+ rdfs:comment "Region. Inspired by the fifth part of the value of the 'ADR' property as defined in RFC 2426, sec. 3.2.1" ;
+ rdfs:domain nco:PostalAddress ;
+ rdfs:label "region" ;
+ rdfs:range xsd:string ;
+ nrl:maxCardinality 1 .
+
+ nco:key
+ a rdf:Property ;
+ rdfs:comment "An encryption key attached to a contact. Inspired by the KEY property defined in RFC 2426 sec. 3.7.2" ;
+ rdfs:domain nco:Contact ;
+ rdfs:label "key" ;
+ rdfs:range nie:DataObject ;
+ rdfs:subPropertyOf nie:hasPart .
+
+ nco:nameHonorificSuffix
+ a rdf:Property ;
+ rdfs:comment "A suffix for the name of the Object represented by the given object. See documentation for the 'nameFamily' for details." ;
+ rdfs:domain nco:PersonContact ;
+ rdfs:label "nameHonorificSuffix" ;
+ rdfs:range xsd:string .
+
+ nco:url
+ a rdf:Property ;
+ 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:label "url" ;
+ rdfs:range rdfs:Resource .
+
+ nco:VoicePhoneNumber
+ a rdfs:Class ;
+ 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:label "VoicePhoneNumber" ;
+ rdfs:subClassOf nco:PhoneNumber .
+
+ nco:nameFamily
+ a rdf:Property ;
+ 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" ;
+ rdfs:domain nco:PersonContact ;
+ rdfs:label "nameFamily" ;
+ rdfs:range xsd:string ;
+ nrl:maxCardinality "1" .
+
+ nco:VideoTelephoneNumber
+ a rdfs:Class ;
+ 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:label "VideoTelephoneNumber" ;
+ rdfs:subClassOf nco:VoicePhoneNumber .
+
+ nco:contactUID
+ a rdf:Property ;
+ 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:domain nco:Contact ;
+ rdfs:label "contactUID" ;
+ rdfs:range xsd:string ;
+ rdfs:subPropertyOf nie:identifier ;
+ nrl:maxCardinality "1" .
+
+ nco:publisher
+ a rdf:Property ;
+ rdfs:comment "An entity responsible for making the InformationElement available." ;
+ rdfs:domain nie:InformationElement ;
+ rdfs:label "publisher" ;
+ rdfs:range nco:Contact ;
+ rdfs:subPropertyOf dc:publisher .
+
+ nco:country
+ a rdf:Property ;
+ rdfs:comment "A part of an address specyfing the country. Inspired by the seventh part of the value of the 'ADR' property as defined in RFC 2426, sec. 3.2.1" ;
+ rdfs:domain nco:PostalAddress ;
+ rdfs:label "country" ;
+ rdfs:range xsd:string ;
+ nrl:maxCardinality 1 .
+
+ nco:nameHonorificPrefix
+ a rdf:Property ;
+ rdfs:comment "A prefix for the name of the object represented by this Contact. See documentation for the 'nameFamily' property for details." ;
+ rdfs:domain nco:PersonContact ;
+ rdfs:label "nameHonorificPrefix" ;
+ rdfs:range xsd:string .
+
+ nco:extendedAddress
+ a rdf:Property ;
+ 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" ;
+ rdfs:domain nco:PostalAddress ;
+ rdfs:label "extendedAddress" ;
+ rdfs:range xsd:string ;
+ nrl:maxCardinality "1" .
+
+ nco:IMAccount
+ a rdfs:Class ;
+ rdfs:comment "An account in an Instant Messaging system." ;
+ rdfs:label "IMAccount" ;
+ rdfs:subClassOf nco:ContactMedium .
+
+ nco:hasIMAccount
+ a rdf:Property ;
+ rdfs:comment "Indicates that an Instant Messaging account owned by an entity represented by this contact." ;
+ rdfs:domain nco:Role ;
+ rdfs:label "hasIMAccount" ;
+ rdfs:range nco:IMAccount ;
+ rdfs:subPropertyOf nco:hasContactMedium .
+
+ nco:IsdnNumber
+ a rdfs:Class ;
+ 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:label "IsdnNumber" ;
+ rdfs:subClassOf nco:VoicePhoneNumber .
+
+ nco:creator
+ a rdf:Property ;
+ rdfs:comment "Creator of an information element, an entity primarily responsible for the creation of the content of the data object." ;
+ rdfs:domain nie:InformationElement ;
+ rdfs:label "creator" ;
+ rdfs:range nco:Contact ;
+ rdfs:subPropertyOf dc:creator , nco:contributor , nao:creator .
+
+ nco:hasLocation
+ a rdf:Property ;
+ rdfs:comment "Geographical location of the contact. Inspired by the 'GEO' property specified in RFC 2426 Sec. 3.4.2" ;
+ rdfs:domain nco:Contact ;
+ rdfs:label "hasLocation" ;
+ rdfs:range geo:Point ;
+ nrl:maxCardinality "1" .
+
+ nco:phoneNumber
+ a rdf:Property ;
+ rdfs:domain nco:PhoneNumber ;
+ rdfs:label "phoneNumber" ;
+ rdfs:range xsd:string ;
+ nrl:maxCardinality "1" .
+
+ nco:nickname
+ a rdf:Property ;
+ rdfs:comment "A nickname of the Object represented by this Contact. This is an equivalent of the 'NICKNAME' property as defined in RFC 2426 Sec. 3.1.3." ;
+ rdfs:domain nco:Contact ;
+ rdfs:label "nickname" ;
+ rdfs:range xsd:string .
+
+ nco:imStatus
+ a rdf:Property ;
+ rdfs:comment "Current status of the given IM account. When this property is set, the nco:imStatusType should also always be set. Applications should attempt to parse this property to determine the presence, only falling back to the nco:imStatusType property in the case that this property's value is unrecognised. Values for this property may include 'available', 'offline', 'busy' etc. The exact choice of them is unspecified, although it is recommended to follow the guidance of the Telepathy project when choosing a string identifier http://telepathy.freedesktop.org/spec/Connection_Interface_Simple_Presence.html#description" ;
+ rdfs:domain nco:IMAccount ;
+ rdfs:label "imStatus" ;
+ rdfs:range xsd:string ;
+ nrl:maxCardinality 1 .
+
+ nco:imStatusType
+ a rdf:Property ;
+ rdfs:comment "Current status type of the given IM account. When this property is set, the nco:imStatus property should also always be set. Applications should attempt to parse the nco:imStatus property to determine the presence, only falling back to this property in the case that the nco:imStatus property's value is unrecognised." ;
+ rdfs:domain nco:IMAccount ;
+ rdfs:label "instant messaging status type" ;
+ rdfs:range nco:IMStatusType ;
+ nrl:maxCardinality 1 .
+
+ nco:IMStatusType a rdfs:Class ;
+ rdfs:label "instant messaging status type" ;
+ rdfs:comment "The status type of an IMAccount. Based on the Connection_Presence_Type enumeration of the Telepathy project: http://telepathy.freedesktop.org/spec/Connection_Interface_Simple_Presence.html#Enum:Connection_Presence_Type" ;
+ rdfs:subClassOf rdfs:Resource .
+
+ nco:IMStatusTypeOffline
+ a nco:IMStatusType ;
+ rdfs:label "offline" .
+
+ nco:IMStatusTypeAvailable
+ a nco:IMStatusType ;
+ rdfs:label "available" .
+
+ nco:IMStatusTypeAway
+ a nco:IMStatusType ;
+ rdfs:label "away" .
+
+ nco:IMStatusTypeExtendedAway
+ a nco:IMStatusType ;
+ rdfs:label "extended away".
+
+ nco:IMStatusTypeHidden
+ a nco:IMStatusType ;
+ rdfs:label "hidden" .
+
+ nco:IMStatusTypeBusy
+ a nco:IMStatusType ;
+ rdfs:label "busy" .
+
+ nco:IMStatusTypeUnknown
+ a nco:IMStatusType ;
+ rdfs:label "unknown" .
+
+ nco:containsContact
+ a rdf:Property ;
+ 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:domain nco:ContactList ;
+ rdfs:label "containsContact" ;
+ rdfs:range nco:ContactListDataObject ;
+ rdfs:subPropertyOf nie:hasPart .
+
+ nco:department
+ a rdf:Property ;
+ rdfs:comment "Department. The organizational unit within the organization." ;
+ rdfs:domain nco:Affiliation ;
+ rdfs:label "department" ;
+ rdfs:range xsd:string .
+
+ nco:imID
+ a rdf:Property ;
+ rdfs:comment "Identifier of the IM account. Examples of such identifier might include ICQ UINs, Jabber IDs, Skype names etc." ;
+ rdfs:domain nco:IMAccount ;
+ rdfs:label "imID" ;
+ rdfs:range xsd:string ;
+ rdfs:subPropertyOf nao:identifier .
+
+ nco:addressLocation
+ a rdf:Property ;
+ rdfs:comment "The geographical location of a postal address." ;
+ rdfs:domain nco:PostalAddress ;
+ rdfs:label "addressLocation" ;
+ rdfs:range geo:Point ;
+ nrl:maxCardinality "1" .
+
+ nco:note
+ a rdf:Property ;
+ 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:label "note" ;
+ rdfs:range xsd:string ;
+ rdfs:subPropertyOf nie:description .
+
+ nco:representative
+ a rdf:Property ;
+ 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" ;
+ rdfs:domain nco:Contact ;
+ rdfs:label "representative" ;
+ rdfs:range nco:Contact .
+
+ nco:nameAdditional
+ a rdf:Property ;
+ rdfs:comment "Additional given name of an object represented by this contact. See documentation for 'nameFamily' property for details." ;
+ rdfs:domain nco:PersonContact ;
+ rdfs:label "nameAdditional" ;
+ rdfs:range xsd:string .
+
+ nco:nameGiven
+ a rdf:Property ;
+ rdfs:comment "The given name for the object represented by this Contact. See documentation for 'nameFamily' property for details." ;
+ rdfs:domain nco:PersonContact ;
+ rdfs:label "nameGiven" ;
+ rdfs:range xsd:string ;
+ nrl:maxCardinality "1" .
+
+ nco:PcsNumber
+ a rdfs:Class ;
+ 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:label "PcsNumber" ;
+ rdfs:subClassOf nco:VoicePhoneNumber .
+
+ nco:ContactList
+ a rdfs:Class ;
+ 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:label "ContactList" ;
+ rdfs:subClassOf nie:InformationElement .
+
+ nco:fullname
+ a rdf:Property ;
+ 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:domain nco:Contact ;
+ rdfs:label "fullname" ;
+ rdfs:range xsd:string ;
+ nrl:maxCardinality "1" ;
+ rdfs:subPropertyOf nie:title .
+
+ nco:ContactGroup
+ a rdfs:Class ;
+ 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:label "ContactGroup" ;
+ rdfs:subClassOf nie:InformationElement .
+
+ nco:BbsNumber
+ a rdfs:Class ;
+ 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:label "BbsNumber" ;
+ rdfs:subClassOf nco:ModemNumber .
+
+ nco:Affiliation
+ a rdfs:Class ;
+ 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:label "Affiliation" ;
+ rdfs:subClassOf nco:Role .
+
+ nco:streetAddress
+ a rdf:Property ;
+ 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" ;
+ rdfs:domain nco:PostalAddress ;
+ rdfs:label "streetAddress" ;
+ rdfs:range xsd:string ;
+ nrl:maxCardinality "1" .
+
+ nco:OrganizationContact
+ a rdfs:Class ;
+ rdfs:comment "A Contact that denotes on Organization." ;
+ rdfs:label "OrganizationContact" ;
+ rdfs:subClassOf nco:Contact .
+
+ nco:PhoneNumber
+ a rdfs:Class ;
+ rdfs:comment "A telephone number." ;
+ rdfs:label "PhoneNumber" ;
+ rdfs:subClassOf nco:ContactMedium .
+
+ nco:Contact
+ a rdfs:Class ;
+ rdfs:comment "A Contact. A piece of data that can provide means to identify or communicate with an entity." ;
+ rdfs:label "Contact" ;
+ rdfs:subClassOf nco:Role , nie:InformationElement , nao:Party .
+
+ nco:ModemNumber
+ a rdfs:Class ;
+ 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:label "ModemNumber" ;
+ rdfs:subClassOf nco:PhoneNumber .
+
+ nco:Role
+ a rdfs:Class ;
+ 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:label "Role" ;
+ rdfs:subClassOf rdfs:Resource .
+
+ nco:PagerNumber
+ a rdfs:Class ;
+ 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:label "PagerNumber" ;
+ rdfs:subClassOf nco:MessagingNumber .
+
+ nco:hasPhoneNumber
+ a rdf:Property ;
+ 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:domain nco:Role ;
+ rdfs:label "hasPhoneNumber" ;
+ rdfs:range nco:PhoneNumber ;
+ rdfs:subPropertyOf nco:hasContactMedium .
+
+ nco:photo
+ a rdf:Property ;
+ rdfs:comment "Photograph attached to a Contact. The DataObject referred to by this property is usually interpreted as an nfo:Image. Inspired by the PHOTO property defined in RFC 2426 sec. 3.1.4" ;
+ rdfs:domain nco:Contact ;
+ rdfs:label "photo" ;
+ rdfs:range nie:DataObject ;
+ rdfs:subPropertyOf nie:hasPart .
+
+ nco:contributor
+ a rdf:Property ;
+ rdfs:comment "An entity responsible for making contributions to the content of the InformationElement." ;
+ rdfs:domain nie:InformationElement ;
+ rdfs:label "contributor" ;
+ rdfs:range nco:Contact ;
+ rdfs:subPropertyOf dc:contributor , nao:contributor .
+
+ nco:logo
+ a rdf:Property ;
+ rdfs:comment "Logo of a company. Inspired by the LOGO property defined in RFC 2426 sec. 3.5.3" ;
+ rdfs:domain nco:OrganizationContact ;
+ rdfs:label "logo" ;
+ rdfs:range nie:DataObject ;
+ rdfs:subPropertyOf nie:hasPart .
+
+ nco:websiteUrl
+ a rdf:Property ;
+ rdfs:comment "A url of a website." ;
+ rdfs:domain nco:Role ;
+ rdfs:label "websiteUrl" ;
+ rdfs:range rdfs:Resource ;
+ rdfs:subPropertyOf nco:url .
+
+ nco:ContactMedium
+ a rdfs:Class ;
+ 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:label "ContactMedium" ;
+ rdfs:subClassOf rdfs:Resource .
+
+ nco:Gender
+ a rdfs:Class ;
+ rdfs:comment "Gender. Instances of this class may include male and female." ;
+ rdfs:label "Gender" ;
+ rdfs:subClassOf rdfs:Resource .
+
+ nco:male
+ a nco:Gender ;
+ rdfs:comment "A Male" ;
+ rdfs:label "male" .
+
+ nco:birthDate
+ a rdf:Property ;
+ 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:domain nco:Contact ;
+ rdfs:label "birthDate" ;
+ rdfs:range xsd:date ;
+ rdfs:subPropertyOf dc:date ;
+ nrl:maxCardinality 1 .
+
+ nco:hasEmailAddress
+ a rdf:Property ;
+ 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:domain nco:Role ;
+ rdfs:label "hasEmailAddress" ;
+ rdfs:range nco:EmailAddress ;
+ rdfs:subPropertyOf nco:hasContactMedium .
+
+ nco:postalcode
+ a rdf:Property ;
+ 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" ;
+ rdfs:domain nco:PostalAddress ;
+ rdfs:label "postalcode" ;
+ rdfs:range xsd:string ;
+ nrl:maxCardinality 1 .
+
+ nco:MessagingNumber
+ a rdfs:Class ;
+ rdfs:comment "A number that can accept textual messages." ;
+ rdfs:label "MessagingNumber" ;
+ rdfs:subClassOf nco:PhoneNumber .
+
+ nco:org
+ a rdf:Property ;
+ 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" ;
+ rdfs:domain nco:Affiliation ;
+ rdfs:label "org" ;
+ rdfs:range nco:OrganizationContact ;
+ nrl:maxCardinality "1" .
+
+ nco:PersonContact
+ a rdfs:Class ;
+ rdfs:comment "A Contact that denotes a Person. A person can have multiple Affiliations." ;
+ rdfs:label "PersonContact" ;
+ rdfs:subClassOf nco:Contact .
+
+ nco:ParcelDeliveryAddress
+ a rdfs:Class ;
+ rdfs:comment "Parcel Delivery Addresse. Class inspired by TYPE=parcel parameter of the ADR property defined in RFC 2426 sec. 3.2.1" ;
+ rdfs:label "ParcelDeliveryAddress" ;
+ rdfs:subClassOf nco:PostalAddress .
+
+ nco:title
+ a rdf:Property ;
+ rdfs:comment "The official title the object represented by this contact in an organization. E.g. 'CEO', 'Director, Research and Development', 'Junior Software Developer/Analyst' etc. An equivalent of the 'TITLE' property defined in RFC 2426 Sec. 3.5.1" ;
+ rdfs:domain nco:Affiliation ;
+ rdfs:label "title" ;
+ rdfs:range xsd:string ;
+ nrl:maxCardinality "1" .
+
+ nco:AudioIMAccount
+ a rdfs:Class ;
+ nao:deprecated true ;
+ rdfs:comment "Deprecated in favour of nco:imCapabilityAudio." ;
+ rdfs:label "AudioIMAccount" ;
+ rdfs:subClassOf nco:IMAccount .
+
+ nco:voiceMail
+ a rdf:Property ;
+ 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" ;
+ rdfs:domain nco:VoicePhoneNumber ;
+ rdfs:label "voiceMail" ;
+ rdfs:range xsd:boolean ;
+ nrl:maxCardinality "1" .
+
+ nco:PostalAddress
+ a rdfs:Class ;
+ 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:label "PostalAddress" ;
+ rdfs:subClassOf nco:ContactMedium .
+
+ nco:belongsToGroup
+ a rdf:Property ;
+ rdfs:comment "Links a Contact with a ContactGroup it belongs to." ;
+ rdfs:domain nco:Contact ;
+ rdfs:label "addressLocation" ;
+ rdfs:range nco:ContactGroup .
+
+ nco:hasContactMedium
+ a rdf:Property ;
+ rdfs:comment "A superProperty for all properties linking a Contact to an instance of a contact medium." ;
+ rdfs:domain nco:Role ;
+ rdfs:label "hasContactMedium" ;
+ rdfs:range nco:ContactMedium .
+
+ nco:contactGroupName
+ a rdf:Property ;
+ 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:domain nco:ContactGroup ;
+ rdfs:label "contactGroupName" ;
+ rdfs:range xsd:string ;
+ rdfs:subPropertyOf dc:title ;
+ nrl:maxCardinality 1 .
+
+ nco:FaxNumber
+ a rdfs:Class ;
+ 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:label "FaxNumber" ;
+ rdfs:subClassOf nco:PhoneNumber .
+
+ nco:contactMediumComment
+ a rdf:Property ;
+ rdfs:comment "A comment about the contact medium. (Deprecated in favor of nie:comment or nao:description - based on the context)" ;
+ rdfs:domain nco:ContactMedium ;
+ rdfs:label "contactMediumComment" ;
+ rdfs:range xsd:string ;
+ nao:deprecated true.
+
+ nco:foafUrl
+ a rdf:Property ;
+ rdfs:comment "The URL of the FOAF file." ;
+ rdfs:domain nco:Role ;
+ rdfs:label "foafUrl" ;
+ rdfs:range rdfs:Resource ;
+ rdfs:subPropertyOf nco:url .
+
+ nco:CarPhoneNumber
+ a rdfs:Class ;
+ 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:label "CarPhoneNumber" ;
+ rdfs:subClassOf nco:VoicePhoneNumber .
+
+ nco:ContactListDataObject
+ a rdfs:Class ;
+ rdfs:comment "An entity occuring on a contact list (usually interpreted as an nco:Contact)" ;
+ rdfs:label "ContactListDataObject" ;
+ rdfs:subClassOf nie:DataObject .
+
+ nco:emailAddress
+ a rdf:Property ;
+ rdfs:domain nco:EmailAddress ;
+ rdfs:label "emailAddress" ;
+ rdfs:range xsd:string ;
+ nrl:maxCardinality 1 .
+
+ nco:InternationalDeliveryAddress
+ a rdfs:Class ;
+ rdfs:comment "International Delivery Addresse. Class inspired by TYPE=intl parameter of the ADR property defined in RFC 2426 sec. 3.2.1" ;
+ rdfs:label "InternationalDeliveryAddress" ;
+ rdfs:subClassOf nco:PostalAddress .
+
+ nco:locality
+ a rdf:Property ;
+ 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" ;
+ rdfs:domain nco:PostalAddress ;
+ rdfs:label "locality" ;
+ rdfs:range xsd:string ;
+ nrl:maxCardinality 1 .
+
+ nco:VideoIMAccount
+ a rdfs:Class ;
+ nao:deprecated true ;
+ rdfs:comment "Deprecated in favour of nco:imCapabilityVideo." ;
+ rdfs:label "VideoIMAccount" ;
+ rdfs:subClassOf nco:AudioIMAccount .
+
+ nco:sound
+ a rdf:Property ;
+ rdfs:comment "Sound clip attached to a Contact. The DataObject referred to by this property is usually interpreted as an nfo:Audio. Inspired by the SOUND property defined in RFC 2425 sec. 3.6.6." ;
+ rdfs:domain nco:Contact ;
+ rdfs:label "sound" ;
+ rdfs:range nie:DataObject ;
+ rdfs:subPropertyOf nie:hasPart .
+
+ nco:EmailAddress
+ a rdfs:Class ;
+ rdfs:comment "An email address. The recommended best practice is to use mailto: uris for instances of this class." ;
+ rdfs:label "EmailAddress" ;
+ rdfs:subClassOf nco:ContactMedium .
+
+ nco:imNickname
+ a rdf:Property ;
+ rdfs:comment "A nickname attached to a particular IM Account." ;
+ rdfs:domain nco:IMAccount ;
+ rdfs:label "imNickname" ;
+ rdfs:range xsd:string .
+
+ nco:hobby
+ a rdf:Property ;
+ rdfs:comment "A hobby associated with a PersonContact. This property can be used to express hobbies and interests." ;
+ rdfs:domain nco:PersonContact ;
+ rdfs:label "hobby" ;
+ rdfs:range xsd:string .
+
+ nco:blogUrl
+ a rdf:Property ;
+ rdfs:comment "A Blog url." ;
+ rdfs:domain nco:Role ;
+ rdfs:label "blogUrl" ;
+ rdfs:range rdfs:Resource ;
+ rdfs:subPropertyOf nco:url .
+
+ nco:CellPhoneNumber
+ a rdfs:Class ;
+ 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:label "CellPhoneNumber" ;
+ rdfs:subClassOf nco:MessagingNumber , nco:VoicePhoneNumber .
+
+ nco:role
+ a rdf:Property ;
+ rdfs:comment "Role an object represented by this contact represents in the organization. This might include 'Programmer', 'Manager', 'Sales Representative'. Be careful to avoid confusion with the title property. An equivalent of the 'ROLE' property as defined in RFC 2426. Sec. 3.5.2. Note the difference between nco:Role class and nco:role property." ;
+ rdfs:domain nco:Affiliation ;
+ rdfs:label "role" ;
+ rdfs:range xsd:string .
+
+ nco:DomesticDeliveryAddress
+ a rdfs:Class ;
+ rdfs:comment "Domestic Delivery Addresse. Class inspired by TYPE=dom parameter of the ADR property defined in RFC 2426 sec. 3.2.1" ;
+ rdfs:label "DomesticDeliveryAddress" ;
+ rdfs:subClassOf nco:PostalAddress .
+
+ nco:female
+ a nco:Gender ;
+ rdfs:comment "A Female" ;
+ rdfs:label "female" .
+
+ nco:hasPostalAddress
+ a rdf:Property ;
+ rdfs:comment "The default Address for a Contact. An equivalent of the 'ADR' property as defined in RFC 2426 Sec. 3.2.1." ;
+ rdfs:domain nco:Role ;
+ rdfs:label "hasPostalAddress" ;
+ rdfs:range nco:PostalAddress ;
+ rdfs:subPropertyOf nco:hasContactMedium .
+
+ nco:imAccountType
+ a rdf:Property ;
+ 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" ;
+ rdfs:domain nco:IMAccount ;
+ rdfs:label "imAccountType" ;
+ rdfs:range xsd:string ;
+ nrl:maxCardinality "1" .
+
+ nco:pobox
+ a rdf:Property ;
+ 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" ;
+ rdfs:domain nco:PostalAddress ;
+ rdfs:label "pobox" ;
+ rdfs:range xsd:string ;
+ nrl:maxCardinality "1".
+
+ nco:hasAffiliation
+ a rdf:Property ;
+ rdfs:comment "Links a PersonContact with an Affiliation." ;
+ rdfs:domain nco:PersonContact ;
+ rdfs:label "hasAffiliation" ;
+ rdfs:range nco:Affiliation .
+
+ nco:gender
+ a rdf:Property ;
+ rdfs:comment "Gender of the given contact." ;
+ rdfs:domain nco:PersonContact ;
+ rdfs:label "gender" ;
+ rdfs:range nco:Gender ;
+ nrl:maxCardinality 1 .
+
+ nco:imStatusMessage
+ a rdf:Property ;
+ rdfs:comment "A feature common in most IM systems. A message left by the user for all his/her contacts to see." ;
+ rdfs:domain nco:IMAccount ;
+ rdfs:label "imStatusMessage" ;
+ rdfs:range xsd:string ;
+ nrl:maxCardinality "1" .
+
+ nco:start
+ a rdf:Property ;
+ rdfs:comment "Start datetime for the role, such as: the datetime of joining a project or organization, datetime of starting employment, datetime of marriage" ;
+ rdfs:label "start" ;
+ rdfs:domain nco:Role ;
+ rdfs:range xsd:dateTime ;
+ nrl:maxCardinality 1 .
+
+ nco:end
+ a rdf:Property;
+ rdfs:comment "End datetime for the role, such as: the datetime of leaving a project or organization, datetime of ending employment, datetime of divorce. If absent or set to a date in the future, the role is currently active." ;
+ rdfs:label "end" ;
+ rdfs:domain nco:Role ;
+ rdfs:range xsd:dateTime ;
+ nrl:maxCardinality 1 .
+
+ nco:IMCapability a rdfs:Class ;
+ rdfs:label "imCapability" ;
+ rdfs:comment "Capabilities of a cetain IMAccount." ;
+ rdfs:subClassOf rdfs:Resource .
+
+ nco:imCapabilityText a nco:IMCapability .
+ nco:imCapabilityAudio a nco:IMCapability .
+ nco:imCapabilityVideo a nco:IMCapability .
+
+ nco:hasIMCapability
+ a rdf:Property ;
+ rdfs:comment "Indicates that an IMAccount has a certain capability." ;
+ rdfs:domain nco:IMAccount ;
+ rdfs:label "hasIMCapability" ;
+ rdfs:range nco:IMCapability .
+
+ nco:isAccessedBy
+ a rdf:Property ;
+ rdfs:comment "Indicates the local IMAccount by which this IMAccount is accessed. This does not imply membership of a contact list." ;
+ rdfs:label "isKnownBy" ;
+ rdfs:domain nco:IMAccount ;
+ rdfs:range nco:IMAccount .
+
+ nco:publishesPresenceTo
+ a rdf:Property ;
+ rdfs:comment "Indicates that this IMAccount publishes its presence information to the other IMAccount." ;
+ rdfs:label "publishesPresenceTo" ;
+ rdfs:domain nco:IMAccount ;
+ rdfs:range nco:IMAccount .
+
+ nco:requestedPresenceSubscriptionTo
+ a rdf:Property ;
+ rdfs:comment "Indicates that this IMAccount has requested a subscription to the presence information of the other IMAccount." ;
+ rdfs:label "requestedPresenceSubscriptionTo" ;
+ rdfs:domain nco:IMAccount ;
+ rdfs:range nco:IMAccount .
+
+ nco:isBlocked
+ a rdf:Property ;
+ rdfs:comment "Indicates that this IMAccount has been blocked." ;
+ rdfs:domain nco:IMAccount ;
+ rdfs:label "isBlocked" ;
+ rdfs:range xsd:boolean ;
+ nrl:maxCardinality "1" .
+}
+
+<http://www.semanticdesktop.org/ontologies/2007/03/22/nco_metadata#> {nco: a nrl:Ontology ;
+ nao:creator <http://www.dfki.uni-kl.de/~mylka> ;
+ nao:hasDefaultNamespace
+ "http://www.semanticdesktop.org/ontologies/2007/03/22/nco#" ;
+ nao:hasDefaultNamespaceAbbreviation
+ "nco" ;
+ nao:lastModified "2011-07-15T09:00:58Z" ;
+ nao:status "Unstable" ;
+ nao:updatable "0 " ;
+ nao:version "0.8.1" ;
+ nao:prefLabel "Nepomuk Contact Ontology" ;
+ nao:description "The Nepomuk Contact Ontology describes contact information, common in many places on the desktop. It evolved from the VCARD specification (RFC 2426) and has been inspired by the Vcard Ontology by Renato Ianella. The scope of NCO is much broader though." .
+
+ <http://www.semanticdesktop.org/ontologies/2007/03/22/nco_metadata#>
+ a nrl:GraphMetadata ;
+ nrl:coreGraphMetadataFor
+ nco: .
+}
diff --git a/data/ontology/nfo.trig b/data/ontology/nfo.trig
new file mode 100644
index 00000000..31452363
--- /dev/null
+++ b/data/ontology/nfo.trig
@@ -0,0 +1,957 @@
+#
+# Copyright (c) 2007 NEPOMUK Consortium
+# Copyright (c) 2011 Sebastian Trueg <trueg@kde.org>
+# All rights reserved, licensed under either CC-BY or BSD.
+#
+# You are free:
+# * to Share - to copy, distribute and transmit the work
+# * to Remix - to adapt the work
+# Under the following conditions:
+# * Attribution - You must attribute the work in the manner specified by the author
+# or licensor (but not in any way that suggests that they endorse you or your use
+# of the work).
+#
+# Redistribution and use in source and binary forms, with or without modification,
+# are permitted provided that the following conditions are met:
+# * Redistributions of source code must retain the above copyright notice, this
+# list of conditions and the following disclaimer.
+# * Redistributions in binary form must reproduce the above copyright notice, this
+# list of conditions and the following disclaimer in the documentation and/or
+# other materials provided with the distribution.
+# * Neither the names of the authors nor the names of contributors may
+# be used to endorse or promote products derived from this ontology without
+# specific prior written permission.
+#
+# THIS ONTOLOGY IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+# THIS ONTOLOGY, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+#
+
+@prefix dc: <http://purl.org/dc/elements/1.1/> .
+@prefix exif: <http://www.kanzaki.com/ns/exif#> .
+@prefix geo: <http://www.w3.org/2003/01/geo/wgs84_pos#> .
+@prefix protege: <http://protege.stanford.edu/system#> .
+@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 ncal: <http://www.semanticdesktop.org/ontologies/2007/04/02/ncal#> .
+@prefix nco: <http://www.semanticdesktop.org/ontologies/2007/03/22/nco#> .
+@prefix dcterms: <http://purl.org/dc/terms/> .
+@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
+@prefix pimo: <http://www.semanticdesktop.org/ontologies/2007/11/01/pimo#> .
+@prefix nmo: <http://www.semanticdesktop.org/ontologies/2007/03/22/nmo#> .
+@prefix nrl: <http://www.semanticdesktop.org/ontologies/2007/08/15/nrl#> .
+@prefix tmo: <http://www.semanticdesktop.org/ontologies/2008/05/20/tmo#> .
+@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
+@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
+@prefix nid3: <http://www.semanticdesktop.org/ontologies/2007/05/10/nid3#> .
+@prefix nexif: <http://www.semanticdesktop.org/ontologies/2007/05/10/nexif#> .
+
+nfo: {nfo:horizontalResolution
+ a rdf:Property ;
+ rdfs:comment "Horizontal resolution of an image (if printed). Expressed in DPI." ;
+ rdfs:domain nfo:Image ;
+ rdfs:label "horizontalResolution" ;
+ rdfs:range xsd:integer ;
+ nrl:maxCardinality 1 .
+
+ nfo:sampleRate
+ a rdf:Property ;
+ rdfs:comment "The amount of audio samples per second." ;
+ rdfs:domain nfo:Audio ;
+ rdfs:label "sampleRate" ;
+ rdfs:range xsd:float ;
+ rdfs:subPropertyOf nfo:rate ;
+ nrl:maxCardinality 1 .
+
+ nfo:HardDiskPartition
+ a rdfs:Class ;
+ rdfs:comment "A partition on a hard disk" ;
+ rdfs:label "HardDiskPartition" ;
+ rdfs:subClassOf nie:DataObject .
+
+ nfo:fileName
+ a rdf:Property ;
+ rdfs:subPropertyOf nao:prefLabel ;
+ rdfs:comment "Name of the file, together with the extension" ;
+ rdfs:domain nfo:FileDataObject ;
+ rdfs:label "fileName" ;
+ nrl:maxCardinality "1" ;
+ rdfs:range xsd:string .
+
+ nfo:MediaStream
+ a rdfs:Class ;
+ 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:label "MediaStream" ;
+ rdfs:subClassOf nie:DataObject .
+
+ nfo:Presentation
+ a rdfs:Class ;
+ rdfs:comment "A Presentation made by some presentation software (Corel Presentations, OpenOffice Impress, MS Powerpoint etc.)" ;
+ rdfs:label "Presentation" ;
+ rdfs:subClassOf nfo:Document .
+
+ nfo:Audio
+ a rdfs:Class ;
+ rdfs:comment "A file containing audio content" ;
+ rdfs:label "Audio" ;
+ rdfs:subClassOf nfo:Media .
+
+ nfo:hashAlgorithm
+ a rdf:Property ;
+ rdfs:comment "Name of the algorithm used to compute the hash value. Examples might include CRC32, MD5, SHA, TTH etc." ;
+ rdfs:domain nfo:FileHash ;
+ rdfs:label "hashAlgorithm" ;
+ rdfs:range xsd:string ;
+ nrl:maxCardinality 1 .
+
+ nfo:commentCharacterCount
+ a rdf:Property ;
+ rdfs:comment "The amount of character in comments i.e. characters ignored by the compiler/interpreter." ;
+ rdfs:domain nfo:SourceCode ;
+ rdfs:label "commentCharacterCount" ;
+ rdfs:range xsd:integer ;
+ nrl:maxCardinality 1 .
+
+ nfo:PlainTextDocument
+ a rdfs:Class ;
+ rdfs:comment "A file containing plain text (ASCII, Unicode or other encodings). Examples may include TXT, HTML, XML, program source code etc." ;
+ rdfs:label "PlainTextDocument" ;
+ rdfs:subClassOf nfo:TextDocument .
+
+ nfo:foundry
+ a rdf:Property ;
+ rdfs:comment "The foundry, the organization that created the font." ;
+ rdfs:domain nfo:Font ;
+ rdfs:label "foundry" ;
+ rdfs:range nco:Contact ;
+ rdfs:subPropertyOf nco:creator ;
+ nrl:maxCardinality 1 .
+
+ nfo:losslessCompressionType
+ a nfo:CompressionType ;
+ rdfs:label "losslessCompressionType" .
+
+ nfo:sideChannels
+ a rdf:Property ;
+ rdfs:comment "Number of side channels" ;
+ rdfs:label "sideChannels" ;
+ rdfs:range xsd:integer ;
+ rdfs:subPropertyOf nfo:channels ;
+ nrl:maxCardinality 1 .
+
+ nfo:interlaceMode
+ a rdf:Property ;
+ rdfs:comment "True if the image is interlaced, false if not." ;
+ rdfs:domain nfo:Visual ;
+ rdfs:label "interlaceMode" ;
+ rdfs:range xsd:boolean ;
+ nrl:maxCardinality 1 .
+
+ nfo:width
+ a rdf:Property ;
+ rdfs:comment "Visual content width in pixels." ;
+ rdfs:domain nfo:Visual ;
+ rdfs:label "width" ;
+ rdfs:range xsd:integer ;
+ nrl:maxCardinality 1 .
+
+ nfo:frameCount
+ a rdf:Property ;
+ rdfs:comment "The amount of frames in a video sequence." ;
+ rdfs:domain nfo:Video ;
+ rdfs:label "frameCount" ;
+ rdfs:range xsd:integer ;
+ rdfs:subPropertyOf nfo:count ;
+ nrl:maxCardinality 1 .
+
+ nfo:MediaFileListEntry
+ a rdfs:Class ;
+ 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:label "MediaFileListEntry" ;
+ rdfs:subClassOf rdfs:Resource .
+
+ nfo:Filesystem
+ a rdfs:Class ;
+ rdfs:comment "A filesystem. Examples of filesystems include hard disk partitions, removable media, but also images thereof stored in files such as ISO." ;
+ rdfs:label "Filesystem" ;
+ rdfs:subClassOf nfo:DataContainer .
+
+ nfo:filesystemType
+ a rdf:Property ;
+ rdfs:comment "Type of filesystem such as ext3 and ntfs." ;
+ rdfs:domain nfo:Filesystem ;
+ rdfs:range xsd:string ;
+ rdfs:label "filesystemType" ;
+ nrl:maxCardinality 1 .
+
+ nfo:totalSpace
+ a rdf:Property ;
+ rdfs:comment "Total storage space of the filesystem, which can be different from nie:contentSize because the latter includes filesystem format overhead." ;
+ rdfs:domain nfo:Filesystem ;
+ rdfs:range xsd:integer ;
+ rdfs:label "totalSpace" ;
+ nrl:maxCardinality 1 .
+
+ nfo:freeSpace
+ a rdf:Property ;
+ rdfs:comment "Unoccupied storage space of the filesystem." ;
+ rdfs:domain nfo:Filesystem ;
+ rdfs:range xsd:integer ;
+ rdfs:label "freeSpace" ;
+ nrl:maxCardinality 1 .
+
+ nfo:occupiedSpace
+ a rdf:Property ;
+ rdfs:comment "Occupied storage space of the filesystem." ;
+ rdfs:domain nfo:Filesystem ;
+ rdfs:range xsd:integer ;
+ rdfs:label "occupiedSpace" ;
+ nrl:maxCardinality 1 .
+
+ nfo:uuid
+ a rdf:Property ;
+ rdfs:subPropertyOf nie:identifier ;
+ rdfs:comment "Universally unique identifier of the filesystem. In the future, this property may have its parent changed to a more generic class." ;
+ rdfs:domain nfo:Filesystem ;
+ rdfs:range xsd:string ;
+ rdfs:label "uuid" .
+
+ nfo:definesFunction
+ a rdf:Property ;
+ rdfs:comment "A name of a function/method defined in the given source code file." ;
+ rdfs:domain nfo:SourceCode ;
+ rdfs:label "definesFunction" ;
+ rdfs:range xsd:string .
+
+ nfo:Archive
+ a rdfs:Class ;
+ rdfs:comment "A compressed file. May contain other files or folder inside. " ;
+ rdfs:label "Archive" ;
+ rdfs:subClassOf nfo:DataContainer .
+
+ nfo:permissions
+ a rdf:Property ;
+ rdfs:comment "A string containing the permissions of a file. A feature common in many UNIX-like operating systems." ;
+ rdfs:domain nfo:FileDataObject ;
+ rdfs:label "permissions" ;
+ rdfs:range xsd:string ;
+ nrl:maxCardinality 1 .
+
+ nfo:lineCount
+ a rdf:Property ;
+ rdfs:comment "The amount of lines in a text document" ;
+ rdfs:domain nfo:TextDocument ;
+ rdfs:label "lineCount" ;
+ rdfs:range xsd:integer ;
+ nrl:maxCardinality 1 .
+
+ nfo:SoftwareItem
+ a rdfs:Class ;
+ rdfs:comment "A DataObject representing a piece of software. Examples of interpretations of a SoftwareItem include an Application and an OperatingSystem." ;
+ rdfs:label "SoftwareItem" ;
+ rdfs:subClassOf nie:DataObject .
+
+ nfo:SourceCode
+ a rdfs:Class ;
+ rdfs:comment "Code in a compilable or interpreted programming language." ;
+ rdfs:label "SourceCode" ;
+ rdfs:subClassOf nfo:PlainTextDocument .
+
+ nfo:wordCount
+ a rdf:Property ;
+ rdfs:comment "The amount of words in a text document." ;
+ rdfs:domain nfo:TextDocument ;
+ rdfs:label "wordCount" ;
+ rdfs:range xsd:integer ;
+ nrl:maxCardinality 1 .
+
+ nfo:bookmarks
+ a rdf:Property ;
+ rdfs:comment "The address of the linked object. Usually a web URI." ;
+ rdfs:domain nfo:Bookmark ;
+ rdfs:label "link" ;
+ rdfs:range nie:DataObject ;
+ rdfs:subPropertyOf nie:links ;
+ nrl:cardinality 1 .
+
+ nfo:characterPosition
+ a rdf:Property ;
+ rdfs:comment "Character position of the bookmark." ;
+ rdfs:domain nfo:Bookmark ;
+ rdfs:label "characterPosition" ;
+ rdfs:range xsd:integer ;
+ nrl:maxCardinality 1 .
+
+ nfo:pageNumber
+ a rdf:Property ;
+ rdfs:comment "Page linked by the bookmark." ;
+ rdfs:domain nfo:Bookmark ;
+ rdfs:label "pageNumber" ;
+ rdfs:range xsd:integer ;
+ nrl:maxCardinality 1 .
+
+ nfo:streamPosition
+ a rdf:Property ;
+ rdfs:comment "Stream position of the bookmark, suitable for e.g. audio books. Expressed in milliseconds" ;
+ rdfs:domain nfo:Bookmark ;
+ rdfs:label "streamPosition" ;
+ rdfs:range xsd:integer ;
+ nrl:maxCardinality 1 .
+
+ nfo:RemotePortAddress
+ a rdfs:Class ;
+ 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:label "RemotePortAddress" ;
+ rdfs:subClassOf nie:DataObject .
+
+ nfo:Attachment
+ a rdfs:Class ;
+ rdfs:comment "A file attached to another data object. Many data formats allow for attachments: emails, vcards, ical events, id3 and exif..." ;
+ rdfs:label "Attachment" ;
+ rdfs:subClassOf nfo:EmbeddedFileDataObject .
+
+ nfo:DataContainer
+ a rdfs:Class ;
+ 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." ;
+ rdfs:label "DataContainer" ;
+ rdfs:subClassOf nie:InformationElement .
+
+ nfo:TextDocument
+ a rdfs:Class ;
+ rdfs:comment "A text document" ;
+ rdfs:label "TextDocument" ;
+ rdfs:subClassOf nfo:Document .
+
+ nfo:characterCount
+ a rdf:Property ;
+ rdfs:comment "The amount of characters in the document." ;
+ rdfs:domain nfo:TextDocument ;
+ rdfs:label "characterCount" ;
+ rdfs:range xsd:integer ;
+ nrl:maxCardinality 1 .
+
+ nfo:fileLastAccessed
+ a rdf:Property ;
+ rdfs:comment "Time when the file was last accessed." ;
+ rdfs:domain nfo:FileDataObject ;
+ rdfs:label "fileLastAccessed" ;
+ rdfs:range xsd:dateTime ;
+ rdfs:subPropertyOf dc:date ;
+ nrl:maxCardinality 1 .
+
+ nfo:supercedes
+ a rdf:Property ;
+ rdfs:comment "States that a piece of software supercedes another piece of software." ;
+ rdfs:domain nfo:Software ;
+ rdfs:label "supercedes" ;
+ rdfs:range nfo:Software .
+
+ nfo:programmingLanguage
+ a rdf:Property ;
+ rdfs:comment "Indicates the name of the programming language this source code file is written in. Examples might include 'C', 'C++', 'Java' etc." ;
+ rdfs:domain nfo:SourceCode ;
+ rdfs:label "programmingLanguage" ;
+ rdfs:range xsd:string .
+
+ nfo:PaginatedTextDocument
+ a rdfs:Class ;
+ rdfs:comment "A file containing a text document, that is unambiguously divided into pages. Examples might include PDF, DOC, PS, DVI etc." ;
+ rdfs:label "PaginatedTextDocument" ;
+ rdfs:subClassOf nfo:TextDocument .
+
+ nfo:Application
+ a rdfs:Class ;
+ rdfs:comment "An application" ;
+ rdfs:label "Application" ;
+ rdfs:subClassOf nfo:Software .
+
+ nfo:sampleCount
+ a rdf:Property ;
+ rdfs:comment "The amount of samples in an audio clip." ;
+ rdfs:domain nfo:Audio ;
+ rdfs:label "sampleCount" ;
+ rdfs:range xsd:integer ;
+ rdfs:subPropertyOf nfo:count ;
+ nrl:maxCardinality 1 .
+
+ nfo:Image
+ a rdfs:Class ;
+ rdfs:comment "A file containing an image." ;
+ rdfs:label "Image" ;
+ rdfs:subClassOf nfo:Visual .
+
+ nfo:height
+ a rdf:Property ;
+ rdfs:comment "Visual content height in pixels." ;
+ rdfs:domain nfo:Visual ;
+ rdfs:label "height" ;
+ rdfs:range xsd:integer ;
+ nrl:maxCardinality 1 .
+
+ nfo:frontChannels
+ a rdf:Property ;
+ rdfs:comment "Number of front channels." ;
+ rdfs:label "frontChannels" ;
+ rdfs:range xsd:integer ;
+ rdfs:subPropertyOf nfo:channels ;
+ nrl:maxCardinality 1 .
+
+ nfo:FilesystemImage
+ a rdfs:Class ;
+ nao:deprecated true ;
+ 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). Deprecated in favor of nfo:Filesystem." ;
+ rdfs:label "FilesystemImage" ;
+ rdfs:subClassOf nfo:Filesystem .
+
+ nfo:CompressionType
+ a rdfs:Class ;
+ rdfs:comment "Type of compression. Instances of this class represent the limited set of values allowed for the nfo:compressionType property." ;
+ rdfs:label "CompressionType" ;
+ rdfs:subClassOf rdfs:Resource .
+
+ nfo:ArchiveItem
+ a rdfs:Class ;
+ rdfs:comment "A file entity inside an archive." ;
+ rdfs:label "ArchiveItem" ;
+ rdfs:subClassOf nfo:EmbeddedFileDataObject .
+
+ nfo:rearChannels
+ a rdf:Property ;
+ rdfs:comment "Number of rear channels." ;
+ rdfs:label "rearChannels" ;
+ rdfs:range xsd:integer ;
+ rdfs:subPropertyOf nfo:channels ;
+ nrl:maxCardinality 1 .
+
+ nfo:bitsPerSample
+ a rdf:Property ;
+ rdfs:comment "Amount of bits in each audio sample." ;
+ rdfs:domain nfo:Audio ;
+ rdfs:label "bitsPerSample" ;
+ rdfs:range xsd:integer ;
+ rdfs:subPropertyOf nfo:bitDepth ;
+ nrl:maxCardinality 1 .
+
+ nfo:HtmlDocument
+ a rdfs:Class ;
+ rdfs:comment "A HTML document, may contain links to other files." ;
+ rdfs:label "HtmlDocument" ;
+ rdfs:subClassOf nfo:PlainTextDocument .
+
+ nfo:Bookmark
+ a rdfs:Class ;
+ 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." ;
+ rdfs:label "Bookmark" ;
+ rdfs:subClassOf nie:InformationElement .
+
+ nfo:FileHash
+ a rdfs:Class ;
+ rdfs:comment "A fingerprint of the file, generated by some hashing function." ;
+ rdfs:label "FileHash" ;
+ rdfs:subClassOf rdfs:Resource .
+
+ nfo:duration
+ a rdf:Property ;
+ rdfs:comment "Duration of a media piece." ;
+ rdfs:domain nfo:Media ;
+ rdfs:label "duration" ;
+ rdfs:range xsd:duration ;
+ nrl:maxCardinality 1 .
+
+ nfo:lfeChannels
+ a rdf:Property ;
+ rdfs:comment "Number of Low Frequency Expansion (subwoofer) channels." ;
+ rdfs:label "lfeChannels" ;
+ rdfs:range xsd:integer ;
+ rdfs:subPropertyOf nfo:channels ;
+ nrl:maxCardinality 1 .
+
+ nfo:Video
+ a rdfs:Class ;
+ rdfs:comment "A video file." ;
+ rdfs:label "Video" ;
+ rdfs:subClassOf nfo:Visual .
+
+ nfo:hasMediaStream
+ a rdf:Property ;
+ rdfs:comment "Connects a media container with a single media stream contained within." ;
+ rdfs:domain nfo:Media ;
+ rdfs:label "hasMediaStream" ;
+ rdfs:range nie:DataObject ;
+ rdfs:subPropertyOf nie:hasPart .
+
+ nfo:Spreadsheet
+ a rdfs:Class ;
+ rdfs:comment "A spreadsheet, created by a spreadsheet application. Examples might include Gnumeric, OpenOffice Calc or MS Excel." ;
+ rdfs:label "Spreadsheet" ;
+ rdfs:subClassOf nfo:Document .
+
+ nfo:isPasswordProtected
+ a rdf:Property ;
+ rdfs:comment "States if a given resource is password-protected." ;
+ rdfs:domain nfo:ArchiveItem ;
+ rdfs:label "isPasswordProtected" ;
+ rdfs:range xsd:boolean ;
+ nrl:maxCardinality 1 .
+
+ nfo:hashValue
+ a rdf:Property ;
+ rdfs:comment "The actual value of the hash." ;
+ rdfs:domain nfo:FileHash ;
+ rdfs:label "hashValue" ;
+ rdfs:range xsd:string ;
+ nrl:cardinality 1 .
+
+ nfo:Document
+ a rdfs:Class ;
+ rdfs:comment "A generic document. A common superclass for all documents on the desktop." ;
+ rdfs:label "Document" ;
+ rdfs:subClassOf nie:InformationElement .
+
+ nfo:FileDataObject
+ a rdfs:Class ;
+ 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:label "file" ;
+ rdfs:subClassOf nie:DataObject .
+
+ nfo:encryptedStatus
+ a nfo:EncryptionStatus ;
+ rdfs:label "EncryptedStatus" .
+
+ nfo:Visual
+ a rdfs:Class ;
+ rdfs:comment "File containing visual content." ;
+ rdfs:label "Visual" ;
+ rdfs:subClassOf nfo:Media .
+
+ nfo:uncompressedSize
+ a rdf:Property ;
+ rdfs:comment "Uncompressed size of the content of a compressed file." ;
+ rdfs:domain nfo:Archive ;
+ rdfs:label "uncompressedSize" ;
+ rdfs:range xsd:integer ;
+ nrl:maxCardinality 1 .
+
+ nfo:deletionDate
+ a rdf:Property ;
+ rdfs:comment "The date and time of the deletion." ;
+ rdfs:domain nfo:DeletedResource ;
+ rdfs:label "deletionDate" ;
+ rdfs:range xsd:dateTime ;
+ nrl:maxCardinality 1 .
+
+ nfo:MindMap
+ a rdfs:Class ;
+ rdfs:comment "A MindMap, created by a mind-mapping utility. Examples might include FreeMind or mind mapper." ;
+ rdfs:label "MindMap" ;
+ rdfs:subClassOf nfo:Document .
+
+ nfo:SoftwareService
+ a rdfs:Class ;
+ 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, addressbook 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:label "SoftwareService" ;
+ rdfs:subClassOf nie:DataObject .
+
+ nfo:decryptedStatus
+ a nfo:EncryptionStatus ;
+ rdfs:label "DecryptedStatus" .
+
+ nfo:originalLocation
+ a rdf:Property ;
+ rdfs:comment "The original location of the deleted resource." ;
+ rdfs:domain nfo:DeletedResource ;
+ rdfs:label "originalLocation" ;
+ rdfs:range xsd:string ;
+ nrl:maxCardinality 1 .
+
+ nfo:Website
+ a rdfs:Class ;
+ rdfs:comment "A website, usually a container for remote resources, that may be interpreted as HTMLDocuments, images or other types of content." ;
+ rdfs:label "Website" ;
+ rdfs:subClassOf nie:InformationElement .
+
+ nfo:VectorImage
+ a rdfs:Class ;
+ rdfs:label "VectorImage" ;
+ rdfs:subClassOf nfo:Image .
+
+ nfo:Cursor
+ a rdfs:Class ;
+ rdfs:comment "A Cursor." ;
+ rdfs:label "Cursor" ;
+ rdfs:subClassOf nfo:RasterImage .
+
+ nfo:Media
+ a rdfs:Class ;
+ 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:label "Media" ;
+ rdfs:subClassOf nie:InformationElement .
+
+ nfo:hasMediaFileListEntry
+ a rdf:Property ;
+ rdfs:comment "This property is intended to point to an RDF list of MediaFiles." ;
+ rdfs:domain nfo:MediaList ;
+ rdfs:label "hasMediaFileListEntry" ;
+ rdfs:range nfo:MediaFileListEntry .
+
+ nfo:BookmarkFolder
+ a rdfs:Class ;
+ rdfs:comment "A folder with bookmarks of a webbrowser. Use nfo:containsBookmark to relate Bookmarks. Folders can contain subfolders, use containsBookmarkFolder to relate them." ;
+ rdfs:label "Bookmark Folder" ;
+ rdfs:subClassOf nie:InformationElement .
+
+ nfo:channels
+ a rdf:Property ;
+ rdfs:comment "Number of channels. This property is to be used directly if no detailed information is necessary. Otherwise use more detailed subproperties." ;
+ rdfs:domain nfo:Audio ;
+ rdfs:label "channels" ;
+ rdfs:range xsd:integer ;
+ nrl:maxCardinality 1 .
+
+ nfo:colorDepth
+ a rdf:Property ;
+ rdfs:comment "Amount of bits used to express the color of each pixel." ;
+ rdfs:domain nfo:Visual ;
+ rdfs:label "colorDepth" ;
+ rdfs:range xsd:integer ;
+ rdfs:subPropertyOf nfo:bitDepth ;
+ nrl:maxCardinality 1 .
+
+ nfo:Font
+ a rdfs:Class ;
+ rdfs:comment "A font." ;
+ rdfs:label "Font" ;
+ rdfs:subClassOf nie:InformationElement .
+
+ nfo:averageBitrate
+ a rdf:Property ;
+ 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)." ;
+ rdfs:domain nfo:Media ;
+ rdfs:label "averageBitrate" ;
+ rdfs:range xsd:float ;
+ rdfs:subPropertyOf nfo:rate ;
+ nrl:maxCardinality 1 .
+
+ nfo:Icon
+ a rdfs:Class ;
+ 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:label "Icon" ;
+ rdfs:subClassOf nfo:Image .
+
+ nfo:fileOwner
+ a rdf:Property ;
+ rdfs:comment "The owner of the file as defined by the file system access rights feature." ;
+ rdfs:domain nfo:FileDataObject ;
+ rdfs:label "fileOwner" ;
+ rdfs:range nco:Contact ;
+ nrl:maxCardinality 1 .
+
+ nfo:aspectRatio
+ a rdf:Property ;
+ rdfs:comment "Visual content aspect ratio. (Width divided by Height)" ;
+ rdfs:domain nfo:Visual ;
+ rdfs:label "aspectRatio" ;
+ rdfs:range xsd:float ;
+ nrl:maxCardinality 1 .
+
+ nfo:bitDepth
+ a rdf:Property ;
+ 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" ;
+ rdfs:domain nfo:Media ;
+ rdfs:label "bitDepth" ;
+ rdfs:range rdfs:Literal ;
+ nrl:maxCardinality 1 .
+
+ nfo:containsBookmarkFolder
+ a rdf:Property ;
+ rdfs:comment "The folder contains a bookmark folder." ;
+ rdfs:domain nfo:BookmarkFolder ;
+ rdfs:label "contains folder" ;
+ rdfs:range nfo:BookmarkFolder ;
+ rdfs:subPropertyOf nie:hasLogicalPart .
+
+ nfo:belongsToContainer
+ a rdf:Property ;
+ rdfs:comment "Models the containment relations between Files and Folders (or CompressedFiles)." ;
+ rdfs:domain nie:DataObject ;
+ rdfs:label "belongsToContainer" ;
+ rdfs:range nfo:DataContainer ;
+ rdfs:subPropertyOf nie:isPartOf .
+
+ nfo:verticalResolution
+ a rdf:Property ;
+ rdfs:comment "Vertical resolution of an Image (if printed). Expressed in DPI" ;
+ rdfs:domain nfo:Image ;
+ rdfs:label "verticalResolution" ;
+ rdfs:range xsd:integer ;
+ nrl:maxCardinality 1 .
+
+ nfo:fileUrl
+ a rdf:Property ;
+ nao:deprecated true ;
+ rdfs:comment "URL of the file. It points at the location of the file. 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." ;
+ rdfs:domain nfo:FileDataObject ;
+ rdfs:label "fileUrl" ;
+ rdfs:range rdfs:Resource ;
+ rdfs:subPropertyOf nie:url .
+
+ nfo:count
+ a rdf:Property ;
+ rdfs:comment "A common superproperty for all properties signifying the amount of atomic media data units. Examples of subproperties may include sampleCount and frameCount." ;
+ rdfs:domain nfo:Media ;
+ rdfs:label "count" ;
+ rdfs:range xsd:integer .
+
+ nfo:frameRate
+ a rdf:Property ;
+ rdfs:comment "Amount of video frames per second." ;
+ rdfs:domain nfo:Video ;
+ rdfs:label "frameRate" ;
+ rdfs:range xsd:float ;
+ rdfs:subPropertyOf nfo:rate ;
+ nrl:maxCardinality 1 .
+
+ nfo:fontFamily
+ a rdf:Property ;
+ rdfs:comment "The name of the font family." ;
+ rdfs:domain nfo:Font ;
+ rdfs:label "fontFamily" ;
+ rdfs:range xsd:string ;
+ nrl:maxCardinality 1 .
+
+ nfo:EmbeddedFileDataObject
+ a rdfs:Class ;
+ 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:label "EmbeddedFileDataObject" ;
+ rdfs:subClassOf nfo:FileDataObject .
+
+ nfo:fileCreated
+ a rdf:Property ;
+ rdfs:comment "File creation date" ;
+ rdfs:domain nfo:FileDataObject ;
+ rdfs:label "fileCreated" ;
+ rdfs:range xsd:dateTime ;
+ rdfs:subPropertyOf nie:created ;
+ nrl:maxCardinality 1 .
+
+ nfo:bitrateType
+ a rdf:Property ;
+ rdfs:comment "The type of the bitrate. Examples may include CBR and VBR." ;
+ rdfs:domain nfo:Media ;
+ rdfs:label "bitrateType" ;
+ rdfs:range xsd:string ;
+ nrl:maxCardinality 1 .
+
+ nfo:encoding
+ a rdf:Property ;
+ rdfs:comment "The encoding used for the Embedded File. Examples might include BASE64 or UUEncode" ;
+ rdfs:domain nfo:EmbeddedFileDataObject ;
+ rdfs:label "encoding" ;
+ rdfs:range xsd:string ;
+ nrl:maxCardinality 1 .
+
+ nfo:Folder
+ a rdfs:Class ;
+ rdfs:comment "A folder/directory. Examples of folders include folders on a filesystem and message folders in a mailbox." ;
+ rdfs:label "Folder" ;
+ rdfs:subClassOf nfo:DataContainer .
+
+ nfo:hasHash
+ a rdf:Property ;
+ rdfs:comment "Links the file with it's hash value." ;
+ rdfs:domain nfo:FileDataObject ;
+ rdfs:label "hasHash" ;
+ rdfs:range nfo:FileHash .
+
+ nfo:codec
+ a rdf:Property ;
+ rdfs:comment "The name of the codec necessary to decode a piece of media." ;
+ rdfs:domain nfo:Media ;
+ rdfs:label "codec" ;
+ rdfs:range rdfs:Literal .
+
+ nfo:fileLastModified
+ a rdf:Property ;
+ nao:deprecated true ;
+ rdfs:comment "last modification date" ;
+ rdfs:domain nfo:FileDataObject ;
+ rdfs:label "fileLastModified" ;
+ rdfs:range xsd:dateTime ;
+ rdfs:subPropertyOf nie:lastModified .
+
+ nfo:compressionType
+ a rdf:Property ;
+ rdfs:comment "The type of the compression. Values include, 'lossy' and 'lossless'." ;
+ rdfs:domain nfo:Media ;
+ rdfs:label "compressionType" ;
+ rdfs:range nfo:CompressionType ;
+ nrl:maxCardinality 1 .
+
+ nfo:pageCount
+ a rdf:Property ;
+ rdfs:comment "Number of pages." ;
+ rdfs:domain nfo:PaginatedTextDocument ;
+ rdfs:label "pageCount" ;
+ rdfs:range xsd:integer ;
+ nrl:maxCardinality 1 .
+
+ nfo:RasterImage
+ a rdfs:Class ;
+ rdfs:comment "A raster image." ;
+ rdfs:label "RasterImage" ;
+ rdfs:subClassOf nfo:Image .
+
+ nfo:definesGlobalVariable
+ a rdf:Property ;
+ rdfs:comment "Name of a global variable defined within the source code file." ;
+ rdfs:domain nfo:SourceCode ;
+ rdfs:label "definesGlobalVariable" ;
+ rdfs:range xsd:string .
+
+ nfo:DeletedResource
+ a rdfs:Class ;
+ 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:label "DeletedResource" ;
+ rdfs:subClassOf nfo:FileDataObject .
+
+ nfo:Trash
+ a rdfs:Class ;
+ rdfs:comment "Represents a container for deleted files, a feature common in modern operating systems." ;
+ rdfs:label "Trash" ;
+ rdfs:subClassOf nfo:DataContainer .
+
+ nfo:conflicts
+ a rdf:Property ;
+ rdfs:comment "States that a piece of software is in conflict with another piece of software." ;
+ rdfs:domain nfo:Software ;
+ rdfs:label "conflicts" ;
+ rdfs:range nfo:Software .
+
+ nfo:encryptionStatus
+ a rdf:Property ;
+ rdfs:comment "The status of the encryption of the InformationElement." ;
+ rdfs:domain nie:InformationElement ;
+ rdfs:label "encryptionStatus" ;
+ rdfs:range nfo:EncryptionStatus ;
+ nrl:maxCardinality 1 .
+
+ nfo:containsBookmark
+ a rdf:Property ;
+ rdfs:comment "The folder contains a bookmark." ;
+ rdfs:domain nfo:BookmarkFolder ;
+ rdfs:label "contains bookmark" ;
+ rdfs:range nfo:Bookmark ;
+ rdfs:subPropertyOf nie:hasLogicalPart .
+
+ nfo:Executable
+ a rdfs:Class ;
+ rdfs:comment "An executable file." ;
+ rdfs:label "Executable" ;
+ rdfs:subClassOf nie:InformationElement .
+
+ nfo:definesClass
+ a rdf:Property ;
+ rdfs:comment "Name of a class defined in the source code file." ;
+ rdfs:domain nfo:SourceCode ;
+ rdfs:label "definesClass" ;
+ rdfs:range xsd:string .
+
+ nfo:Software
+ a rdfs:Class ;
+ rdfs:comment "A piece of software. Examples may include applications and the operating system. This interpretation most commonly applies to SoftwareItems." ;
+ rdfs:label "Software" ;
+ rdfs:subClassOf nie:InformationElement ;
+ rdfs:subClassOf nao:Agent .
+
+ nfo:lossyCompressionType
+ a nfo:CompressionType ;
+ rdfs:label "lossyCompressionType" .
+
+ nfo:EncryptionStatus
+ a rdfs:Class ;
+ rdfs:comment "The status of the encryption of an InformationElement. nfo:encryptedStatus means that the InformationElement has been encrypted and couldn't be decrypted by the extraction software, thus no content is available. nfo:decryptedStatus means that decryption was successfull and the content is available." ;
+ rdfs:label "EncryptionStatus" .
+
+ nfo:OperatingSystem
+ a rdfs:Class ;
+ rdfs:comment "An OperatingSystem" ;
+ rdfs:label "OperatingSystem" ;
+ rdfs:subClassOf nfo:Software .
+
+ nfo:rate
+ a rdf:Property ;
+ rdfs:comment "A common superproperty for all properties specifying the media rate. Examples of subproperties may include frameRate for video and sampleRate for audio. This property is expressed in units per second." ;
+ rdfs:domain nfo:Media ;
+ rdfs:label "rate" ;
+ rdfs:range xsd:float .
+
+ nfo:MediaList
+ a rdfs:Class ;
+ rdfs:comment "A file containing a list of media files.e.g. a playlist" ;
+ rdfs:label "MediaList" ;
+ rdfs:subClassOf nie:InformationElement .
+
+ nfo:fileSize
+ a rdf:Property ;
+ 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:domain nfo:FileDataObject ;
+ rdfs:label "fileSize" ;
+ rdfs:range xsd:integer ;
+ rdfs:subPropertyOf nie:byteSize ;
+ nrl:maxCardinality 1 .
+
+ nfo:RemoteDataObject
+ a rdfs:Class ;
+ 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:label "RemoteDataObject" ;
+ rdfs:subClassOf nfo:FileDataObject .
+
+ nfo:colorCount
+ a rdf:Property ;
+ rdfs:label "color count" ;
+ rdfs:comment "The number of colors used/available in a raster image." ;
+ rdfs:domain nfo:RasterImage ;
+ rdfs:range xsd:integer ;
+ nrl:maxCardinality 1 .
+
+ nfo:paletteSize
+ a rdf:Property ;
+ rdfs:label "palette size" ;
+ rdfs:comment "The number of colors defined in palette of the raster image." ;
+ rdfs:domain nfo:RasterImage ;
+ rdfs:range xsd:integer ;
+ nrl:maxCardinality 1 .
+
+ nfo:WebDataObject a rdfs:Class ;
+ rdfs:subClassOf nie:DataObject ;
+ rdfs:label "web data object" ;
+ rdfs:comment "An information resources of which representations (files, streams) can be retrieved through a web server. They may be generated at retrieval time. Typical examples are pages served by PHP or AJAX or mp3 streams." .
+}
+
+<http://www.semanticdesktop.org/ontologies/2007/03/22/nfo_metadata#> {nfo: a nrl:Ontology ;
+ nao:creator <http://www.dfki.uni-kl.de/~mylka> ;
+ nao:hasDefaultNamespace
+ "http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#" ;
+ nao:hasDefaultNamespaceAbbreviation
+ "nfo" ;
+ nao:lastModified "2011-08-22T12:26:40.500Z" ;
+ nao:status "Unstable" ;
+ nao:updatable "0 " ;
+ nao:version "0.8.1" ;
+ nao:prefLabel "Nepomuk File Ontology" ;
+ nao:description "The Nepomuk File Ontology provides vocabulary to express information extracted from various sources. They include files, pieces of software and remote hosts." .
+
+ <http://www.semanticdesktop.org/ontologies/2007/03/22/nfo_metadata#>
+ a nrl:GraphMetadata ;
+ nrl:coreGraphMetadataFor
+ nfo: .
+}
+
diff --git a/data/ontology/nie.trig b/data/ontology/nie.trig
new file mode 100644
index 00000000..1df752dd
--- /dev/null
+++ b/data/ontology/nie.trig
@@ -0,0 +1,428 @@
+#
+# Copyright (c) 2007 NEPOMUK Consortium
+# Copyright (c) 2010-2011 Sebastian Trueg <trueg@kde.org>
+# All rights reserved, licensed under either CC-BY or BSD.
+#
+# You are free:
+# * to Share - to copy, distribute and transmit the work
+# * to Remix - to adapt the work
+# Under the following conditions:
+# * Attribution - You must attribute the work in the manner specified by the author
+# or licensor (but not in any way that suggests that they endorse you or your use
+# of the work).
+#
+# Redistribution and use in source and binary forms, with or without modification,
+# are permitted provided that the following conditions are met:
+# * Redistributions of source code must retain the above copyright notice, this
+# list of conditions and the following disclaimer.
+# * Redistributions in binary form must reproduce the above copyright notice, this
+# list of conditions and the following disclaimer in the documentation and/or
+# other materials provided with the distribution.
+# * Neither the names of the authors nor the names of contributors may
+# be used to endorse or promote products derived from this ontology without
+# specific prior written permission.
+#
+# THIS ONTOLOGY IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+# THIS ONTOLOGY, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+#
+
+@prefix dc: <http://purl.org/dc/elements/1.1/> .
+@prefix exif: <http://www.kanzaki.com/ns/exif#> .
+@prefix geo: <http://www.w3.org/2003/01/geo/wgs84_pos#> .
+@prefix protege: <http://protege.stanford.edu/system#> .
+@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 ncal: <http://www.semanticdesktop.org/ontologies/2007/04/02/ncal#> .
+@prefix nco: <http://www.semanticdesktop.org/ontologies/2007/03/22/nco#> .
+@prefix dcterms: <http://purl.org/dc/terms/> .
+@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
+@prefix pimo: <http://www.semanticdesktop.org/ontologies/2007/11/01/pimo#> .
+@prefix nmo: <http://www.semanticdesktop.org/ontologies/2007/03/22/nmo#> .
+@prefix nrl: <http://www.semanticdesktop.org/ontologies/2007/08/15/nrl#> .
+@prefix tmo: <http://www.semanticdesktop.org/ontologies/2008/05/20/tmo#> .
+@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
+@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
+@prefix nid3: <http://www.semanticdesktop.org/ontologies/2007/05/10/nid3#> .
+@prefix nexif: <http://www.semanticdesktop.org/ontologies/2007/05/10/nexif#> .
+
+nie: {nie:characterSet
+ a rdf:Property ;
+ rdfs:comment "Characterset in which the content of the InformationElement was created. Example: ISO-8859-1, UTF-8. One of the registered character sets at http://www.iana.org/assignments/character-sets. This characterSet is used to interpret any textual parts of the content. If more than one characterSet is used within one data object, use more specific properties." ;
+ rdfs:domain nie:InformationElement ;
+ rdfs:label "characterSet" ;
+ rdfs:range xsd:string ;
+ nrl:maxCardinality "1" .
+
+ nie:rootElementOf
+ a rdf:Property ;
+ rdfs:comment "DataObjects extracted from a single data source are organized into a containment tree. This property links the root of that tree with the datasource it has been extracted from" ;
+ rdfs:domain nie:InformationElement ;
+ rdfs:label "rootElementOf" ;
+ rdfs:range nie:DataSource .
+
+ nie:informationElementDate
+ a rdf:Property ;
+ rdfs:comment "A point or period of time associated with an event in the lifecycle of an Information Element. A common superproperty for all date-related properties of InformationElements in the NIE Framework." ;
+ rdfs:domain nie:InformationElement ;
+ rdfs:label "informationElementDate" ;
+ rdfs:range xsd:dateTime ;
+ rdfs:subPropertyOf dc:date .
+
+ nie:legal
+ a rdf:Property ;
+ rdfs:comment "A common superproperty for all properties that point at legal information about an Information Element" ;
+ rdfs:domain nie:InformationElement ;
+ rdfs:label "legal" ;
+ rdfs:range xsd:string ;
+ rdfs:subPropertyOf dc:rights .
+
+ nie:isStoredAs
+ a rdf:Property ;
+ rdfs:comment "Links the information element with the DataObject it is stored in." ;
+ rdfs:domain nie:InformationElement ;
+ rdfs:label "isStoredAs" ;
+ rdfs:range nie:DataObject ;
+ nrl:inverseProperty nie:interpretedAs .
+
+ nie:language
+ a rdf:Property ;
+ rdfs:comment "Language the InformationElement is expressed in. This property applies to the data object in its entirety. If the data object is divisible into parts expressed in multiple languages - more specific properties should be used. Users are encouraged to use the two-letter code specified in the RFC 3066" ;
+ rdfs:domain nie:InformationElement ;
+ rdfs:label "language" ;
+ rdfs:range xsd:string ;
+ rdfs:subPropertyOf dc:language ;
+ nrl:maxCardinality "1" .
+
+ nie:copyright
+ a rdf:Property ;
+ rdfs:comment "Content copyright" ;
+ rdfs:label "copyright" ;
+ rdfs:range xsd:string ;
+ rdfs:subPropertyOf nie:legal , dcterms:accessRights .
+
+ nie:modified
+ a rdf:Property ;
+ rdfs:comment "Date the DataObject was changed in any way. Note that this date refers to the modification of the DataObject itself (i.e. the physical representation). Compare with nie:contentModified." ;
+ rdfs:domain nie:DataObject ;
+ rdfs:label "modified" ;
+ rdfs:range xsd:dateTime .
+
+ nie:created
+ a rdf:Property ;
+ rdfs:comment "Date of creation of the DataObject. Note that this date refers to the creation of the DataObject itself (i.e. the physical representation). Compare with nie:contentCreated." ;
+ rdfs:domain nie:DataObject ;
+ rdfs:label "created" ;
+ rdfs:range xsd:dateTime ;
+ rdfs:subPropertyOf dcterms:created, nao:created, nie:modified ;
+ nrl:maxCardinality "1" .
+
+ nie:lastModified
+ a rdf:Property ;
+ rdfs:comment "Last modification date of the DataObject. Note that this date refers to the modification of the DataObject itself (i.e. the physical representation). Compare with nie:contentLastModified." ;
+ rdfs:domain nie:DataObject ;
+ rdfs:label "lastModified" ;
+ rdfs:range xsd:dateTime ;
+ rdfs:subPropertyOf dc:date, nao:lastModified, nie:modified ;
+ nrl:maxCardinality "1" .
+
+ nie:mimeType
+ a rdf:Property ;
+ rdfs:comment "The mime type of the resource, if available. Example: \"text/plain\". See http://www.iana.org/assignments/media-types/. This property applies to data objects that can be described with one mime type. In cases where the object as a whole has one mime type, while it's parts have other mime types, or there is no mime type that can be applied to the object as a whole, but some parts of the content have mime types - use more specific properties." ;
+ rdfs:domain nie:InformationElement ;
+ rdfs:label "mimeType" ;
+ rdfs:range xsd:string ;
+ nrl:maxCardinality "1" .
+
+ nie:version
+ a rdf:Property ;
+ rdfs:comment "The current version of the given data object. Exact semantics is unspecified at this level. Use more specific subproperties if needed." ;
+ rdfs:domain nie:InformationElement ;
+ rdfs:label "version" ;
+ rdfs:range xsd:string ;
+ rdfs:subPropertyOf dcterms:hasVersion .
+
+ nie:interpretedAs
+ a rdf:Property ;
+ rdfs:comment "Links the DataObject with the InformationElement it is interpreted as." ;
+ rdfs:domain nie:DataObject ;
+ rdfs:label "interpretedAs" ;
+ rdfs:range nie:InformationElement ;
+ nrl:inverseProperty nie:isStoredAs .
+
+ nie:links
+ a rdf:Property ;
+ rdfs:comment "A linking relation. A piece of content links/mentions a piece of data" ;
+ rdfs:domain nie:InformationElement ;
+ rdfs:label "links" ;
+ rdfs:range nie:DataObject ;
+ rdfs:subPropertyOf nie:relatedTo .
+
+ nie:InformationElement
+ a rdfs:Class ;
+ rdfs:comment "A unit of content the user works with. This is a superclass for all interpretations of a DataObject." ;
+ rdfs:label "InformationElement" ;
+ rdfs:subClassOf rdfs:Resource .
+
+ nie:DataSource
+ a rdfs:Class ;
+ 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:label "DataSource" ;
+ rdfs:subClassOf rdfs:Resource .
+
+ nie:generator
+ a rdf:Property ;
+ rdfs:comment "Software used to \"generate\" the contents. E.g. a word processor name." ;
+ rdfs:domain nie:InformationElement ;
+ rdfs:label "generator" ;
+ rdfs:range xsd:string .
+
+ nie:isPartOf
+ a rdf:Property, nrl:FunctionalProperty ;
+ rdfs:comment "Generic property used to express containment relationships between DataObjects. NIE extensions are encouraged to provide more specific subproperties of this one. It is advisable for actual instances of DataObjects to use those specific subproperties. Note to the developers: Please be aware of the distinction between containment relation and provenance. The isPartOf relation models physical containment, a nie:DataObject (e.g. an nfo:Attachment) is a 'physical' part of an nie:InformationElement (a nmo:Message). Also, please note the difference between physical containment (isPartOf) and logical containment (isLogicalPartOf) the former has more strict meaning. They may occur independently of each other." ;
+ rdfs:domain nie:DataObject ;
+ rdfs:label "isPartOf" ;
+ rdfs:range nie:InformationElement ;
+ rdfs:subPropertyOf dcterms:isPartOf ;
+ nrl:inverseProperty nie:hasPart .
+
+ nie:disclaimer
+ a rdf:Property ;
+ rdfs:comment "A disclaimer" ;
+ rdfs:label "disclaimer" ;
+ rdfs:range xsd:string ;
+ rdfs:subPropertyOf nie:legal .
+
+ nie:generatorOption
+ a rdf:Property ;
+ rdfs:comment "A common superproperty for all settings used by the generating software. This may include compression settings, algorithms, autosave, interlaced/non-interlaced etc. Note that this property has no range specified and therefore should not be used directly. Always use more specific properties." ;
+ rdfs:domain nie:InformationElement ;
+ rdfs:label "generatorOption" .
+
+ nie:description
+ a rdf:Property ;
+ rdfs:comment "A textual description of the resource. This property may be used for any metadata fields that provide some meta-information or comment about a resource in the form of a passage of text. This property is not to be confused with nie:plainTextContent. Use more specific subproperties wherever possible." ;
+ rdfs:domain nie:InformationElement ;
+ rdfs:label "description" ;
+ rdfs:range xsd:string ;
+ rdfs:subPropertyOf dc:description, nao:description .
+
+ nie:contentCreated
+ a rdf:Property ;
+ rdfs:comment "The date of the content creation. This may not necessarily be equal to the date when the DataObject (i.e. the physical representation) itself was created. Compare with nie:created property." ;
+ rdfs:domain nie:InformationElement ;
+ rdfs:label "contentCreated" ;
+ rdfs:range xsd:dateTime ;
+ rdfs:subPropertyOf nie:informationElementDate, nao:created, nie:contentModified ;
+ nrl:maxCardinality "1" .
+
+ nie:title
+ a rdf:Property ;
+ rdfs:comment "Name given to an InformationElement" ;
+ rdfs:domain nie:InformationElement ;
+ rdfs:label "title" ;
+ rdfs:range xsd:string ;
+ rdfs:subPropertyOf dc:title, nao:prefLabel ;
+ nrl:maxCardinality "1" .
+
+ nie:lastRefreshed
+ a rdf:Property ;
+ rdfs:comment "Date when information about this data object was retrieved (for the first time) or last refreshed from the data source. This property is important for metadata extraction applications that don't receive any notifications of changes in the data source and have to poll it regularly. This may lead to information becoming out of date. In these cases this property may be used to determine the age of data, which is an important element of it's dependability. " ;
+ rdfs:domain nie:DataObject ;
+ rdfs:label "lastRefreshed" ;
+ rdfs:range xsd:dateTime ;
+ rdfs:subPropertyOf dc:date ;
+ nrl:maxCardinality "1" .
+
+ nie:dataSource
+ a rdf:Property ;
+ rdfs:comment "Marks the provenance of a DataObject, what source does a data object come from." ;
+ rdfs:domain nie:DataObject ;
+ rdfs:label "dataSource" ;
+ rdfs:range nie:DataSource ;
+ rdfs:subPropertyOf dc:source ;
+ nrl:minCardinality "1" .
+
+ nie:DataObject
+ a rdfs:Class ;
+ 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:label "DataObject" ;
+ rdfs:subClassOf rdfs:Resource .
+
+ nie:depends
+ a rdf:Property ;
+ rdfs:comment "Dependency relation. A piece of content depends on another piece of data in order to be properly understood/used/interpreted." ;
+ rdfs:label "depends" ;
+ rdfs:range nie:DataObject ;
+ rdfs:subPropertyOf nie:relatedTo .
+
+ nie:contentModified
+ a rdf:Property ;
+ rdfs:comment "The date of a modification of the original content (not its corresponding DataObject or local copy). Compare with nie:modified." ;
+ rdfs:domain nie:InformationElement ;
+ rdfs:label "modified" ;
+ rdfs:range xsd:dateTime .
+
+ nie:contentLastModified
+ a rdf:Property ;
+ rdfs:comment "The date of the last modification of the original content (not its corresponding DataObject or local copy). Compare with nie:lastModified." ;
+ rdfs:domain nie:InformationElement ;
+ rdfs:label "contentLastModified" ;
+ rdfs:range xsd:dateTime ;
+ rdfs:subPropertyOf nie:informationElementDate, nao:lastModified, nie:contentModified ;
+ nrl:maxCardinality "1" .
+
+ nie:keyword
+ a rdf:Property ;
+ rdfs:comment "Adapted DublinCore: The topic of the content of the resource, as keyword. No sentences here. Recommended best practice is to select a value from a controlled vocabulary or formal classification scheme. " ;
+ rdfs:domain nie:InformationElement ;
+ rdfs:label "keyword" ;
+ rdfs:range xsd:string .
+
+ nie:isLogicalPartOf
+ a rdf:Property ;
+ rdfs:comment "Generic property used to express 'logical' containment relationships between DataObjects. NIE extensions are encouraged to provide more specific subproperties of this one. It is advisable for actual instances of InformationElement to use those specific subproperties. Note the difference between 'physical' containment (isPartOf) and logical containment (isLogicalPartOf)" ;
+ rdfs:domain nie:InformationElement ;
+ rdfs:label "isLogicalPartOf" ;
+ rdfs:range nie:InformationElement ;
+ rdfs:subPropertyOf dcterms:isPartOf ;
+ nrl:inverseProperty nie:hasLogicalPart .
+
+ nie:identifier
+ a rdf:Property ;
+ rdfs:comment "An unambiguous reference to the InformationElement within a given context. Recommended best practice is to identify the resource by means of a string conforming to a formal identification system." ;
+ rdfs:domain nie:InformationElement ;
+ rdfs:label "identifier" ;
+ rdfs:range xsd:string ;
+ rdfs:subPropertyOf nao:identifier , dc:identifier .
+
+ nie:plainTextContent
+ a rdf:Property ;
+ 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." ;
+ rdfs:domain nie:InformationElement ;
+ rdfs:label "plainTextContent" ;
+ rdfs:range xsd:string ;
+ nrl:maxCardinality "1" .
+
+ nie:htmlContent
+ a rdf:Property ;
+ rdfs:comment "The HTML content of an information element. This property can be used to store text including formatting in a generic fashion." ;
+ rdfs:domain nie:InformationElement ;
+ rdfs:label "html content" ;
+ rdfs:range xsd:string ;
+ nrl:maxCardinality "1" .
+
+ nie:comment
+ a rdf:Property ;
+ rdfs:comment "A user comment about an InformationElement." ;
+ rdfs:domain nie:InformationElement ;
+ rdfs:label "comment" ;
+ 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:domain nie:InformationElement ;
+ rdfs:label "relatedTo" ;
+ rdfs:range nie:DataObject ;
+ rdfs:subPropertyOf dc:relation .
+
+ nie:contentSize
+ a rdf:Property ;
+ rdfs:comment "The size of the content. This property can be used whenever the size of the content of an InformationElement differs from the size of the DataObject. (e.g. because of compression, encoding, encryption or any other representation issues). The contentSize in expressed in bytes." ;
+ rdfs:domain nie:InformationElement ;
+ rdfs:label "contentSize" ;
+ rdfs:range xsd:integer ;
+ nrl:maxCardinality "1" .
+
+ nie:license
+ a rdf:Property ;
+ rdfs:comment "Terms and intellectual property rights licensing conditions." ;
+ rdfs:label "license" ;
+ rdfs:range xsd:string ;
+ rdfs:subPropertyOf dcterms:license , nie:legal .
+
+ nie:subject
+ a rdf:Property ;
+ rdfs:comment "An overall topic of the content of a InformationElement" ;
+ rdfs:domain nie:InformationElement ;
+ rdfs:label "subject" ;
+ rdfs:range xsd:string ;
+ rdfs:subPropertyOf dc:subject .
+
+ nie:coreGraph
+ a rdf:Property ;
+ nao:deprecated true ;
+ rdfs:comment "Connects the data object with the graph that contains information about it. Deprecated in favor of a more generic nao:isDataGraphFor." ;
+ rdfs:domain nie:DataObject ;
+ rdfs:label "coreGraph" ;
+ rdfs:range nrl:InstanceBase .
+
+ nie:hasPart
+ a rdf:Property, nrl:InverseFunctionalProperty ;
+ rdfs:comment "Generic property used to express 'physical' containment relationships between DataObjects. NIE extensions are encouraged to provide more specific subproperties of this one. It is advisable for actual instances of DataObjects to use those specific subproperties. Note to the developers: Please be aware of the distinction between containment relation and provenance. The hasPart relation models physical containment, an InformationElement (a nmo:Message) can have a 'physical' part (an nfo:Attachment). Also, please note the difference between physical containment (hasPart) and logical containment (hasLogicalPart) the former has more strict meaning. They may occur independently of each other." ;
+ rdfs:domain nie:InformationElement ;
+ rdfs:label "hasPart" ;
+ rdfs:range nie:DataObject ;
+ rdfs:subPropertyOf nie:relatedTo , dcterms:hasPart ;
+ nrl:inverseProperty nie:isPartOf .
+
+ nie:licenseType
+ a rdf:Property ;
+ rdfs:comment "The type of the license. Possible values for this field may include \"GPL\", \"BSD\", \"Creative Commons\" etc." ;
+ rdfs:label "licenseType" ;
+ rdfs:range xsd:string ;
+ rdfs:subPropertyOf nie:legal .
+
+ nie:byteSize
+ a rdf:Property ;
+ rdfs:comment "The overall size of the data object in bytes. That means the space taken by the DataObject in its container, and not the size of the content that is of interest to the user. For cases where the content size is different (e.g. in compressed files the content is larger, in messages the content excludes headings and is smaller) use more specific properties, not necessarily subproperties of this one." ;
+ rdfs:domain nie:DataObject ;
+ rdfs:label "byteSize" ;
+ rdfs:range xsd:integer ;
+ nrl:maxCardinality "1" .
+
+ nie:hasLogicalPart
+ a rdf:Property ;
+ rdfs:comment "Generic property used to express 'logical' containment relationships between InformationElements. NIE extensions are encouraged to provide more specific subproperties of this one. It is advisable for actual instances of InformationElement to use those specific subproperties. Note the difference between 'physical' containment (hasPart) and logical containment (hasLogicalPart)" ;
+ rdfs:domain nie:InformationElement ;
+ rdfs:label "hasLogicalPart" ;
+ rdfs:range nie:InformationElement ;
+ rdfs:subPropertyOf dcterms:hasPart ;
+ nrl:inverseProperty nie:isLogicalPartOf .
+
+ nie:url
+ a rdf:Property ;
+ rdfs:comment "URL of a DataObject. It points to the location of the object. A typial usage is FileDataObject. 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." ;
+ rdfs:domain nie:DataObject ;
+ rdfs:label "url" ;
+ rdfs:range rdfs:Resource ;
+ nrl:maxCardinality "1" .
+}
+
+<http://www.semanticdesktop.org/ontologies/2007/01/19/nie_metadata#> {nie: a nrl:Ontology ;
+ nao:creator <http://www.dfki.uni-kl.de/~mylka> ;
+ nao:hasDefaultNamespace
+ "http://www.semanticdesktop.org/ontologies/2007/01/19/nie#" ;
+ nao:hasDefaultNamespaceAbbreviation
+ "nie" ;
+ nao:lastModified "2011-06-05T10:36:58Z" ;
+ nao:status "Unstable" ;
+ nao:updatable "0 " ;
+ nao:version "0.8.1" ;
+ nao:prefLabel "Nepomuk Information Element Ontology" ;
+ nao:description "The Nepomuk Information Element Framework provides unified vocabulary for describing native resources available on the desktop. NIE itself contains of classes and properties that comprise the core part of the framework." .
+
+ <http://www.semanticdesktop.org/ontologies/2007/01/19/nie_metadata#>
+ a nrl:GraphMetadata ;
+ nrl:coreGraphMetadataFor
+ nie: .
+}
diff --git a/data/ontology/nmm.trig b/data/ontology/nmm.trig
new file mode 100644
index 00000000..071bc542
--- /dev/null
+++ b/data/ontology/nmm.trig
@@ -0,0 +1,354 @@
+#
+# Copyright (c) 2009-2010 Evgeny Egorochkin <phreedom.stdin@gmail.com>
+# Copyright (c) 2010-2011 Sebastian Trueg <trueg@kde.org>
+# Copyright (c) 2010 Andrew Lake <jamboarder@yahoo.com>
+# All rights reserved, licensed under either CC-BY or BSD.
+#
+# You are free:
+# * to Share - to copy, distribute and transmit the work
+# * to Remix - to adapt the work
+# Under the following conditions:
+# * Attribution - You must attribute the work in the manner specified by the author
+# or licensor (but not in any way that suggests that they endorse you or your use
+# of the work).
+#
+# Redistribution and use in source and binary forms, with or without modification,
+# are permitted provided that the following conditions are met:
+# * Redistributions of source code must retain the above copyright notice, this
+# list of conditions and the following disclaimer.
+# * Redistributions in binary form must reproduce the above copyright notice, this
+# list of conditions and the following disclaimer in the documentation and/or
+# other materials provided with the distribution.
+# * Neither the names of the authors nor the names of contributors may
+# be used to endorse or promote products derived from this ontology without
+# specific prior written permission.
+#
+# THIS ONTOLOGY IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+# THIS ONTOLOGY, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+#
+
+@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 nao: <http://www.semanticdesktop.org/ontologies/2007/08/15/nao#> .
+@prefix nco: <http://www.semanticdesktop.org/ontologies/2007/03/22/nco#> .
+@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
+@prefix nie: <http://www.semanticdesktop.org/ontologies/2007/01/19/nie#> .
+@prefix nfo: <http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#> .
+@prefix nmm: <http://www.semanticdesktop.org/ontologies/2009/02/19/nmm#> .
+
+nmm: {
+
+ nmm:MusicPiece
+ a rdfs:Class ;
+ rdfs:subClassOf nfo:Audio ;
+ rdfs:label "music" ;
+ rdfs:comment "Used to assign music-specific properties such a BPM to video and audio" .
+
+ nmm:musicAlbum
+ a rdf:Property ;
+ rdfs:subPropertyOf nie:isLogicalPartOf ;
+ rdfs:label "album" ;
+ rdfs:comment "Album the music belongs to" ;
+ rdfs:domain nmm:MusicPiece ;
+ rdfs:range nmm:MusicAlbum ;
+ nrl:maxCardinality 1 .
+
+ nmm:beatsPerMinute
+ a rdf:Property ;
+ rdfs:label "Beats per minute" ;
+ rdfs:comment "beats per minute" ;
+ rdfs:domain nmm:MusicPiece ;
+ rdfs:range xsd:integer .
+
+ nmm:performer
+ a rdf:Property ;
+ rdfs:subPropertyOf nco:contributor ;
+ rdfs:label "performer" ;
+ rdfs:comment "Performer" ;
+ rdfs:domain nmm:MusicPiece ;
+ rdfs:range nco:Contact .
+
+ nmm:composer
+ a rdf:Property ;
+ rdfs:subPropertyOf nco:contributor ;
+ rdfs:label "composer" ;
+ rdfs:comment "Composer" ;
+ rdfs:domain nmm:MusicPiece ;
+ rdfs:range nco:Contact .
+
+ nmm:lyricist
+ a rdf:Property ;
+ rdfs:subPropertyOf nco:contributor ;
+ rdfs:label "lyricist";
+ rdfs:comment "Lyricist";
+ rdfs:domain nmm:MusicPiece ;
+ rdfs:range nco:Contact .
+
+ nmm:trackNumber
+ a rdf:Property ;
+ rdfs:label "track number" ;
+ rdfs:comment "Track number of the music in its album" ;
+ rdfs:domain nmm:MusicPiece ;
+ rdfs:range xsd:integer ;
+ nrl:maxCardinality 1 .
+
+ nmm:musicBrainzTrackID
+ a rdf:Property ;
+ rdfs:subPropertyOf nie:identifier ;
+ rdfs:label "musicbrainz track ID" ;
+ rdfs:comment "MusicBrainz track ID" ;
+ rdfs:domain nmm:MusicPiece ;
+ rdfs:range xsd:integer ;
+ nrl:maxCardinality 1 .
+
+ nmm:trackGain
+ a rdf:Property ;
+ rdfs:label "track gain" ;
+ rdfs:comment "ReplayGain track gain" ;
+ rdfs:domain nmm:MusicPiece ;
+ rdfs:range xsd:float ;
+ nrl:maxCardinality 1 .
+
+ nmm:trackPeakGain
+ a rdf:Property ;
+ rdfs:label "track peak gain" ;
+ rdfs:comment "ReplayGain track peak gain" ;
+ rdfs:domain nmm:MusicPiece ;
+ rdfs:range xsd:float ;
+ nrl:maxCardinality 1 .
+
+
+ nmm:MusicAlbum
+ a rdfs:Class ;
+ rdfs:subClassOf nfo:MediaList ;
+ rdfs:label "music album" ;
+ rdfs:comment "The music album as provided by the publisher. Not to be confused with media lists or collections." .
+
+ nmm:musicCDIdentifier
+ a rdf:Property ;
+ rdfs:subPropertyOf nie:identifier ;
+ rdfs:label "music CD identifier" ;
+ rdfs:comment "Music CD identifier to for databases like FreeDB.org. This property is intended for music that comes from a CD, so that the CD can be identified in external databases." ;
+ rdfs:domain nmm:MusicAlbum ;
+ rdfs:range xsd:string .
+
+ nmm:internationalStandardRecordingCode
+ a rdf:Property ;
+ rdfs:subPropertyOf nie:identifier ;
+ rdfs:label "international standard recording code" ;
+ rdfs:comment "ISRC ID. Format: 'CC-XXX-YY-NNNNN'" ;
+ rdfs:domain nmm:MusicAlbum ;
+ rdfs:range xsd:string ;
+ nrl:maxCardinality 1 .
+
+ nmm:musicBrainzAlbumID
+ a rdf:Property ;
+ rdfs:subPropertyOf nie:identifier ;
+ rdfs:label "musicbrainz album ID" ;
+ rdfs:comment "MusicBrainz album ID" ;
+ rdfs:domain nmm:MusicAlbum ;
+ rdfs:range xsd:string ;
+ nrl:maxCardinality 1 .
+
+ nmm:albumGain
+ a rdf:Property ;
+ rdfs:label "album gain" ;
+ rdfs:comment "ReplayGain album(audiophile) gain" ;
+ rdfs:domain nmm:MusicAlbum ;
+ rdfs:range xsd:float ;
+ nrl:maxCardinality 1 .
+
+ nmm:albumPeakGain
+ a rdf:Property ;
+ rdfs:label "album peak gain" ;
+ rdfs:comment "ReplayGain album(audiophile) peak gain" ;
+ rdfs:domain nmm:MusicAlbum ;
+ rdfs:range xsd:float ;
+ nrl:maxCardinality 1 .
+
+ nmm:genre
+ a rdf:Property ;
+ rdfs:label "genre" ;
+ rdfs:comment "Genre" ;
+ rdfs:domain nfo:Media ;
+ rdfs:range xsd:string .
+
+ nmm:artwork
+ a rdf:Property ;
+ rdfs:label "artwork" ;
+ rdfs:comment "Associated Artwork" ;
+ rdfs:domain nfo:Media ;
+ rdfs:range nfo:Image .
+
+ nmm:Movie
+ a rdfs:Class ;
+ rdfs:subClassOf nfo:Video ;
+ rdfs:label "movie" ;
+ rdfs:comment "A Movie" .
+
+ nmm:TVShow
+ a rdfs:Class ;
+ rdfs:subClassOf nfo:Video ;
+ rdfs:label "tv show" ;
+ rdfs:comment "A TV Show" .
+
+ nmm:TVSeries
+ a rdfs:Class ;
+ rdfs:subClassOf nie:InformationElement ;
+ rdfs:label "tv series" ;
+ rdfs:comment "A TV Series has multiple seasons and episodes" .
+
+ nmm:series
+ a rdf:Property ;
+ rdfs:label "series" ;
+ rdfs:comment "series" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nmm:TVShow ;
+ rdfs:range nmm:TVSeries ;
+ nrl:inverseProperty nmm:hasEpisode .
+
+ nmm:hasEpisode
+ a rdf:Property ;
+ rdfs:label "has episode" ;
+ rdfs:comment "A TVSeries has many episodes" ;
+ rdfs:domain nmm:TVSeries ;
+ rdfs:range nmm:TVShow ;
+ nrl:inverseProperty nmm:series .
+
+ nmm:season
+ a rdf:Property ;
+ rdfs:label "Season" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nmm:TVShow ;
+ rdfs:range xsd:integer .
+
+ nmm:episodeNumber
+ a rdf:Property ;
+ rdfs:label "Episode number" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nmm:TVShow ;
+ rdfs:range xsd:integer .
+
+ nmm:synopsis a rdf:Property ;
+ rdfs:label "synopsis" ;
+ rdfs:comment "Long form description of video content (plot, premise, etc.)" ;
+ nrl:maxCardinality 1 ;
+ rdfs:domain nfo:Video ;
+ rdfs:range xsd:string ;
+ rdfs:subPropertyOf nie:description .
+
+ nmm:audienceRating a rdf:Property ;
+ rdfs:label "audience rating" ;
+ rdfs:comment "Rating used to identify appropriate audience for video (MPAA rating, BBFC, FSK, TV content rating, etc.)" ;
+ rdfs:domain nfo:Video ;
+ rdfs:range xsd:string ;
+ rdfs:subPropertyOf nao:rating .
+
+ nmm:writer
+ a rdf:Property ;
+ rdfs:subPropertyOf nco:contributor ;
+ rdfs:label "writer" ;
+ rdfs:comment "Writer" ;
+ rdfs:domain nfo:Video ;
+ rdfs:range nco:Contact .
+
+ nmm:director
+ a rdf:Property ;
+ rdfs:subPropertyOf nco:contributor ;
+ rdfs:label "director" ;
+ rdfs:comment "Director" ;
+ rdfs:domain nfo:Video ;
+ rdfs:range nco:Contact .
+
+ nmm:producer
+ a rdf:Property ;
+ rdfs:subPropertyOf nco:contributor ;
+ rdfs:label "producer" ;
+ rdfs:comment "Producer" ;
+ rdfs:domain nfo:Video ;
+ rdfs:range nco:Contact .
+
+ nmm:actor
+ a rdf:Property ;
+ rdfs:subPropertyOf nco:contributor ;
+ rdfs:label "actor" ;
+ rdfs:comment "Actor" ;
+ rdfs:domain nfo:Video ;
+ rdfs:range nco:Contact .
+
+ nmm:cinematographer
+ a rdf:Property ;
+ rdfs:subPropertyOf nco:contributor ;
+ rdfs:label "cinematographer" ;
+ rdfs:domain nfo:Video ;
+ rdfs:range nco:Contact .
+
+ nmm:assistantDirector
+ a rdf:Property ;
+ rdfs:subPropertyOf nco:contributor ;
+ rdfs:label "assistant director" ;
+ rdfs:domain nfo:Video ;
+ rdfs:range nco:Contact .
+
+ nmm:releaseDate
+ a rdf:Property ;
+ rdfs:subPropertyOf nie:informationElementDate ;
+ rdfs:label "release date" ;
+ rdfs:comment "The date the media was released." ;
+ rdfs:domain nfo:Media ;
+ rdfs:range xsd:dateTime ;
+ nrl:maxCardinality 1 .
+
+ nmm:albumTrackCount
+ a rdf:Property ;
+ rdfs:label "album track count" ;
+ rdfs:comment "The number of tracks in a music album." ;
+ rdfs:domain nmm:MusicAlbum ;
+ rdfs:range xsd:integer ;
+ nrl:maxCardinality 1 .
+
+ nmm:setNumber
+ a rdf:Property ;
+ rdfs:label "set number" ;
+ rdfs:comment "The part of a set the audio came from." ;
+ rdfs:domain nmm:MusicPiece ;
+ rdfs:range xsd:integer ;
+ nrl:maxCardinality 1 .
+
+ nmm:setSize
+ a rdf:Property ;
+ rdfs:label "set size" ;
+ rdfs:comment "The number of parts in the set." ;
+ rdfs:domain nmm:MusicAlbum ;
+ rdfs:range xsd:integer ;
+ nrl:maxCardinality 1 .
+}
+
+<http://www.semanticdesktop.org/ontologies/2009/02/19/nmm/metadata>
+{
+ nmm:
+ a nrl:DocumentGraph , nrl:Ontology ;
+ nao:hasDefaultNamespace "http://www.semanticdesktop.org/ontologies/2009/02/19/nmm#" ;
+ nao:hasDefaultNamespaceAbbreviation "nmm" ;
+ nao:lastModified "2011-11-25T15:05:29" ;
+ nao:serializationLanguage "TriG" ;
+ nao:status "Testing" ;
+ nrl:updatable "0" ;
+ nao:version "0.8.1" ;
+ nao:prefLabel "Nepomuk Multimedia Ontology" ;
+ nao:description "The Nepomuk Multimedia Ontology defines metadata properties and classes for multimedia files." .
+
+ <http://www.semanticdesktop.org/ontologies/2009/02/19/nmm/metadata>
+ a nrl:GraphMetadata , nrl:DocumentGraph ;
+ nao:serializationLanguage "TriG" ;
+ nrl:coreGraphMetadataFor nmm: .
+}
diff --git a/data/ontology/nmo.trig b/data/ontology/nmo.trig
new file mode 100644
index 00000000..39dbf0ff
--- /dev/null
+++ b/data/ontology/nmo.trig
@@ -0,0 +1,385 @@
+#
+# Copyright (c) 2007 NEPOMUK Consortium
+# Copyright (c) 2009-2011 Sebastian Trueg <trueg@kde.org>
+# All rights reserved, licensed under either CC-BY or BSD.
+#
+# You are free:
+# * to Share - to copy, distribute and transmit the work
+# * to Remix - to adapt the work
+# Under the following conditions:
+# * Attribution - You must attribute the work in the manner specified by the author
+# or licensor (but not in any way that suggests that they endorse you or your use
+# of the work).
+#
+# Redistribution and use in source and binary forms, with or without modification,
+# are permitted provided that the following conditions are met:
+# * Redistributions of source code must retain the above copyright notice, this
+# list of conditions and the following disclaimer.
+# * Redistributions in binary form must reproduce the above copyright notice, this
+# list of conditions and the following disclaimer in the documentation and/or
+# other materials provided with the distribution.
+# * Neither the names of the authors nor the names of contributors may
+# be used to endorse or promote products derived from this ontology without
+# specific prior written permission.
+#
+# THIS ONTOLOGY IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+# THIS ONTOLOGY, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+#
+
+@prefix exif: <http://www.kanzaki.com/ns/exif#> .
+@prefix nid3: <http://www.semanticdesktop.org/ontologies/2007/05/10/nid3#> .
+@prefix nrl: <http://www.semanticdesktop.org/ontologies/2007/08/15/nrl#> .
+@prefix nfo: <http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#> .
+@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
+@prefix tmo: <http://www.semanticdesktop.org/ontologies/2008/05/20/tmo#> .
+@prefix protege: <http://protege.stanford.edu/system#> .
+@prefix nmo: <http://www.semanticdesktop.org/ontologies/2007/03/22/nmo#> .
+@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
+@prefix nexif: <http://www.semanticdesktop.org/ontologies/2007/05/10/nexif#> .
+@prefix ncal: <http://www.semanticdesktop.org/ontologies/2007/04/02/ncal#> .
+@prefix pimo: <http://www.semanticdesktop.org/ontologies/2007/11/01/pimo#> .
+@prefix dcterms: <http://purl.org/dc/terms/> .
+@prefix nao: <http://www.semanticdesktop.org/ontologies/2007/08/15/nao#> .
+@prefix geo: <http://www.w3.org/2003/01/geo/wgs84_pos#> .
+@prefix dc: <http://purl.org/dc/elements/1.1/> .
+@prefix nie: <http://www.semanticdesktop.org/ontologies/2007/01/19/nie#> .
+@prefix nco: <http://www.semanticdesktop.org/ontologies/2007/03/22/nco#> .
+@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
+
+nmo: {nmo:IMMessage
+ a rdfs:Class ;
+ rdfs:comment "A message sent with Instant Messaging software." ;
+ rdfs:label "IMMessage" ;
+ rdfs:subClassOf nmo:Message .
+
+ nmo:Email
+ a rdfs:Class ;
+ rdfs:comment "An email." ;
+ rdfs:label "Email" ;
+ rdfs:subClassOf nmo:Message .
+
+ nmo:messageSubject
+ a rdf:Property ;
+ rdfs:comment "The subject of a message" ;
+ rdfs:domain nmo:Message ;
+ rdfs:label "messageSubject" ;
+ rdfs:range xsd:string ;
+ rdfs:subPropertyOf nie:subject ;
+ nrl:maxCardinality 1 .
+
+ nmo:MessageHeader
+ a rdfs:Class ;
+ rdfs:comment "An arbitrary message header." ;
+ rdfs:label "MessageHeader" ;
+ rdfs:subClassOf rdfs:Resource .
+
+ nmo:references
+ a rdf:Property ;
+ rdfs:comment "Signifies that a message references another message. This property is a generic one. See RFC 2822 Sec. 3.6.4" ;
+ rdfs:domain nmo:Message ;
+ rdfs:label "references" ;
+ rdfs:range nmo:Message .
+
+ nmo:to
+ a rdf:Property ;
+ nao:deprecated true ;
+ rdfs:comment "deprecated in favor of nmo:emailTo" ;
+ rdfs:domain nmo:Email ;
+ rdfs:label "to" ;
+ rdfs:range nco:Contact ;
+ rdfs:subPropertyOf nmo:primaryRecipient .
+
+ nmo:emailTo
+ a rdf:Property ;
+ rdfs:comment "The primary intended recipient of an email." ;
+ rdfs:domain nmo:Email ;
+ rdfs:label "to" ;
+ rdfs:range nco:ContactMedium ;
+ rdfs:subPropertyOf nmo:primaryMessageRecipient .
+
+ nmo:cc
+ a rdf:Property ;
+ nao:deprecated true ;
+ rdfs:comment "deprecated in favor of nmo:emailCc" ;
+ rdfs:domain nmo:Email ;
+ rdfs:label "cc" ;
+ rdfs:range nco:Contact ;
+ rdfs:subPropertyOf nmo:secondaryRecipient .
+
+ nmo:emailCc
+ a rdf:Property ;
+ rdfs:comment "A Contact that is to receive a cc of the email. A cc (carbon copy) is a copy of an email message whose recipient appears on the recipient list, so that all other recipients are aware of it." ;
+ rdfs:domain nmo:Email ;
+ rdfs:label "cc" ;
+ rdfs:range nco:ContactMedium ;
+ rdfs:subPropertyOf nmo:secondaryMessageRecipient .
+
+ nmo:from
+ a rdf:Property ;
+ nao:deprecated true ;
+ rdfs:comment "deprecated in favor of nmo:messageFrom" ;
+ rdfs:domain nmo:Message ;
+ rdfs:label "from" ;
+ rdfs:range nco:Contact .
+
+ nmo:messageFrom
+ a rdf:Property ;
+ rdfs:comment "The sender of the message" ;
+ rdfs:domain nmo:Message ;
+ rdfs:label "from" ;
+ rdfs:range nco:ContactMedium ;
+ nrl:maxCardinality 1 .
+
+ nmo:isRead
+ a rdf:Property ;
+ rdfs:comment "A flag that states the fact that a MailboxDataObject has been read." ;
+ rdfs:domain nmo:Message ;
+ rdfs:label "isRead" ;
+ rdfs:range xsd:boolean ;
+ nrl:maxCardinality 1 .
+
+ nmo:Mailbox
+ a rdfs:Class ;
+ rdfs:comment "A mailbox - container for MailboxDataObjects." ;
+ rdfs:label "Mailbox" ;
+ rdfs:subClassOf nie:InformationElement .
+
+ nmo:MailboxDataObject
+ a rdfs:Class ;
+ rdfs:comment "An entity encountered in a mailbox. Most common interpretations for such an entity include Message or Folder" ;
+ rdfs:label "MailboxDataObject" ;
+ rdfs:subClassOf nie:DataObject .
+
+ nmo:messageHeader
+ a rdf:Property ;
+ rdfs:comment "Links the message wiith an arbitrary message header." ;
+ rdfs:domain nmo:Message ;
+ rdfs:label "messageHeader" ;
+ rdfs:range nmo:MessageHeader ;
+ nrl:maxCardinality "1" .
+
+ nmo:primaryRecipient
+ a rdf:Property ;
+ nao:deprecated true ;
+ rdfs:comment "deprecated in favor of primaryMessageRecipient" ;
+ rdfs:domain nmo:Message ;
+ rdfs:label "primaryRecipient" ;
+ rdfs:range nco:Contact ;
+ rdfs:subPropertyOf nmo:recipient .
+
+ nmo:primaryMessageRecipient
+ a rdf:Property ;
+ rdfs:comment "The primary intended recipient of a message." ;
+ rdfs:domain nmo:Message ;
+ rdfs:label "primaryRecipient" ;
+ rdfs:range nco:ContactMedium ;
+ rdfs:subPropertyOf nmo:messageRecipient .
+
+ nmo:inReplyTo
+ a rdf:Property ;
+ rdfs:comment "Signifies that a message is a reply to another message. This feature is commonly used to link messages into conversations. Note that it is more specific than nmo:references. See RFC 2822 sec. 3.6.4" ;
+ rdfs:domain nmo:Message ;
+ rdfs:label "inReplyTo" ;
+ rdfs:range nmo:Message ;
+ rdfs:subPropertyOf nmo:references ;
+ nrl:maxCardinality 1 .
+
+ nmo:messageId
+ a rdf:Property ;
+ rdfs:comment "An identifier of a message. This property has been inspired by the message-id property defined in RFC 2822, Sec. 3.6.4. It should be used for all kinds of identifiers used by various messaging applications to connect multiple messages into conversations. For email messageids, values are according to RFC2822/sec 3.6.4 and the literal value in RDF must include the brackets." ;
+ rdfs:domain nmo:Message ;
+ rdfs:label "messageId" ;
+ rdfs:range xsd:string ;
+ rdfs:subPropertyOf nie:identifier .
+
+ nmo:receivedDate
+ a rdf:Property ;
+ rdfs:comment "Date when this message was received." ;
+ rdfs:domain nmo:Message ;
+ rdfs:label "receivedDate" ;
+ rdfs:range xsd:dateTime ;
+ rdfs:subPropertyOf dc:date ;
+ nrl:maxCardinality 1 .
+
+ nmo:MimeEntity
+ a rdfs:Class ;
+ rdfs:comment "A MIME entity, as defined in RFC2045, Section 2.4." ;
+ rdfs:label "MimeEntity" ;
+ rdfs:subClassOf nie:InformationElement .
+
+ nmo:replyTo
+ a rdf:Property ;
+ nao:deprecated true ;
+ rdfs:comment "deprecated in favor of nmo:messageReplyTo" ;
+ rdfs:domain nmo:Message ;
+ rdfs:label "replyTo" ;
+ rdfs:range nco:Contact .
+
+ nmo:messageReplyTo
+ a rdf:Property ;
+ rdfs:comment "An address where the reply should be sent." ;
+ rdfs:domain nmo:Message ;
+ rdfs:label "replyTo" ;
+ rdfs:range nco:ContactMedium ;
+ nrl:maxCardinality 1 .
+
+ nmo:recipient
+ a rdf:Property ;
+ nao:deprecated true ;
+ rdfs:comment "deprecated in favor of nmo:messageRecipient" ;
+ rdfs:domain nmo:Message ;
+ rdfs:label "recipient" ;
+ rdfs:range nco:Contact .
+
+ nmo:messageRecipient
+ a rdf:Property ;
+ rdfs:comment "A common superproperty for all properties that link a message with its recipients. Please don't use this property directly." ;
+ rdfs:domain nmo:Message ;
+ rdfs:label "recipient" ;
+ rdfs:range nco:ContactMedium .
+
+ nmo:bcc
+ a rdf:Property ;
+ nao:deprecated true ;
+ rdfs:comment "deprecated in favor of nmo:emailBcc" ;
+ rdfs:domain nmo:Email ;
+ rdfs:label "bcc" ;
+ rdfs:range nco:Contact ;
+ rdfs:subPropertyOf nmo:secondaryRecipient .
+
+ nmo:emailBcc
+ a rdf:Property ;
+ rdfs:comment "A Contact that is to receive a bcc of the email. A Bcc (blind carbon copy) is a copy of an email message sent to a recipient whose email address does not appear in the message." ;
+ rdfs:domain nmo:Email ;
+ rdfs:label "bcc" ;
+ rdfs:range nco:ContactMedium ;
+ rdfs:subPropertyOf nmo:secondaryMessageRecipient .
+
+ nmo:secondaryRecipient
+ a rdf:Property ;
+ nao:deprecated true ;
+ rdfs:comment "deprecated in favor of nmo:secondaryMessageRecipient" ;
+ rdfs:domain nmo:Message ;
+ rdfs:label "secondaryRecipient" ;
+ rdfs:range nco:Contact ;
+ rdfs:subPropertyOf nmo:recipient .
+
+ nmo:secondaryMessageRecipient
+ a rdf:Property ;
+ rdfs:comment "A superproperty for all \"additional\" recipients of a message." ;
+ rdfs:domain nmo:Message ;
+ rdfs:label "secondaryRecipient" ;
+ rdfs:range nco:ContactMedium ;
+ rdfs:subPropertyOf nmo:messageRecipient .
+
+ nmo:contentMimeType
+ a rdf:Property ;
+ rdfs:comment """Key used to store the MIME type of the content of an object when it is different from the object's main MIME type. This value can be used, for example, to model an e-mail message whose mime type is\"message/rfc822\", but whose content has type \"text/html\". If not specified, the MIME type of the
+content defaults to the value specified by the 'mimeType' property.""" ;
+ rdfs:domain nmo:Email ;
+ rdfs:label "contentMimeType" ;
+ rdfs:range xsd:string ;
+ rdfs:subPropertyOf nie:mimeType ;
+ nrl:maxCardinality 1 .
+
+ nmo:plainTextMessageContent
+ a rdf:Property ;
+ rdfs:comment "Plain text representation of the body of the message. For multipart messages, all parts are concatenated into the value of this property. Attachments, whose mimeTypes are different from text/plain or message/rfc822 are considered separate DataObjects and are therefore not included in the value of this property." ;
+ rdfs:domain nmo:Message ;
+ rdfs:label "plainTextMessageContent" ;
+ rdfs:range xsd:string ;
+ rdfs:subPropertyOf nie:plainTextContent .
+
+ nmo:Message
+ a rdfs:Class ;
+ rdfs:comment "A message. Could be an email, instant messanging message, SMS message etc." ;
+ rdfs:label "Message" ;
+ rdfs:subClassOf nie:InformationElement .
+
+ nmo:htmlMessageContent
+ a rdf:Property ;
+ rdfs:comment "HTML representation of the body of the message. For multipart messages, all parts are concatenated into the value of this property. Attachments, whose mimeTypes are different from text/plain or message/rfc822 are considered separate DataObjects and are therefore not included in the value of this property." ;
+ rdfs:domain nmo:Message ;
+ rdfs:label "htmlMessageContent" ;
+ rdfs:range xsd:string ;
+ rdfs:subPropertyOf nie:htmlContent .
+
+ nmo:sentDate
+ a rdf:Property ;
+ rdfs:comment "Date when this message was sent." ;
+ rdfs:domain nmo:Message ;
+ rdfs:label "sentDate" ;
+ rdfs:range xsd:dateTime ;
+ rdfs:subPropertyOf dc:date , nie:contentCreated ;
+ nrl:maxCardinality "1" .
+
+ nmo:sender
+ a rdf:Property ;
+ nao:deprecated true ;
+ rdfs:comment "deprecated in favor of nmo:messageSender" ;
+ rdfs:domain nmo:Message ;
+ rdfs:label "sender" ;
+ rdfs:range nco:Contact ;
+ rdfs:subPropertyOf nmo:recipient .
+
+ nmo:messageSender
+ a rdf:Property ;
+ rdfs:comment "The person or agent submitting the message to the network, if other from the one given with the nmo:from property. Defined in RFC 822 sec. 4.4.2" ;
+ rdfs:domain nmo:Message ;
+ rdfs:label "sender" ;
+ rdfs:range nco:ContactMedium ;
+ rdfs:subPropertyOf nmo:messageRecipient ;
+ nrl:maxCardinality 1 .
+
+ nmo:headerName
+ a rdf:Property ;
+ rdfs:comment "Name of the message header." ;
+ rdfs:domain nmo:MessageHeader ;
+ rdfs:label "headerName" ;
+ rdfs:range xsd:string ;
+ nrl:maxCardinality "1" .
+
+ nmo:headerValue
+ a rdf:Property ;
+ rdfs:comment "Value of the message header." ;
+ rdfs:domain nmo:MessageHeader ;
+ rdfs:label "headerValue" ;
+ rdfs:range xsd:string ;
+ nrl:maxCardinality "1" .
+
+ nmo:hasAttachment
+ a rdf:Property ;
+ rdfs:comment "Links a message with files that were sent as attachments." ;
+ rdfs:domain nmo:Message ;
+ rdfs:label "hasAttachment" ;
+ rdfs:range nfo:Attachment ;
+ rdfs:subPropertyOf nie:hasPart .
+}
+
+<http://www.semanticdesktop.org/ontologies/2007/03/22/nmo_metadata#> {<http://www.semanticdesktop.org/ontologies/2007/03/22/nmo_metadata#>
+ a nrl:GraphMetadata ;
+ nrl:coreGraphMetadataFor
+ nmo: .
+
+ nmo: a nrl:Ontology ;
+ nao:creator <http://www.dfki.uni-kl.de/~mylka> ;
+ nao:hasDefaultNamespace
+ "http://www.semanticdesktop.org/ontologies/2007/03/22/nmo#" ;
+ nao:hasDefaultNamespaceAbbreviation
+ "nmo" ;
+ nao:lastModified "2011-05-11T18:08:45.656Z" ;
+ nao:status "Unstable" ;
+ nao:updatable "0 " ;
+ nao:version "0.8.1" ;
+ nao:prefLabel "Nepomuk Message Ontology" ;
+ nao:description "The Nepomuk Message Ontology extends the Nepomuk Information Element framework into the domain of messages. Kinds of messages covered by NMO include Emails and instant messages." .
+}
+
diff --git a/data/ontology/zg.trig b/data/ontology/zg.trig
new file mode 100644
index 00000000..ca375e2f
--- /dev/null
+++ b/data/ontology/zg.trig
@@ -0,0 +1,161 @@
+# README:
+# * The Zeitgeist ontology does not spec out what a "subject" is because we
+# use Nepomuk to describe subjects. With the convention that
+# interpretation=InformationElement and manifestation=DataObject
+# FIXME: NFO might not specify an origin for a rdfs:Resource ??
+
+@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 nrl: <http://www.semanticdesktop.org/ontologies/2007/08/15/nrl#>.
+@prefix nao: <http://www.semanticdesktop.org/ontologies/2007/08/15/nao#>.
+@prefix nie: <http://www.semanticdesktop.org/ontologies/2007/01/19/nie#>.
+@prefix zg: <http://www.zeitgeist-project.com/ontologies/2010/01/27/zg#>.
+
+# interpretations
+
+zg:EventInterpretation
+ a rdfs:Class ;
+ rdfs:comment "Base class for event interpretations. Please do no instantiate directly, but use one of the sub classes. The interpretation of an event describes 'what happened' - fx. 'something was created' or 'something was accessed'" ;
+ rdfs:subClassOf nie:InformationElement .
+
+zg:CreateEvent
+ a rdfs:Class ;
+ rdfs:comment "Event type triggered when an item is created" ;
+ rdfs:subClassOf zg:EventInterpretation .
+
+zg:AccessEvent
+ a rdfs:Class ;
+ rdfs:comment "Event triggered by opening, accessing, or starting a resource. Most zg:AccessEvents will have an accompanying zg:LeaveEvent, but this need not always be the case" ;
+ rdfs:subClassOf zg:EventInterpretation .
+
+zg:LeaveEvent
+ a rdfs:Class ;
+ rdfs:comment "Event triggered by closing, leaving, or stopping a resource. Most zg:LeaveEvents will be following a zg:Access event, but this need not always be the case" ;
+ rdfs:subClassOf zg:EventInterpretation .
+
+zg:ModifyEvent
+ a rdfs:Class ;
+ rdfs:comment "Event triggered by modifying an existing resources. Fx. when editing and saving a file on disk or correcting a typo in the name of a contact" ;
+ rdfs:subClassOf zg:EventInterpretation .
+
+zg:DeleteEvent
+ a rdfs:Class ;
+ rdfs:comment "Event triggered because a resource has been deleted or otherwise made permanently unavailable. Fx. when deleting a file. FIXME: How about when moving to trash?" ;
+ rdfs:subClassOf zg:EventInterpretation .
+
+zg:ReceiveEvent
+ a rdfs:Class ;
+ rdfs:comment "Event triggered when something is received from an external party. The event manifestation must be set according to the world view of the receiving party. Most often the item that is being received will be some sort of message - an email, instant message, or broadcasted media such as micro blogging" ;
+ rdfs:subClassOf zg:EventInterpretation .
+
+zg:SendEvent
+ a rdfs:Class ;
+ rdfs:comment "Event triggered when something is send to an external party. The event manifestation must be set according to the world view of the sending party. Most often the item that is being send will be some sort of message - an email, instant message, or broadcasted media such as micro blogging" ;
+ rdfs:subClassOf zg:EventInterpretation .
+
+zg:AcceptEvent
+ a rdfs:Class ;
+ rdfs:comment "Event triggered when the user accepts a request of some sort. Examples could be answering a phone call, accepting a file transfer, or accepting a friendship request over an IM protocol. See also DenyEvent for when the user denies a similar request" ;
+ rdfs:subClassOf zg:EventInterpretation .
+
+zg:DenyEvent
+ a rdfs:Class ;
+ rdfs:comment "Event triggered when the user denies a request of some sort. Examples could be rejecting a phone call, rejecting a file transfer, or denying a friendship request over an IM protocol. See also AcceptEvent for the converse event type" ;
+ rdfs:subClassOf zg:EventInterpretation .
+
+zg:ExpireEvent
+ a rdfs:Class ;
+ rdfs:comment "Event triggered when something expires or times out. These types of events are normally not triggered by the user, but by the operating system or some external party. Examples are a recurring calendar item or task deadline that expires or a when the user fails to respond to an external request such as a phone call" ;
+ rdfs:subClassOf zg:EventInterpretation .
+
+zg:MoveEvent
+ a rdfs:Class ;
+ rdfs:comment "Event triggered when a resource has been moved from a location to another. Fx. moving a file from a folder to another.";
+ rdfs:subClassOf zg:EventInterpretation.
+
+
+# manifestations
+
+zg:EventManifestation
+ a rdfs:Class ;
+ rdfs:comment "Base class for event manifestation types. Please do no instantiate directly, but use one of the sub classes. The manifestation of an event describes 'how it happened'. Fx. 'the user did this' or 'the system notified the user'" ;
+ rdfs:subClassOf nie:DataObject .
+
+zg:UserActivity
+ a rdfs:Class ;
+ rdfs:comment "An event that was actively performed by the user. For example saving or opening a file by clicking on it in the file manager" ;
+ rdfs:subClassOf zg:EventManifestation .
+
+zg:HeuristicActivity
+ a rdfs:Class ;
+ rdfs:comment "An event that is caused indirectly from user activity or deducted via analysis of other events. Fx. if an algorithm divides a user workflow into disjoint 'projects' based on temporal analysis it could insert heuristic events when the user changed project" ;
+ rdfs:subClassOf zg:EventManifestation .
+
+zg:ScheduledActivity
+ a rdfs:Class ;
+ rdfs:comment "An event that was directly triggered by some user initiated sequence of actions. For example a music player automatically changing to the next song in a playlist" ;
+ rdfs:subClassOf zg:EventManifestation .
+
+zg:WorldActivity
+ a rdfs:Class ;
+ rdfs:comment "An event that was performed by an entity, usually human or organization, other than the user. An example could be logging the activities of other people in a team" ;
+ rdfs:subClassOf zg:EventManifestation .
+
+zg:SystemNotification
+ a rdfs:Class ;
+ rdfs:comment "An event send to the user by the operating system. Examples could include when the user inserts a USB stick or when the system warns that the hard disk is full" ;
+ rdfs:subClassOf zg:EventManifestation .
+
+# event datastructure
+
+zg:Event
+ a rdfs:Class ;
+ rdfs:comment "Something that happened at a point in time. Events are categorized by two primary factors 'what happened' - called the interpretation and 'how did it happen' - called the manifestation. Aside from a timestamp, events can also carry a reference to the entity responsible for instantiating it - called the actor. Normally the event actor is an application, but it need not be. Events happen to zero or more subjects. The subjects are described using the Nepomuk ontologies." ;
+ rdfs:subClassOf rdfs:Resource .
+
+zg:eventId
+ a rdf:Property ;
+ rdfs:comment "A unique integer id assigned to an event by the logging framework when the event is first logged" ;
+ rdfs:domain zg:Event ;
+ rdfs:range xsd:nonNegativeInteger ;
+ rdfs:label "id" ;
+ nrl:maxCardinality "1"^^xsd:nonNegativeInteger .
+
+zg:timestamp
+ a rdf:Property ;
+ rdfs:comment "Timestamp in milliseconds since the Unix Epoch" ;
+ rdfs:domain zg:Event ;
+ rdfs:range xsd:long ;
+ rdfs:label "timestamp" ;
+ nrl:maxCardinality "1"^^xsd:nonNegativeInteger .
+
+zg:hasActor
+ a rdf:Property ;
+ rdfs:comment "The application or entity responsible for emitting the event. For applications the format of this field is the base filename of the corresponding .desktop file with an app:// URI scheme. For example /usr/share/applications/firefox.desktop is encoded as app://firefox.desktop" ;
+ rdfs:domain zg:Event ;
+ rdfs:range rdfs:Resource ;
+ rdfs:label "actor" ;
+ nrl:maxCardinality "1"^^xsd:nonNegativeInteger .
+
+zg:hasEventInterpretation
+ a rdf:Property ;
+ rdfs:domain zg:Event ;
+ rdfs:range zg:EventInterpretation ;
+ nrl:maxCardinality "1"^^xsd:nonNegativeInteger ;
+ rdfs:label "interpretation" ;
+ rdfs:subPropertyOf nie:interpretedAs .
+
+zg:hasEventManifestation
+ a rdf:Property ;
+ rdfs:domain zg:Event ;
+ rdfs:range zg:EventManifestation ;
+ nrl:maxCardinality "1"^^xsd:nonNegativeInteger ;
+ rdfs:label "manifestation" ;
+ rdfs:subPropertyOf rdfs:type .
+
+zg:hasSubject
+ a rdf:Property ;
+ rdfs:domain zg:Event ;
+ rdfs:range rdfs:Resource ;
+ rdfs:label "subject" .
diff --git a/data/ontology2code b/data/ontology2code
new file mode 100755
index 00000000..3375e04a
--- /dev/null
+++ b/data/ontology2code
@@ -0,0 +1,421 @@
+#! /usr/bin/python
+# -.- coding: utf-8 -.-
+
+# Zeitgeist
+#
+# Copyright © 2009-2010 Markus Korn <thekorn@gmx.de>
+# Copyright © 2010 Mikkel Kamstrup Erlandsen <mikkel.kamstrup@gmail.com>
+# Copyright © 2010 Canonical Ltd.
+# By Mikkel Kamstrup Erlandsen <mikkel.kamstrup@gmail.com>
+# Copyright © 2011 Collabora Ltd.
+# By Siegfried-Angel Gevatter Pujals <siegfried@gevatter.com>
+# By Seif Lotfy <seif@lotfy.com>
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License as published by
+# the Free Software Foundation, either version 2.1 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+import os
+import re
+import sys
+import glob
+import codecs
+import commands
+import StringIO
+import collections
+
+import rdflib
+from rdflib import RDF, RDFS
+from rdflib.plugin import register
+try:
+ # rdflib2
+ from rdflib.syntax.serializers import Serializer
+ from rdflib import StringInputSource
+ from rdflib.Namespace import Namespace
+except ImportError:
+ # rdflib3 (LP: #626224)
+ from rdflib.serializer import Serializer
+ from rdflib.parser import StringInputSource
+ from rdflib.namespace import Namespace
+
+NIENS = Namespace("http://www.semanticdesktop.org/ontologies/2007/01/19/nie#")
+
+class SymbolCollection(dict):
+
+ closed = False
+
+ _by_namespace = None
+
+ def __init__(self):
+ self._by_namespace = collections.defaultdict(lambda: [])
+
+ def register(self, uri, parents, display_name, doc):
+ assert not self.closed
+ symbol = Symbol(self, uri, parents, display_name, doc)
+ self[uri] = symbol
+
+ def post_process(self):
+ self.closed = True
+ for symbol in self.itervalues():
+ for (i, parent) in enumerate(symbol.parents):
+ symbol.parents[i] = self[parent]
+ self._by_namespace[symbol.namespace].append(symbol)
+
+ def iter_by_namespace(self):
+ return self._by_namespace.iteritems()
+
+ def debug_print(self):
+ for symbol in self.registered_symbols.itervalues():
+ symbol.debug_print()
+ print
+
+class Symbol:
+
+ name = None
+ namespace = None
+ uri = None
+ parents = None
+ display_name = None
+ doc = None
+
+ _collection = None
+ _children = None
+ _all_children = None
+
+ def __init__(self, collection, uri, parents, display_name, doc):
+ self._collection = collection
+ self.uri = str(uri)
+ self.namespace, self.name = self.uri[self.uri.rfind('/')+1:].split('#')
+ self.name = Utils.camel2upper(self.name)
+ self.namespace = self.namespace.upper()
+ self.parents = [str(parent) for parent in parents]
+ self.display_name = str(display_name) if display_name is not None \
+ else self.name
+ self.doc = str(doc)
+
+ @property
+ def children(self):
+ """ Return all direct children of this Symbol. """
+ if self._children is None:
+ childs = set()
+ for symbol in self._collection.itervalues():
+ if self in symbol.parents:
+ childs.add(symbol)
+ self._children = childs
+ return self._children
+
+ @property
+ def all_children(self):
+ """ Return all children of this Symbol, recursively. """
+ if self._all_children is None:
+ all_children = set()
+ for symbol in self.children:
+ all_children.update([symbol])
+ all_children.update(symbol.all_children)
+ self._all_children = all_children
+ return self._all_children
+
+ def debug_print(self):
+ print "Name: %s" % self.name
+ print " URI: %s" % self.uri
+ print " Display Name: %s" % self.display_name
+ print " Parents: %s" % ', '.join([str(p) for p in self.parents])
+ doc = self.doc if len(self.doc) <= 50 else "%s..." % self.doc[:47]
+ print " Description: %s" % doc
+
+ def __str__(self):
+ return self.name
+
+ def __doc__(self):
+ return self.doc
+
+ def __cmp__(self, other):
+ return cmp(self.namespace, other.namespace) or \
+ cmp(self.name, other.name)
+
+ def __hash__(self):
+ return self.uri.__hash__()
+
+class Utils:
+
+ @staticmethod
+ def escape_chars(text, quotes='"', strip=True):
+ assert len(quotes) == 1
+ text = text.replace('%s' % quotes, '\\%s' % quotes)
+ if strip:
+ text = text.strip()
+ return text
+
+ @staticmethod
+ def camel2upper(name):
+ """
+ Convert CamelCase to CAMEL_CASE
+ """
+ result = ""
+ for i in range(len(name) - 1) :
+ if name[i].islower() and name[i+1].isupper():
+ result += name[i].upper() + "_"
+ else:
+ result += name[i].upper()
+ result += name[-1].upper()
+ return result
+
+ @staticmethod
+ def replace_items(item_set, item_map):
+ if not item_set:
+ return
+ for item, value in item_map.iteritems():
+ try:
+ item_set.remove(item)
+ except KeyError:
+ # item is not in set
+ continue
+ else:
+ # item was in set, replace it with value
+ item_set.add(value)
+
+ @staticmethod
+ def indent(text, indentation):
+ return re.sub(r'(?m)^(.+)$', r'%s\1' % indentation, text)
+
+class OntologyParser:
+
+ symbols = None
+
+ def __init__(self, directory):
+ rdfxml = self._load_rdfxml_from_trig_directory(directory)
+ self.symbols = self._parse(rdfxml)
+
+ @staticmethod
+ def _load_rdfxml_from_trig_directory(directory):
+ if not os.path.isdir(directory):
+ raise SystemExit, 'Directory doesn\'t exist: %s' % directory
+ files = ' '.join(glob.glob(os.path.join(directory, '*.trig')))
+ return commands.getoutput(
+ "cat %s | rapper -i trig -o rdfxml -I ZeitgeistNamespace - " \
+ "2>/dev/null" % files)
+
+ def _parse(self, rdfxml_stream):
+ """
+ Parse an RDFXML stream into a SymbolCollection.
+ """
+ ontology = rdflib.ConjunctiveGraph()
+ ontology.parse(StringInputSource(rdfxml_stream))
+
+ def _get_all_classes(*super_classes):
+ for cls in super_classes:
+ for subclass in ontology.subjects(RDFS.subClassOf, cls):
+ yield subclass
+ for x in _get_all_classes(subclass):
+ yield x
+
+ parent_classes = [NIENS['InformationElement'], NIENS['DataObject']]
+ symbol_classes = set(_get_all_classes(*parent_classes))
+ all_symbols = symbol_classes.union(parent_classes)
+
+ symbols = SymbolCollection()
+ for symbol in sorted(all_symbols):
+ # URI
+ uri = str(symbol)
+
+ # Description
+ comments = list(ontology.objects(symbol, RDFS.comment))
+ doc = comments[0] if comments else ''
+
+ # Display name
+ labels = list(ontology.objects(symbol, RDFS.label))
+ display_name = (labels[0]) if labels else None
+
+ # Parents
+ parents = set(ontology.objects(symbol, RDFS.subClassOf)
+ ).intersection(all_symbols)
+
+ if symbol in symbol_classes:
+ assert parents
+
+ # And we have a new Symbol!
+ symbols.register(uri, parents, display_name, doc)
+
+ symbols.post_process()
+ return symbols
+
+class GenericSerializer:
+
+ parser = None
+ symbols = None
+
+ def __init__(self, parser):
+ self.parser = parser
+ self.symbols = parser.symbols
+
+class PythonSerializer(GenericSerializer):
+
+ def dump(self):
+ for symbol in sorted(self.symbols.itervalues()):
+ parents = set((symbol.uri for symbol in symbol.parents))
+ Utils.replace_items(parents, {
+ str(NIENS['InformationElement']): 'Interpretation',
+ str(NIENS['DataObject']): 'Manifestation' })
+ print "Symbol('%s', parent=%r, uri='%s', display_name='%s', " \
+ "doc='%s', auto_resolve=False)" % (symbol.name, parents,
+ symbol.uri, Utils.escape_chars(symbol.display_name, '\''),
+ Utils.escape_chars(symbol.doc, '\''))
+
+class ValaSerializer(GenericSerializer):
+
+ @staticmethod
+ def symbol_link(symbol):
+ return '%s_%s' % (symbol.namespace, symbol.name)
+
+ @classmethod
+ def build_doc(cls, symbol, doc_prefix=""):
+ """
+ Build a C-style docstring for gtk-doc processing.
+ """
+ uri_link = '<ulink url="%s">%s</ulink>' % (symbol.uri,
+ symbol.uri.replace('#', '&num;'))
+ doc = symbol.doc
+
+ # List children
+ children = ['#' + cls.symbol_link(child) for child in symbol.children]
+ if children:
+ doc += '\n\n Children: %s' % ', '.join(children)
+ else:
+ doc += '\n\n Children: None'
+
+ # List parents
+ parents = ['#' + cls.symbol_link(parent) for parent in symbol.parents]
+ if parents and not parents in (['#INTERPRETATION'], ['#MANIFESTATION']):
+ doc += '\n\n Parents: %s' % ', '.join(parents)
+ else:
+ doc += '\n\n Parents: None'
+
+ # Convert docstring to gtk-doc style C comment
+ doc = doc.replace('\n', '\n *')
+ doc = '/**\n * %s:\n *\n * %s%s\n * \n * %s\n */' % (
+ symbol.name, doc_prefix, uri_link, doc)
+ return doc
+
+ def dump_uris(self, dest):
+ dest.write('namespace Zeitgeist\n{\n')
+ for namespace, symbols in sorted(self.symbols.iter_by_namespace()):
+ dest.write('\n namespace %s\n {\n\n' % namespace)
+ for symbol in sorted(symbols):
+ # FIXME: (event/subject) interpretation/manifestation ??
+ doc = self.build_doc(symbol,
+ doc_prefix='Macro defining the interpretation type ')
+ dest.write(' %s\n' % doc.replace('\n', '\n '
+ ).strip())
+ dest.write(' public const string %s = "%s";\n\n' % (
+ symbol.name, symbol.uri))
+ dest.write(' }\n')
+ dest.write('}\n')
+
+ def dump_symbols(self, dest):
+ dest.write('string uri, display_name, description;\n')
+ dest.write('string[] parents, children, all_children;\n\n')
+ for namespace, symbols in sorted(self.symbols.iter_by_namespace()):
+ for symbol in sorted(symbols):
+ parent_uris = ', '.join('%s.%s' % (s.namespace, s.name) for
+ s in symbol.parents)
+ children_uris = ', '.join('%s.%s' % (s.namespace, s.name)
+ for s in symbol.children)
+ all_children_uris = ', '.join('%s.%s' % (s.namespace,
+ s.name) for s in symbol.all_children)
+ dest.write('uri = Zeitgeist.%s.%s;\n' % (symbol.namespace,
+ symbol.name))
+ dest.write('description = "%s";\n' % Utils.escape_chars(
+ symbol.doc, '"'));
+ dest.write('display_name = "%s";\n' % Utils.escape_chars(
+ symbol.display_name, '"'))
+ dest.write('parents = { %s };\n' % parent_uris)
+ dest.write('children = { %s };\n' % children_uris)
+ dest.write('all_children = { %s };\n' % all_children_uris)
+ dest.write('Symbol.Info.register (uri, display_name, description, ' \
+ 'parents, children, all_children);\n\n')
+
+class OntologyCodeGenerator:
+
+ _INSERTION_MARK = '// *insert-auto-generated-code*'
+
+ _selfpath = None
+ _basepath = None
+ _parser = None
+ _python_serializer = None
+ _vala_serializer = None
+
+ def __init__(self):
+ self._selfpath = os.path.dirname(os.path.abspath(__file__))
+ self._basepath = os.path.join(self._selfpath, '..')
+ self._parser = OntologyParser(os.path.join(self._selfpath, 'ontology'))
+ self._python_serializer = PythonSerializer(self._parser)
+ self._vala_serializer = ValaSerializer(self._parser)
+
+ def generate_python(self):
+ self._python_serializer.dump()
+
+ def generate_vala(self):
+ self._write_file('src/ontology-uris.vala.in', 'src/ontology-uris.vala',
+ self._vala_serializer.dump_uris, 'vala')
+ self._write_file('src/ontology.vala.in', 'src/ontology.vala',
+ self._vala_serializer.dump_symbols, 'vala')
+
+ def _write_file(self, tplfilename, outfilename, content_generator, _type):
+ print >>sys.stderr, "Generating %s..." % outfilename
+
+ # Read template file
+ tplfilename = os.path.join(self._basepath, tplfilename)
+ template = open(tplfilename).read()
+
+ # Generate output
+ content = StringIO.StringIO()
+ content_generator(content)
+ content = content.getvalue().strip('\n')
+
+ # Write header
+ output = StringIO.StringIO()
+ self._write_header(output, _type)
+
+ # Write template, insert the generated output into the correct
+ # position (marked by "// *insert-auto-generated-code*").
+ insertion_pos = template.find(self._INSERTION_MARK)
+ indentation = insertion_pos - template.rfind('\n', 0, insertion_pos) - 1
+ start_pos = template.rfind('\n', 0, insertion_pos) + 1
+ continue_pos = insertion_pos
+ output.write(template[:start_pos])
+ output.write(Utils.indent(content, ' ' * indentation))
+ output.write(template[continue_pos+len(self._INSERTION_MARK):])
+
+ # Write everything to the result file
+ outpath = os.path.join(self._basepath, outfilename)
+ open(outpath, 'w').write(output.getvalue())
+
+ def _write_header(self, dest, _type):
+ if _type == 'vala':
+ dest.write('// This file has been auto-generated by the ' \
+ 'ontology2code script.\n')
+ dest.write('// Do not modify it directly.\n\n')
+ else:
+ raise NotImplementedError
+
+ def _generate_vala_uris(self, dest):
+ pass
+
+if __name__ == "__main__":
+ if len(sys.argv) != 2 or sys.argv[1] not in ('--vala', '--dump-python'):
+ raise SystemExit, 'Usage: %s [--vala|--dump-python]' % \
+ sys.argv[0]
+ generator = OntologyCodeGenerator()
+ if sys.argv[1] == '--vala':
+ generator.generate_vala()
+ elif sys.argv[1] == '--dump-python':
+ generator.generate_python()
diff --git a/data/org.gnome.zeitgeist.service.in b/data/org.gnome.zeitgeist.service.in
new file mode 100644
index 00000000..180116f7
--- /dev/null
+++ b/data/org.gnome.zeitgeist.service.in
@@ -0,0 +1,3 @@
+[D-BUS Service]
+Name=org.gnome.zeitgeist.Engine
+Exec=@prefix@/bin/zeitgeist-daemon
diff --git a/data/zeitgeist-daemon.bash_completion b/data/zeitgeist-daemon.bash_completion
new file mode 100644
index 00000000..6fef7f58
--- /dev/null
+++ b/data/zeitgeist-daemon.bash_completion
@@ -0,0 +1,14 @@
+# -*- shell-script -*-
+#
+# Bash tab auto-completion rules for the zeitgeist-daemon command.
+# Put this file in /etc/bash_completion.d/ and bash will automatically load it.
+#
+# By Siegfried-Angel Gevatter Pujals <siegfried@gevatter.com>
+
+have zeitgeist-daemon &&
+_zeitgeist_daemon()
+{
+ local cur=${COMP_WORDS[COMP_CWORD]}
+ COMPREPLY=($(compgen -W "`zeitgeist-daemon --shell-completion`" -- $cur))
+}
+[ "${have:-}" ] && complete -F _zeitgeist_daemon -o default zeitgeist-daemon