@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix : <http://cedric.cnam.fr/isid/ontologies/OntoSemStats.owl#> .
@prefix dc: <http://purl.org/dc/elements/1.1/> .
@prefix vann: <http://purl.org/vocab/vann/> .
@prefix ns: <http://creativecommons.org/ns#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix xml: <http://www.w3.org/XML/1998/namespace> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix obda: <https://w3id.org/obda/vocabulary#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix void: <http://rdfs.org/ns/void#> .
@prefix terms: <http://purl.org/dc/terms/> .

<http://cedric.cnam.fr/isid/ontologies/OntoSemStats.owl#>
    ns:license <http://creativecommons.org/licenses/by/2.0/> ;
    dc:creator <https://github.com/PHParis> ;
    dc:description "An ontology to capture the use of OWL 2 semantics in RDF knowledge graphs"@en, "Une ontologie pour capturer les utilisations de la sémantique OWL 2 dans les graphes de connaissances RDF"@fr ;
    dc:issued "2019-11-15"^^xsd:date ;
    dc:rights "Copyright 2019, CNAM" ;
    dc:title "OntoSemStats Ontology"@en ;
    terms:contributor <http://cedric.cnam.fr/~hamdif/>, <http://cedric.cnam.fr/~sisaid/> ;
    vann:preferredNamespacePrefix "OntoSemStats" ;
    a owl:Ontology ;
    owl:versionInfo 1.0 .

:Assertion
    a owl:Class ;
    rdfs:subClassOf :Axiom ;
    owl:disjointUnionOf (:OwlAllDifferent
        :OwlDifferentFrom
        :OwlNegativePropertyAssertion
        :OwlSameAs
        :RdfType
    ) .

:Axiom
    a owl:Class ;
    rdfs:subClassOf :SemanticFeature ;
    owl:disjointUnionOf (:Assertion
        :ClassExpression
        :PropertyAxiom
    ) .

:BooleanConnective
    a owl:Class ;
    rdfs:subClassOf :Class ;
    owl:disjointUnionOf (:OwlComplementOf
        :OwlIntersectionOf
        :OwlUnionOf
    ) .

:Class
    a owl:Class ;
    rdfs:subClassOf :SemanticFeature ;
    owl:disjointUnionOf (:BooleanConnective
        :IndividualEnumeration
        :PropertyRestriction
    ) .

:ClassExpression
    a owl:Class ;
    rdfs:subClassOf :Axiom ;
    owl:disjointUnionOf (:OwlAllDisjointClasses
        :OwlDisjointUnionOf
        :OwlDisjointWith
        :OwlEquivalentClass
        :RdfsSubClassOf
    ) .

:DataRange
    a owl:Class ;
    rdfs:subClassOf :SemanticFeature ;
    owl:disjointUnionOf (:OwlDatatypeComplementOf
        :OwlWithRestrictions
    ) .

:IndividualEnumeration
    a owl:Class ;
    rdfs:subClassOf :Class .

:OwlAllDifferent
    a owl:Class ;
    rdfs:subClassOf :Assertion .

:OwlAllDisjointClasses
    a owl:Class ;
    rdfs:subClassOf :ClassExpression .

:OwlAllDisjointProperties
    a owl:Class ;
    rdfs:subClassOf :PropertyRelation .

:OwlAllValuesFrom
    a owl:Class ;
    rdfs:subClassOf :PropertyRestriction .

:OwlAsymmetricProperty
    a owl:Class ;
    rdfs:subClassOf :PropertyType .

:OwlCardinality
    a owl:Class ;
    rdfs:subClassOf :PropertyRestriction .

:OwlComplementOf
    a owl:Class ;
    rdfs:subClassOf :BooleanConnective .

:OwlDatatypeComplementOf
    a owl:Class ;
    rdfs:subClassOf :DataRange .

:OwlDifferentFrom
    a owl:Class ;
    rdfs:subClassOf :Assertion .

:OwlDisjointUnionOf
    a owl:Class ;
    rdfs:subClassOf :ClassExpression .

:OwlDisjointWith
    a owl:Class ;
    rdfs:subClassOf :ClassExpression .

:OwlEquivalentClass
    a owl:Class ;
    rdfs:subClassOf :ClassExpression .

:OwlEquivalentProperty
    a owl:Class ;
    rdfs:subClassOf :PropertyRelation .

:OwlFunctionalProperty
    a owl:Class ;
    rdfs:subClassOf :PropertyType .

:OwlHasSelf
    a owl:Class ;
    rdfs:subClassOf :PropertyRestriction .

:OwlHasValue
    a owl:Class ;
    rdfs:subClassOf :PropertyRestriction .

:OwlIntersectionOf
    a owl:Class ;
    rdfs:subClassOf :BooleanConnective .

:OwlInverseFunctionalProperty
    a owl:Class ;
    rdfs:subClassOf :PropertyType .

:OwlInverseOf
    a owl:Class ;
    rdfs:subClassOf :PropertyRelation .

:OwlIrreflexiveProperty
    a owl:Class ;
    rdfs:subClassOf :PropertyType .

:OwlMaxCardinality
    a owl:Class ;
    rdfs:subClassOf :PropertyRestriction .

:OwlMaxQualifiedCardinality
    a owl:Class ;
    rdfs:subClassOf :PropertyRestriction .

:OwlMinCardinality
    a owl:Class ;
    rdfs:subClassOf :PropertyRestriction .

