@prefix adms:  <http://www.w3.org/ns/adms#> .
@prefix dc:    <http://purl.org/dc/elements/1.1/> .
@prefix rdfs:  <http://www.w3.org/2000/01/rdf-schema#> .
@prefix foaf:  <http://xmlns.com/foaf/0.1/> .
@prefix ppo:   <http://vocab.deri.ie/ppo#> .
@prefix owl:   <http://www.w3.org/2002/07/owl#> .
@prefix xsd:   <http://www.w3.org/2001/XMLSchema#> .
@prefix rdf:   <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix vann:  <http://purl.org/vocab/vann/> .
@prefix dcterms: <http://purl.org/dc/terms/> .

ppo:appliesToResource
        a             rdf:Property ;
        rdfs:comment  "A privacy preference that applies to an rdfs:Resource. When a privacy preference has this property it means that the privacy conditions apply to a resource." ;
        rdfs:domain   ppo:PrivacyPreference ;
        rdfs:label    "applies to resource" ;
        rdfs:range    rdfs:Resource .

ppo:Create  a         owl:Class , rdfs:Class ;
        rdfs:comment  "The Create access control privilege for creating new data elements" ;
        rdfs:label    "Create" .

ppo:hasLiteral  a     owl:DatatypeProperty , rdf:Property ;
        rdfs:comment  "A condition that applies to an rdfs:Literal." ;
        rdfs:domain   ppo:Condition ;
        rdfs:label    "has literal" ;
        rdfs:range    rdfs:Literal .

<http://vocab.deri.ie/ppo#DERI%2C%20NUI%20Galway>
        a              dcterms:Agent ;
        foaf:homepage  <http://www.deri.ie/> , <http://deri.ie> ;
        foaf:member    ppo:owesac , ppo:alepas ;
        foaf:name      "DERI, NUI Galway" .

ppo:hasAccessQuery  a  owl:DatatypeProperty , rdf:Property ;
        rdfs:comment  "An ASK query that denotes a pattern which requesters must satisfy" ;
        rdfs:domain   ppo:AccessSpace ;
        rdfs:label    "access query" ;
        rdfs:range    rdfs:Literal .

ppo:hasProperty  a    rdf:Property ;
        rdfs:comment  "A condition that applies to an rdf:Property." ;
        rdfs:domain   ppo:Condition ;
        rdfs:label    "has property" ;
        rdfs:range    rdf:Property .

ppo:Operator  a       owl:Class , rdfs:Class ;
        rdfs:comment  "The parent logical operator class" ;
        rdfs:label    "Operator" .

ppo:owesac  a          foaf:Person ;
        foaf:homepage  <http://www.deri.ie/about/team/member/owen_sacco/> ;
        foaf:name      "Owen Sacco" .

ppo:PrivacyPreference
        a             owl:Class , rdfs:Class ;
        rdfs:comment  "A privacy preference contains statements about restricting RDF data" ;
        rdfs:label    "Privacy Preference" .

ppo:hasNoAccess  a    rdf:Property ;
        rdfs:comment  "The access control privilege which is not granted to the user. The access control is described using the Web Access Control vocabulary." ;
        rdfs:domain   ppo:PrivacyPreference ;
        rdfs:label    "has no access" .

ppo:resourceAsSubject
        a                   rdf:Property ;
        rdfs:comment        "A condition that applies to a URI when it is a subject of an rdfs:Resource." ;
        rdfs:domain         ppo:Condition ;
        rdfs:label          "resource as subject" ;
        rdfs:range          rdfs:Resource ;
        rdfs:subPropertyOf  rdf:subject .

ppo:appliesToDataset  a  rdf:Property ;
        rdfs:comment  " A privacy preference that applies to a void:Dataset." ;
        rdfs:domain   ppo:PrivacyPreference ;
        rdfs:label    "applies to dataset" .

ppo:rdf  a                  adms:SemanticDistribution ;
        dcterms:FileFormat  <http://vocab.deri.ie/ppo> ;
        adms:accessURL      "http://vocab.deri.ie/ppo.rdf" ;
        adms:status         <http://purl.org/adms/status/Completed> .

ppo:hasAccess  a      rdf:Property ;
        rdfs:comment  "The access control privilege which is granted to the user. The access control is described using the Web Access Control vocabulary." ;
        rdfs:domain   ppo:PrivacyPreference ;
        rdfs:label    "has access" .

ppo:Condition  a      owl:Class , rdfs:Class ;
        rdfs:comment  "A condition contains properties that denote restrictions to the data being protected." ;
        rdfs:label    "Condition" .

ppo:hasLogicalOperator
        a             rdf:Property ;
        rdfs:comment  "The logical operator which a Condition has" ;
        rdfs:domain   ppo:Condition ;
        rdfs:label    "has logical operator" ;
        rdfs:range    ppo:Operator .

ppo:ttl  a                  adms:SemanticDistribution ;
        dcterms:FileFormat  <http://vocab.deri.ie/ppo> ;
        adms:accessURL      "http://vocab.deri.ie/ppo.ttl" ;
        adms:status         <http://purl.org/adms/status/Completed> .

ppo:hasAccessSpace  a  rdf:Property ;
        rdfs:comment  "An access space which a privacy preference has" ;
        rdfs:domain   ppo:PrivacyPreference ;
        rdfs:label    "has access space" ;
        rdfs:range    ppo:AccessSpace .

