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#>

: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 .

:       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                    sp: , sioc: , foaf:;
        owl:versionInfo                "1.1.5" .

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

: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 .

: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 {}" .

: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 {}" .

: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 .
