@prefix void:  <http://rdfs.org/ns/void#> .
@prefix xmls:  <http://www.w3.org/2001/XMLSchema#> .
@prefix ns:    <http://rdfs.org/ns/> .
@prefix owl:   <http://www.w3.org/2002/07/owl#> .
@prefix dce:   <http://purl.org/dc/elements/1.1/> .
@prefix void-ext: <http://ldf.fi/schema/void-ext/> .
@prefix rdfs:  <http://www.w3.org/2000/01/rdf-schema#> .
@prefix purl:  <http://purl.org/dc/terms/> .
@prefix rdf:   <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix ldf.fi: <http://ldf.fi/> .
@prefix dcterms: <http://purl.org/dc/terms/> .
@prefix vext:  <http://ldf.fi/void-ext#> .
@prefix vann:  <http://purl.org/vocab/vann/> .
@prefix foaf:  <http://xmlns.com/foaf/0.1/> .

ldf.fi:void-ext  a                     owl:Ontology ;
        rdfs:comment                   "This ontology contains extensions to the Vocabulary of Interlinked Datasets (VoID). Together, these extensions allow a much richer statistical description of a dataset to be given than is possible by pure VoID alone. For more documentation, see: Eetu Mäkelä: Aether - Generating and Viewing Extended VoID Statistical Descriptions of RDF Datasets. Proceedings of the ESWC 2014 demonstration track, Springer-Verlag, May, 2014." ;
        dce:creator                    "Eetu Mäkelä" ;
        dcterms:created                "2014-02-17"^^xmls:date ;
        dcterms:description            "Extensions to the Vocabulary of Interlinked Datasets (VoID)" ;
        dcterms:modified               "2014-02-17"^^xmls:date ;
        dcterms:publisher              "Semantic Computing Research Group" ;
        dcterms:title                  "Extensions to the Vocabulary of Interlinked Datasets (VoID)" ;
        vann:preferredNamespacePrefix  "void-ext" ;
        vann:preferredNamespaceUri     "http://ldf.fi/void-ext#" ;
        owl:imports                    ns:void ;
        owl:versionInfo                "1.0.0" ;
        foaf:homepage                  void-ext:index.html .

vext:distinctIRIReferences
        a             owl:DatatypeProperty ;
        rdfs:comment  "The total number of distinct IRI references in a void:Dataset. In other words, the number of distinct IRI references that occur in the subject, predicate or object position of triples in the dataset." ;
        rdfs:domain   void:Dataset ;
        rdfs:label    "distinct IRI references" ;
        rdfs:range    xmls:integer .

vext:propertyNamespacePartition
        a                   owl:ObjectProperty ;
        rdfs:comment        "A subset of a void:Dataset that contains only entities that occur in the predicate position of triples in the dataset and start with a certain namespace." ;
        rdfs:domain         void:Dataset ;
        rdfs:label          "property namespace partition" ;
        rdfs:range          void:Dataset ;
        rdfs:subPropertyOf  void:subset .

vext:subjectNamespacePartition
        a                   owl:ObjectProperty ;
        rdfs:comment        "A subset of a void:Dataset that contains only entities that occur in the subject position of triples in the dataset and start with a certain namespace." ;
        rdfs:domain         void:Dataset ;
        rdfs:label          "subject namespace partition" ;
        rdfs:range          void:Dataset ;
        rdfs:subPropertyOf  void:subset .

vext:distinctBlankNodeObjects
        a             owl:DatatypeProperty ;
        rdfs:comment  "The total number of distinct blank node objects in a void:Dataset.  In other words, the number of distinct blank nodes that occur in the object position of triples in the dataset." ;
        rdfs:domain   void:Dataset ;
        rdfs:label    "distinct blank node objects" ;
        rdfs:range    xmls:integer .

vext:distinctBlankNodes
        a             owl:DatatypeProperty ;
        rdfs:comment  "The total number of distinct blank nodes in a void:Dataset. In other words, the number of distinct blank nodes that occur in the subject or object position of triples in the dataset." ;
        rdfs:domain   void:Dataset ;
        rdfs:label    "distinct blank nodes" ;
        rdfs:range    xmls:integer .

