@base <http://purl.org/net/provenance/types#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix irw: <http://www.ontologydesignpatterns.org/ont/web/irw.owl#> .
@prefix http: <http://www.w3.org/2006/http#> .
@prefix prvTypes: <> .
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix dcterms: <../../dc/terms/> .
@prefix prov: <http://www.w3.org/ns/prov#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix prv: <ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .

<>
    a foaf:Document ;
    rdfs:label "Document that defines the types module of the Provenance Vocabulary"@en ;
    foaf:primaryTopic <> .

<>
    dcterms:created "2009-11-07T12:00:00Z"^^xsd:dateTime ;
    dcterms:creator <http://olafhartig.de/foaf.rdf#olaf>, <http://users.ox.ac.uk/~zool0770/foaf.rdf#me> ;
    dcterms:description "Extends the Provenance Vocabulary by defining subclasses of the types of provenance elements introduced in the core ontology."@en ;
    dcterms:modified "2012-03-14T12:00:00Z"^^xsd:dateTime ;
    dcterms:title "Provenance Vocabulary types module namespace"@en ;
    a owl:Ontology ;
    owl:imports <ns#> .

prvTypes:DataAccessor
    a owl:Class ;
    rdfs:comment "DataAccessor is a concept that represents a system (i.e. a non-human agent) which performed the data access in order to retrieve an information resource from the Web."@en ;
    rdfs:isDefinedBy <> ;
    rdfs:label "Data Accessor"@en ;
    rdfs:subClassOf prv:NonHumanAgent ;
    owl:equivalentClass irw:WebClient .

prvTypes:DataCreatingDevice
    a owl:Class ;
    rdfs:comment "DataCreatingDevice is a concept that represents a device which performed the creation of a data item. Examples for data creating devices are sensors."@en ;
    rdfs:isDefinedBy <> ;
    rdfs:label "Data Creating Device"@en ;
    rdfs:subClassOf prv:NonHumanAgent, prvTypes:DataCreator ;
    owl:disjointWith prvTypes:DataCreatingEntity, prvTypes:DataCreatingService .

prvTypes:DataCreatingEntity
    a owl:Class ;
    rdfs:comment "DataCreatingEntity is a concept that represents a human agent who performed the creation of a data item, either directly or by being responsible for a non-human data creator (see the concepts prvTypes:DataCreatingService and prvTypes:DataCreatingDevice)."@en ;
    rdfs:isDefinedBy <> ;
    rdfs:label "Data Creating Entity"@en ;
    rdfs:subClassOf prv:HumanAgent, prvTypes:DataCreator ;
    owl:disjointWith prvTypes:DataCreatingDevice, prvTypes:DataCreatingService .

prvTypes:DataCreatingService
    a owl:Class ;
    rdfs:comment "DataCreatingService is a concept that represents a software service which performed the creation of a data item. Examples for data creating services are reasoners, query engines, and workflow engines."@en ;
    rdfs:isDefinedBy <> ;
    rdfs:label "Data Creating Service"@en ;
    rdfs:subClassOf prv:NonHumanAgent, prvTypes:DataCreator ;
    owl:disjointWith prvTypes:DataCreatingDevice, prvTypes:DataCreatingEntity .

prvTypes:DataCreator
    a owl:Class ;
    rdfs:comment "DataCreator is a concept that represents an agent which performed the creation of a data item."@en ;
    rdfs:isDefinedBy <> ;
    rdfs:label "Data Creator"@en ;
    rdfs:subClassOf prov:Agent .

prvTypes:HTTPBasedDataAccess
    a owl:Class ;
    rdfs:comment "An HTTPBasedDataAccess represents the completed execution of accessing a data item using the HTTP protocol."@en ;
    rdfs:isDefinedBy <> ;
    rdfs:label "HTTP-based Data Access"@en ;
    rdfs:subClassOf prv:DataAccess .

prvTypes:Measurement
    a owl:Class ;
    rdfs:comment "Measurement is a concept that represents the execution of a measurement."@en ;
    rdfs:isDefinedBy <> ;
    rdfs:label "Measurement"@en ;
    rdfs:subClassOf prv:DataCreation .

prvTypes:Query
    a owl:Class ;
    rdfs:isDefinedBy <> ;
    rdfs:label "Query"@en ;
    rdfs:subClassOf prv:CreationGuideline .

prvTypes:QueryExecution
    a owl:Class ;
    rdfs:isDefinedBy <> ;
    rdfs:label "Query Execution"@en ;
    rdfs:subClassOf prv:DataCreation, [
        a owl:Restriction ;
        owl:onProperty prv:usedGuideline ;
        owl:someValuesFrom prvTypes:Query
    ] .

prvTypes:QueryResult
    a owl:Class ;
    rdfs:comment "QueryResult is the result of a query execution."@en ;
    rdfs:isDefinedBy <> ;
    rdfs:label "Query Result"@en ;
    rdfs:subClassOf prv:DataItem, [
        a owl:Restriction ;
        owl:allValuesFrom prvTypes:QueryExecution ;
        owl:onProperty prv:createdBy
    ] .

prvTypes:QueryTemplate
    a owl:Class ;
    rdfs:comment "A QueryTemplate is a query that contains placeholders which are replaced by actual data to create an executable query."@en ;
    rdfs:isDefinedBy <> ;
    rdfs:label "Query Template"@en ;
    rdfs:subClassOf prv:CreationGuideline .

prvTypes:SPARQLQuery
    a owl:Class ;
    rdfs:isDefinedBy <> ;
    rdfs:label "SPARQL Query"@en ;
    rdfs:subClassOf prvTypes:Query ;
    owl:disjointWith prvTypes:SQLQuery .

prvTypes:SQLQuery
    a owl:Class ;
    rdfs:isDefinedBy <> ;
    rdfs:label "SQL Query"@en ;
    rdfs:subClassOf prvTypes:Query ;
    owl:disjointWith prvTypes:SPARQLQuery .

prvTypes:Sensor
    a owl:Class ;
    rdfs:isDefinedBy <> ;
    rdfs:label "Sensor"@en ;
    rdfs:subClassOf prvTypes:DataCreatingDevice .

prvTypes:TriplifyMapping
    a owl:Class ;
    rdfs:comment "TriplifyMapping is a concept that represents the mapping defined in a Triplify configuration file."@en ;
    rdfs:isDefinedBy <> ;
    rdfs:label "Triplify Mapping"@en ;
    rdfs:subClassOf prv:CreationGuideline .

prvTypes:exchangedHTTPMessage
    a owl:ObjectProperty ;
    rdfs:comment "This property refers to an HTTP message (request or response) that has been exchanged during an HTTP based data access."@en ;
    rdfs:domain prv:DataAccess ;
    rdfs:isDefinedBy <> ;
    rdfs:label "involved exchange of"@en ;
    rdfs:range http:Message .

<http://rdfs.org/ns/void#Dataset>
    a owl:Class ;
    rdfs:subClassOf prv:DataItem .

irw:WebClient
    a owl:Class .

rdf:Statement
    a owl:Class ;
    rdfs:subClassOf prv:DataItem .

<http://www.w3.org/2004/03/trix/rdfg-1/Graph>
    a owl:Class ;
    rdfs:subClassOf prv:DataItem .

http:Message
    a owl:Class .