ppo:And  a               owl:Class , rdfs:Class ;
        rdfs:comment     "Logical conjuction" ;
        rdfs:label       "And" ;
        rdfs:subClassOf  ppo:Operator .

ppo:AccessSpace  a    owl:Class , rdfs:Class ;
        rdfs:comment  "A space which contains ASK queries that test certain requirements which a requester must have" ;
        rdfs:label    "Access Space" .

ppo:hasAccessAgent  a  rdf:Property ;
        rdfs:comment  "An agent who is granted or denied the access control privilege(s)" ;
        rdfs:domain   ppo:AccessSpace ;
        rdfs:label    "has access agent" ;
        rdfs:range    foaf:Agent .

ppo:appliesToContext  a  rdf:Property ;
        rdfs:comment  "A privacy preference that applies to a context in a quad (as specified by N-Quads http://sw.deri.org/2008/07/n-quads/) " ;
        rdfs:domain   ppo:PrivacyPreference ;
        rdfs:label    "applies to context" ;
        rdfs:range    rdfs:Resource .

ppo:appliesToNamedGraph
        a             rdf:Property ;
        rdfs:comment  "A privacy preference that applies to a trix:Graph. When a privacy preference has this property it means that the privacy conditions apply to a named graph." ;
        rdfs:domain   ppo:PrivacyPreference ;
        rdfs:label    "applies to named graph" .

ppo:hasCondition  a   rdf:Property ;
        rdfs:comment  "The conditions which a privacy preference has" ;
        rdfs:domain   ppo:PrivacyPreference ;
        rdfs:label    "has condition" ;
        rdfs:range    ppo:Condition .

ppo:alepas  a          foaf:Person ;
        foaf:homepage  <http://apassant.net> ;
        foaf:name      "Alexandre Passant" .

ppo:hasPriority  a    rdf:Property ;
        rdfs:comment  "A weighted value that specifies the priority (rank) of a privacy preference" ;
        rdfs:domain   ppo:PrivacyPreference ;
        rdfs:label    "has priority" .

ppo:appliesToStatement
        a             rdf:Property ;
        rdfs:comment  "A privacy preference that applies to an rdf:Statement. When a privacy preference has this property it means that the privacy conditions apply to a statement." ;
        rdfs:domain   ppo:PrivacyPreference ;
        rdfs:label    "applies to statement" ;
        rdfs:range    rdf:Statement .

<http://vocab.deri.ie/ppo>
        a                              adms:SemanticAsset , owl:Ontology ;
        dc:creator                     ppo:alepas , ppo:owesac ;
        dcterms:created                "2011-02-15"^^xsd:date ;
        dcterms:description            "An ontology to create privacy preferences for Linked Data" ;
        dcterms:modified               "2013-11-13"^^xsd:date ;
        dcterms:partOf                 <http://vocab.deri.ie> ;
        dcterms:publisher              "http://vocab.deri.ie/ppo#DERI%2C%20NUI%20Galway" ;
        dcterms:status                 <http://purl.org/adms/status/UnderDevelopment> ;
        dcterms:title                  "Privacy Preference Ontology (PPO)" ;
        dcterms:type                   <http://purl.org/adms/assettype/Ontology> ;
        vann:preferredNamespacePrefix  "ppo" ;
        vann:preferredNamespaceUri     "http://vocab.deri.ie/ppo#" ;
        foaf:homepage                  <http://vocab.deri.ie/ppo.html> .

ppo:Update  a         owl:Class , rdfs:Class ;
        rdfs:comment  "The Update access control privilege for updating data elements" ;
        rdfs:label    "Update" .

ppo:classAsObject  a        rdf:Property ;
        rdfs:comment        "A condition that applies to an instance of a class when it is as an object of a resource." ;
        rdfs:domain         ppo:Condition ;
        rdfs:label          "class as object" ;
        rdfs:range          rdfs:Class ;
        rdfs:subPropertyOf  rdf:object .

ppo:Delete  a         owl:Class , rdfs:Class ;
        rdfs:comment  "The Delete access control privilege for deleting data elements" ;
        rdfs:label    "Delete" .

ppo:hasChildCondition
        a             rdf:Property ;
        rdfs:comment  "Nested Conditions" ;
        rdfs:domain   ppo:Condition ;
        rdfs:label    "has child condition" ;
        rdfs:range    ppo:Condition .

ppo:Or  a                owl:Class , rdfs:Class ;
        rdfs:comment     "Logical disjunction" ;
        rdfs:label       "Or" ;
        rdfs:subClassOf  ppo:Operator .

ppo:Not  a               owl:Class , rdfs:Class ;
        rdfs:comment     "Logical Negation" ;
        rdfs:label       "Not" ;
        rdfs:subClassOf  ppo:Operator .

ppo:classAsSubject  a       rdf:Property ;
        rdfs:comment        "A condition that applies to an instance of a class when it is as a subject of a resource." ;
        rdfs:domain         ppo:Condition ;
        rdfs:label          "class as subject" ;
        rdfs:range          rdfs:Class ;
        rdfs:subPropertyOf  rdf:subject .

ppo:resourceAsObject  a     rdf:Property ;
        rdfs:comment        "A condition that applies to a URI when it is an object of an rdfs:Resource." ;
        rdfs:domain         ppo:Condition ;
        rdfs:label          "resource as object" ;
        rdfs:range          rdfs:Resource ;
        rdfs:subPropertyOf  rdf:object .
