#
# 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 .

    <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 ;
          nao:userVisible false .

    <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 ;
          nao:userVisible false .

    <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 ;
          nao:userVisible false .

    <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 .

    <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 .

    <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 .

    <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 .

    <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 ;
          a nrl:NonDefiningProperty ;
          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 .

    <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 .

    <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 .

    <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 .

    <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 .

    <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 .

    <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 .

    <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 .

    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 .

    rdf:Property nao:userVisible false .
    rdfs:Class nao:userVisible false .
    rdfs:Resource nao:userVisible true .
    nrl:Graph nao:userVisible false .
}

<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-12-13T12:30:43Z" ;
          nao:serializationLanguage "TriG" ;
          nao:status "Unstable" ;
          nrl:updatable "0" ;
          nao:version "0.10.0" ;
          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." .
}