vext:distinctIRIReferenceSubjects
        a             owl:DatatypeProperty ;
        rdfs:comment  "The total number of distinct IRI reference subjects in a void:Dataset. In other words, the number of distinct IRI references that occur in the subject position of triples in the dataset." ;
        rdfs:domain   void:Dataset ;
        rdfs:label    "distinct IRI reference subjects" ;
        rdfs:range    xmls:integer .

vext:propertyClassPartition
        a                   owl:ObjectProperty ;
        rdfs:comment        "A subset of a void:Dataset that contains only entities of a certain rdfs:Class that occur in the predicate position of triples in the dataset." ;
        rdfs:domain         void:Dataset ;
        rdfs:label          "property class partition" ;
        rdfs:range          void:Dataset ;
        rdfs:subPropertyOf  void:subset .

vext:distinctIRIReferenceObjects
        a             owl:DatatypeProperty ;
        rdfs:comment  "The total number of distinct IRI reference objects in a void:Dataset. In other words, the number of distinct IRI references that occur in the object position of triples in the dataset." ;
        rdfs:domain   void:Dataset ;
        rdfs:label    "distinct IRI reference objects" ;
        rdfs:range    xmls:integer .

vext:distinctBlankNodeSubjects
        a             owl:DatatypeProperty ;
        rdfs:comment  "The total number of distinct blank node subjects in a void:Dataset. In other words, the number of distinct blank nodes that occur in the subject position of triples in the dataset." ;
        rdfs:domain   void:Dataset ;
        rdfs:label    "distinct blank node subjects" ;
        rdfs:range    xmls:integer .

vext:datatypes  a     owl:DatatypeProperty ;
        rdfs:comment  "The total number of literal datatypes in a void:Dataset. In other words, the number of distinct datatypes that appear in any datatyped literal objects in the dataset." ;
        rdfs:domain   void:Dataset ;
        rdfs:label    "datatypes" ;
        rdfs:range    xmls:integer .

vext:object  a        rdf:Property , owl:FunctionalProperty ;
        rdfs:comment  "the resource that is the object of all triples in an object-based partition." ;
        rdfs:domain   void:Dataset ;
        rdfs:label    "object" ;
        rdfs:range    rdfs:Resource .

vext:objectClasses  a  owl:DatatypeProperty ;
        rdfs:comment  "The total number of distinct object classes in a void:Dataset. In other words, the number of distinct resources occuring as objects of rdf:type triples in the dataset, where the subjects of the rdf:type triples occur in the object position of triples in the (sub-)dataset." ;
        rdfs:domain   void:Dataset ;
        rdfs:label    "object classes" ;
        rdfs:range    xmls:integer .

vext:subjectPartition
        a                   owl:ObjectProperty ;
        rdfs:comment        "A subset of a void:Dataset that contains only triples with a certain subject." ;
        rdfs:domain         void:Dataset ;
        rdfs:label          "subject partition" ;
        rdfs:range          void:Dataset ;
        rdfs:subPropertyOf  void:subset .

vext:objectClassPartition
        a                   owl:ObjectProperty ;
        rdfs:comment        "A subset of a void:Dataset that contains only entities of a certain rdfs:Class that occur in the object position of triples in the dataset." ;
        rdfs:domain         void:Dataset ;
        rdfs:label          "object class partition" ;
        rdfs:range          void:Dataset ;
        rdfs:subPropertyOf  void:subset .

vext:distinctRDFNodes
        a             owl:DatatypeProperty ;
        rdfs:comment  "The total number of distinct RDF nodes in a void:Dataset. In other words, the number of distinct literals, IRI references and blank nodes that occur in the subject, predicate or object position of triples in the dataset." ;
        rdfs:domain   void:Dataset ;
        rdfs:label    "distinct RDF nodes" ;
        rdfs:range    xmls:integer .

vext:languages  a     owl:DatatypeProperty ;
        rdfs:comment  "The total number of literal languages in a void:Dataset. In other words, the number of distinct languages that appear in any language literal objects in the dataset." ;
        rdfs:domain   void:Dataset ;
        rdfs:label    "languages" ;
        rdfs:range    xmls:integer .

