@prefix :     <https://www.w3.org/ns/ldt/document-hierarchy#> .
@prefix dct:  <http://purl.org/dc/terms/> .
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
@prefix ldt:  <https://www.w3.org/ns/ldt#> .
@prefix owl:  <http://www.w3.org/2002/07/owl#> .
@prefix rdf:  <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sioc: <http://rdfs.org/sioc/ns#> .
@prefix sp:   <http://spinrdf.org/sp#> .
@prefix spin: <http://spinrdf.org/spin#> .
@prefix vann: <http://purl.org/vocab/vann/> .
@prefix xsd:  <http://www.w3.org/2001/XMLSchema#> .

:ContainerConstructor
        rdf:type          sp:Query , sp:Construct ;
        rdfs:isDefinedBy  : ;
        rdfs:label        "Container constructor" ;
        sp:text           "\n      PREFIX dh:      <https://www.w3.org/ns/ldt/document-hierarchy#>\n      PREFIX sioc:    <http://rdfs.org/sioc/ns#>\n\n      CONSTRUCT {\n        ?this sioc:has_parent [ a dh:Container ] .\n      }\n      WHERE {}" .

:DocumentConstructor  rdf:type  sp:Query , sp:Construct ;
        rdfs:isDefinedBy  : ;
        rdfs:label        "Document constructor" ;
        sp:text           "\n      PREFIX xsd:     <http://www.w3.org/2001/XMLSchema#>\n      PREFIX dh:      <https://www.w3.org/ns/ldt/document-hierarchy#>\n\n      CONSTRUCT {\n        ?this dh:slug ?slug .\n      }\n      WHERE {\n        BIND (STRUUID() AS ?slug)\n}" .

:Item   rdf:type          rdfs:Class ;
        rdfs:comment      "An Item is something which can be in a Container" ;
        rdfs:isDefinedBy  : ;
        rdfs:label        "Item" ;
        rdfs:subClassOf   sioc:Item , :Document .

:Document  rdf:type       rdfs:Class ;
        rdfs:isDefinedBy  : ;
        rdfs:label        "Document" ;
        rdfs:subClassOf   foaf:Document .

:Container  rdf:type      rdfs:Class ;
        rdfs:comment      "An area in which content Items are contained" ;
        rdfs:isDefinedBy  : ;
        rdfs:label        "Container" ;
        rdfs:subClassOf   sioc:Container , :Document .

:       rdf:type                       owl:Ontology ;
        rdfs:label                     "Document hierarchy" ;
        dct:created                    "2016-08-31T21:54:00+02:00"^^xsd:dateTime ;
        dct:license                    <http://www.opendatacommons.org/licenses/pddl/1.0/> ;
        dct:modified                   "2019-12-13T12:06:00+01:00"^^xsd:dateTime ;
        vann:preferredNamespacePrefix  "dh" ;
        vann:preferredNamespaceUri     "https://www.w3.org/ns/ldt/document-hierarchy#" ;
        owl:imports                    sioc: , foaf: , sp: ;
        owl:versionInfo                "1.1.5" .

:slug   rdf:type          owl:DatatypeProperty ;
        rdfs:comment      "A string that will be used to build URI from template such as /{slug}" ;
        rdfs:domain       foaf:Document ;
        rdfs:isDefinedBy  : ;
        rdfs:label        "URI slug" ;
        rdfs:range        xsd:string .

:ItemConstructor  rdf:type  sp:Query , sp:Construct ;
        rdfs:isDefinedBy  : ;
        rdfs:label        "Container constructor" ;
        sp:text           "\n      PREFIX dh:      <https://www.w3.org/ns/ldt/document-hierarchy#>\n      PREFIX sioc:    <http://rdfs.org/sioc/ns#>\n\n      CONSTRUCT {\n        ?this sioc:has_container [ a dh:Container ] .\n      }\n      WHERE {}" .