:OwlMinQualifiedCardinality
    a owl:Class ;
    rdfs:subClassOf :PropertyRestriction .

:OwlNegativePropertyAssertion
    a owl:Class ;
    rdfs:subClassOf :Assertion .

:OwlOneOf
    a owl:Class ;
    rdfs:subClassOf :IndividualEnumeration .

:OwlPropertyChainAxiom
    a owl:Class ;
    rdfs:subClassOf :PropertyRelation .

:OwlPropertyDisjointWith
    a owl:Class ;
    rdfs:subClassOf :PropertyRelation .

:OwlQualifiedCardinality
    a owl:Class ;
    rdfs:subClassOf :PropertyRestriction .

:OwlReflexiveProperty
    a owl:Class ;
    rdfs:subClassOf :PropertyType .

:OwlSameAs
    a owl:Class ;
    rdfs:subClassOf :Assertion .

:OwlSomeValuesFrom
    a owl:Class ;
    rdfs:subClassOf :PropertyRestriction .

:OwlSymmetricProperty
    a owl:Class ;
    rdfs:subClassOf :PropertyType .

:OwlTransitiveProperty
    a owl:Class ;
    rdfs:subClassOf :PropertyType .

:OwlUnionOf
    a owl:Class ;
    rdfs:subClassOf :BooleanConnective .

:OwlWithRestrictions
    a owl:Class ;
    rdfs:subClassOf :DataRange .

:PropertyAxiom
    a owl:Class ;
    rdfs:subClassOf :Axiom ;
    owl:disjointUnionOf (:PropertyRelation
        :PropertySignature
        :PropertyType
    ) .

:PropertyRelation
    a owl:Class ;
    rdfs:subClassOf :PropertyAxiom ;
    owl:disjointUnionOf (:OwlAllDisjointProperties
        :OwlEquivalentProperty
        :OwlInverseOf
        :OwlPropertyChainAxiom
        :OwlPropertyDisjointWith
        :RdfsSubProperty
    ) .

:PropertyRestriction
    a owl:Class ;
    rdfs:subClassOf :Class ;
    owl:disjointUnionOf (:OwlAllValuesFrom
        :OwlCardinality
        :OwlHasSelf
        :OwlHasValue
        :OwlMaxCardinality
        :OwlMaxQualifiedCardinality
        :OwlMinCardinality
        :OwlMinQualifiedCardinality
        :OwlQualifiedCardinality
        :OwlSomeValuesFrom
    ) .

:PropertySignature
    a owl:Class ;
    rdfs:subClassOf :PropertyAxiom ;
    owl:disjointUnionOf (:RdfsDomain
        :RdfsRange
    ) .

:PropertyType
    a owl:Class ;
    rdfs:subClassOf :PropertyAxiom ;
    owl:disjointUnionOf (:OwlAsymmetricProperty
        :OwlFunctionalProperty
        :OwlInverseFunctionalProperty
        :OwlIrreflexiveProperty
        :OwlReflexiveProperty
        :OwlSymmetricProperty
        :OwlTransitiveProperty
    ) .

:RdfType
    a owl:Class ;
    rdfs:subClassOf :Assertion .

:RdfsDomain
    a owl:Class ;
    rdfs:subClassOf :PropertySignature .

:RdfsRange
    a owl:Class ;
    rdfs:subClassOf :PropertySignature .

:RdfsSubClassOf
    a owl:Class ;
    rdfs:subClassOf :ClassExpression .

:RdfsSubProperty
    a owl:Class ;
    rdfs:subClassOf :PropertyRelation .

:SemanticFeature
    a owl:Class ;
    owl:disjointUnionOf (:Axiom
        :Class
        :DataRange
    ) .

:Stat
    a owl:Class ;
    owl:equivalentClass [
        a owl:Restriction ;
        owl:onClass :SemanticFeature ;
        owl:onProperty :hasSemanticFeature ;
        owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger
    ] .

:definitionCount
    a owl:DatatypeProperty, owl:FunctionalProperty ;
    rdfs:comment "Number of definition of a semantic feature."@en ;
    rdfs:domain :Stat ;
    rdfs:label "definition count"@en ;
    rdfs:range xsd:integer .

:hasSemanticFeature
    a owl:AsymmetricProperty, owl:FunctionalProperty, owl:IrreflexiveProperty, owl:ObjectProperty ;
    rdfs:comment "Specify which OWL 2 or RDFS semantic feature is the target of the given stat."@en ;
    rdfs:domain :Stat ;
    rdfs:label "has semantic feature"@en ;
    rdfs:range :SemanticFeature .

:hasStat
    a owl:AsymmetricProperty, owl:IrreflexiveProperty, owl:ObjectProperty ;
    rdfs:comment "Add a statistic to a void:Dataset."@en ;
    rdfs:domain void:Dataset ;
    rdfs:label "has stat"@en ;
    rdfs:range :Stat .

:usageCount
    a owl:DatatypeProperty, owl:FunctionalProperty ;
    rdfs:comment "Number of usage of a semantic feature."@en ;
    rdfs:domain :Stat ;
    rdfs:label "usage count"@en ;
    rdfs:range xsd:integer .

ns:license
    a owl:AnnotationProperty .

dc:creator
    a owl:AnnotationProperty .

terms:contributor
    a owl:AnnotationProperty .

void:Dataset
    a owl:Class .