vext:namespace  a     owl:ObjectProperty , owl:FunctionalProperty ;
        rdfs:comment  "the namespace that is required of resources to be included into a namespace-based partition." ;
        rdfs:domain   void:Dataset ;
        rdfs:label    "namespace" ;
        rdfs:range    rdfs:Resource .

vext:propertyClasses  a  owl:DatatypeProperty ;
        rdfs:comment  "The total number of distinct property classes in a void:Dataset. In other words, the number of distinct resources occuring as objects of rdf:type triples in the dataset, where the subjects of the rdf:type triples occur in the predicate position of triples in the (sub-)dataset." ;
        rdfs:domain   void:Dataset ;
        rdfs:label    "property classes" ;
        rdfs:range    xmls:integer .

vext:subject  a       owl:ObjectProperty , owl:FunctionalProperty ;
        rdfs:comment  "the resource that is the subject of all triples in a subject-based partition." ;
        rdfs:domain   void:Dataset ;
        rdfs:label    "subject" ;
        rdfs:range    rdfs:Resource .

vext:objectPartition  a     owl:ObjectProperty ;
        rdfs:comment        "A subset of a void:Dataset that contains only triples with a certain object." ;
        rdfs:domain         void:Dataset ;
        rdfs:label          "object partition" ;
        rdfs:range          void:Dataset ;
        rdfs:subPropertyOf  void:subset .

vext:distinctLiterals
        a             owl:DatatypeProperty ;
        rdfs:comment  "The total number of distinct literals in a void:Dataset. In other words, the number of distinct literals that occur in the object position of triples in the dataset." ;
        rdfs:domain   void:Dataset ;
        rdfs:label    "distinct literals" ;
        rdfs:range    xmls:integer .

vext:objectNamespacePartition
        a                   owl:ObjectProperty ;
        rdfs:comment        "A subset of a void:Dataset that contains only entities that occur in the object position of triples in the dataset and start with a certain namespace." ;
        rdfs:domain         void:Dataset ;
        rdfs:label          "object namespace partition" ;
        rdfs:range          void:Dataset ;
        rdfs:subPropertyOf  void:subset .

vext:datatype  a      owl:ObjectProperty , owl:FunctionalProperty ;
        rdfs:comment  "the datatype that is required of literals to be included into a datatype-based partition." ;
        rdfs:domain   void:Dataset ;
        rdfs:label    "datatype" ;
        rdfs:range    rdfs:Resource .

vext:languagePartition
        a                   owl:ObjectProperty ;
        rdfs:comment        "A subset of a void:Dataset that contains only literals that have a certain language tag." ;
        rdfs:domain         void:Dataset ;
        rdfs:label          "object language partition" ;
        rdfs:range          void:Dataset ;
        rdfs:subPropertyOf  void:subset .

vext:language  a      owl:DatatypeProperty , owl:FunctionalProperty ;
        rdfs:comment  "the language that is required of literals to be included into a language-based partition." ;
        rdfs:domain   void:Dataset ;
        rdfs:label    "language" ;
        rdfs:range    rdf:PlainLiteral .

vext:subjectClasses  a  owl:DatatypeProperty ;
        rdfs:comment  "The total number of distinct subject classes in a void:Dataset. In other words, the number of distinct resources occuring as objects of rdf:type triples in the dataset, where the subjects of the rdf:type triples occur in the subject position of triples in the (sub-)dataset." ;
        rdfs:domain   void:Dataset ;
        rdfs:label    "subject classes" ;
        rdfs:range    xmls:integer .

vext:datatypePartition
        a                   owl:ObjectProperty ;
        rdfs:comment        "A subset of a void:Dataset that contains only literals that have a certain datatype." ;
        rdfs:domain         void:Dataset ;
        rdfs:label          "object datatype partition" ;
        rdfs:range          void:Dataset ;
        rdfs:subPropertyOf  void:subset .

vext:length  a        owl:DatatypeProperty ;
        rdfs:comment  "A maximum length (inclusive) that is required for an object to be included in a length-based partition." , "An exact length that is required for an object to be included in a length-based partition." ;
        rdfs:domain   void:Dataset ;
        rdfs:label    "maximum length" , "length" ;
        rdfs:range    xmls:integer .

vext:iriLengthPartition
        a                   owl:ObjectProperty ;
        rdfs:comment        "A subset of a void:Dataset that contains only IRIs that have a certain length." ;
        rdfs:domain         void:Dataset ;
        rdfs:label          "IRI length partition" ;
        rdfs:range          void:Dataset ;
        rdfs:subPropertyOf  void:subset .

vext:minLength  a     owl:DatatypeProperty ;
        rdfs:comment  "A minimum length (inclusive) that is required for an object to be included in a length-based partition." ;
        rdfs:domain   void:Dataset ;
        rdfs:label    "minimum length" ;
        rdfs:range    xmls:integer .

vext:objectIRILengthPartition
        a                   owl:ObjectProperty ;
        rdfs:comment        "A subset of a void:Dataset that contains only IRIs that have a certain length and occur in the object position of triples in the dataset." ;
        rdfs:domain         void:Dataset ;
        rdfs:label          "object IRI length partition" ;
        rdfs:range          void:Dataset ;
        rdfs:subPropertyOf  void:subset .

vext:subjectIRILengthPartition
        a                   owl:ObjectProperty ;
        rdfs:comment        "A subset of a void:Dataset that contains only IRIs that have a certain length and occur in the subject position of triples in the dataset." ;
        rdfs:domain         void:Dataset ;
        rdfs:label          "subject IRI length partition" ;
        rdfs:range          void:Dataset ;
        rdfs:subPropertyOf  void:subset .

vext:propertyIRILengthPartition
        a                   owl:ObjectProperty ;
        rdfs:comment        "A subset of a void:Dataset that contains only IRIs that have a certain length and occur in the property position of triples in the dataset." ;
        rdfs:domain         void:Dataset ;
        rdfs:label          "property IRI length partition" ;
        rdfs:range          void:Dataset ;
        rdfs:subPropertyOf  void:subset .

vext:literalLengthPartition
        a                   owl:ObjectProperty ;
        rdfs:comment        "A subset of a void:Dataset that contains only literals that have a certain length." ;
        rdfs:domain         void:Dataset ;
        rdfs:label          "literal length partition" ;
        rdfs:range          void:Dataset ;
        rdfs:subPropertyOf  void:subset .

vext:averageLiteralLength
        a             owl:DatatypeProperty ;
        rdfs:comment  "The average length of literals in a void:Dataset. In other words, the average length of literals that occur in the object position of triples in the dataset." ;
        rdfs:domain   void:Dataset ;
        rdfs:label    "average literal length" ;
        rdfs:range    xmls:integer .

vext:averageSubjectIRILength
        a             owl:DatatypeProperty ;
        rdfs:comment  "The average length of subject IRIs in a void:Dataset. In other words, the average length of IRIs that occur in the subject position of triples in the dataset." ;
        rdfs:domain   void:Dataset ;
        rdfs:label    "average subject IRI length" ;
        rdfs:range    xmls:integer .

vext:averagePropertyIRILength
        a             owl:DatatypeProperty ;
        rdfs:comment  "The average length of property IRIs in a void:Dataset. In other words, the average length of IRIs that occur in the property position of triples in the dataset." ;
        rdfs:domain   void:Dataset ;
        rdfs:label    "average property IRI length" ;
        rdfs:range    xmls:integer .

vext:averageObjectIRILength
        a             owl:DatatypeProperty ;
        rdfs:comment  "The average length of object IRIs in a void:Dataset. In other words, the average length of IRIs that occur in the object position of triples in the dataset." ;
        rdfs:domain   void:Dataset ;
        rdfs:label    "average object IRI length" ;
        rdfs:range    xmls:integer .

vext:averageIRILength
        a             owl:DatatypeProperty ;
        rdfs:comment  "The average length of IRIs in a void:Dataset. In other words, the average length of IRIs that occur in the subject, predicate or object position of triples in the dataset." ;
        rdfs:domain   void:Dataset ;
        rdfs:label    "average IRI length" ;
        rdfs:range    xmls:integer .
