@prefix :     <https://www.w3.org/ns/ldt#> .
@prefix dct:  <http://purl.org/dc/terms/> .
@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 sd:   <http://www.w3.org/ns/sparql-service-description#> .
@prefix sp:   <http://spinrdf.org/sp#> .
@prefix spin: <http://spinrdf.org/spin#> .
@prefix spl:  <http://spinrdf.org/spl#> .
@prefix vann: <http://purl.org/vocab/vann/> .
@prefix xsd:  <http://www.w3.org/2001/XMLSchema#> .

:paramName  rdf:type      owl:DatatypeProperty ;
        rdfs:comment      "Local name of the parameter property" ;
        rdfs:isDefinedBy  : ;
        rdfs:label        "Parameter name" ;
        rdfs:range        xsd:string .

:       rdf:type                       owl:Ontology ;
        rdfs:comment                   "Must be imported and reused by LDT applications" ;
        rdfs:label                     "Linked Data Templates ontology" ;
        dct:created                    "2012-10-26T01:04:00+03:00"^^xsd:dateTime ;
        dct:license                    <http://www.opendatacommons.org/licenses/pddl/1.0/> ;
        dct:modified                   "2014-08-24T02:04:00+02:00"^^xsd:dateTime , "2013-03-09T12:33:00+03:00"^^xsd:dateTime , "2012-12-19T02:29:00+03:00"^^xsd:dateTime , "2018-05-21T23:42:00+02:00"^^xsd:dateTime ;
        vann:preferredNamespacePrefix  "ldt" ;
        vann:preferredNamespaceUri     "https://www.w3.org/ns/ldt#" ;
        owl:imports                    <http://spinrdf.org/sp> , <http://spinrdf.org/spin> , sd: ;
        owl:versionInfo                "1.1.4" .

:path   rdf:type          :InheritedProperty , owl:AnnotationProperty ;
        rdfs:comment      "Base-relative URI template for URI building (JAX-RS syntax)" ;
        rdfs:isDefinedBy  : ;
        rdfs:label        "Path" ;
        rdfs:seeAlso      <http://www.w3.org/TR/rdf11-concepts/#section-skolemization> , <http://docs.oracle.com/cd/E19798-01/821-1841/6nmq2cp26/index.html> .

:param  rdf:type          owl:ObjectProperty ;
        rdfs:comment      "Template parameter" ;
        rdfs:domain       :Template ;
        rdfs:isDefinedBy  : ;
        rdfs:label        "Parameter" ;
        rdfs:range        :Parameter ;
        rdfs:seeAlso      spin:constraint .

:query  rdf:type            :InheritedProperty , owl:ObjectProperty ;
        rdfs:comment        "SPIN query to retrieve resource description (DESCRIBE or CONSTRUCT)" ;
        rdfs:domain         :Template ;
        rdfs:isDefinedBy    : ;
        rdfs:label          "Query" ;
        rdfs:range          :Query ;
        rdfs:subPropertyOf  spin:query .

:InheritedProperty  rdf:type  rdfs:Class ;
        rdfs:comment      "Values of this property are inherited by subclasses that do not have this property" ;
        rdfs:isDefinedBy  : ;
        rdfs:label        "Inherited property" ;
        rdfs:subClassOf   owl:AnnotationProperty .

:ontology  rdf:type       owl:FunctionalProperty , owl:ObjectProperty ;
        rdfs:comment      "Application ontology with domain classes and LDT templates" ;
        rdfs:domain       :Application ;
        rdfs:isDefinedBy  : ;
        rdfs:label        "Ontology" ;
        rdfs:range        :Ontology .

:fragment  rdf:type       :InheritedProperty , owl:AnnotationProperty ;
        rdfs:comment      "URI fragment template for blank node skolemization (JAX-RS syntax)" ;
        rdfs:isDefinedBy  : ;
        rdfs:label        "Fragment" ;
        rdfs:seeAlso      <http://www.w3.org/TR/rdf11-concepts/#section-skolemization> , <http://docs.oracle.com/cd/E19798-01/821-1841/6nmq2cp26/index.html> .

spl:Argument  rdf:type  spin:ConstructTemplate .

:Query  rdf:type          rdfs:Class ;
        rdfs:isDefinedBy  : ;
        rdfs:label        "Query" ;
        rdfs:subClassOf   sp:Query ;
        rdfs:subClassOf   [ rdf:type     owl:Class ;
                            rdfs:label   "Graph query forms" ;
                            owl:unionOf  ( sp:Describe sp:Construct )
                          ] .

:base   rdf:type          owl:FunctionalProperty , owl:ObjectProperty ;
        rdfs:comment      "Base URI uniquely identifies the application" ;
        rdfs:domain       :Application ;
        rdfs:isDefinedBy  : ;
        rdfs:label        "Base URI" .

:lang   rdf:type          :InheritedProperty , owl:ObjectProperty ;
        rdfs:comment      "List of  BCP 47 language tags" ;
        rdfs:domain       :Template ;
        rdfs:isDefinedBy  : ;
        rdfs:label        "Content language" ;
        rdfs:range        rdf:List ;
        rdfs:seeAlso      <https://www.w3.org/International/articles/language-tags/> .

:match  rdf:type          :InheritedProperty , owl:DatatypeProperty ;
        rdfs:comment      "Base-relative URI template for URI matching (JAX-RS syntax)" ;
        rdfs:domain       :Template ;
        rdfs:isDefinedBy  : ;
        rdfs:label        "Match" ;
        rdfs:range        xsd:string ;
        rdfs:seeAlso      <http://docs.oracle.com/cd/E19798-01/821-1841/6nmq2cp26/index.html> .

:Ontology  rdf:type       rdfs:Class ;
        rdfs:comment      "Ontology annotated with Linked Data Templates" ;
        rdfs:isDefinedBy  : ;
        rdfs:label        "Ontology" ;
        rdfs:subClassOf   owl:Ontology .

:loadClass  rdf:type      :InheritedProperty , owl:ObjectProperty ;
        rdfs:comment      "Indicates the Java class that will handle requests matched by this template. Needs to start with 'java:' URI scheme." ;
        rdfs:domain       :Template ;
        rdfs:isDefinedBy  : ;
        rdfs:label        "Load class" ;
        rdfs:seeAlso      <http://jena.hpl.hp.com/2005/11/Assembler#loadClass> .

:arg    rdf:type          owl:ObjectProperty ;
        rdfs:comment      "Template call argument" ;
        rdfs:domain       :View ;
        rdfs:isDefinedBy  : ;
        rdfs:label        "Argument" .

:Update  rdf:type         rdfs:Class ;
        rdfs:isDefinedBy  : ;
        rdfs:label        "Update" ;
        rdfs:subClassOf   sp:Update .

:update  rdf:type           :InheritedProperty , owl:ObjectProperty ;
        rdfs:comment        "SPIN update to remove resource description" ;
        rdfs:domain         :Template ;
        rdfs:isDefinedBy    : ;
        rdfs:label          "Update" ;
        rdfs:range          :Update ;
        rdfs:subPropertyOf  spin:update .

:service  rdf:type        owl:FunctionalProperty , owl:ObjectProperty ;
        rdfs:comment      "Service implementing SPARQL Protocol and Graph Store Protocol" ;
        rdfs:domain       :Application ;
        rdfs:isDefinedBy  : ;
        rdfs:label        "SPARQL service" ;
        rdfs:range        sd:Service .

:cacheControl  rdf:type   :InheritedProperty , owl:DatatypeProperty ;
        rdfs:comment      "Value of the HTTP Cache-Control response header" ;
        rdfs:domain       :Template ;
        rdfs:isDefinedBy  : ;
        rdfs:label        "Cache control" ;
        rdfs:range        xsd:string ;
        rdfs:seeAlso      <http://www.w3.org/Protocols/rfc2616/rfc2616-sec13.html#sec13.1.3> .

:extends  rdf:type        owl:ObjectProperty ;
        rdfs:comment      "Super-template from which this template will inherit properties" ;
        rdfs:domain       :Template ;
        rdfs:isDefinedBy  : ;
        rdfs:label        "Extends" ;
        rdfs:range        :Template .

:priority  rdf:type       :InheritedProperty , owl:DatatypeProperty ;
        rdfs:comment      "Template priority (overrides URI template priority)" ;
        rdfs:domain       :Template ;
        rdfs:isDefinedBy  : ;
        rdfs:label        "Priority" ;
        rdfs:range        xsd:float ;
        rdfs:seeAlso      <https://www.w3.org/TR/xslt20/#conflict> .

:Template  rdf:type       rdfs:Class ;
        rdfs:comment      "A class of RDF resources that share the same URI template and SPARQL query template" ;
        rdfs:isDefinedBy  : ;
        rdfs:label        "Resource template" .

:Application  rdf:type    rdfs:Class ;
        rdfs:comment      "Declarative Linked Data application which structure is defined by its ontology and data is access via its SPARQL service" ;
        rdfs:isDefinedBy  : ;
        rdfs:label        "Application" .

:Parameter  rdf:type      rdfs:Class ;
        rdfs:comment      "Represents a query parameter that has predicate, value type, default value etc." ;
        rdfs:isDefinedBy  : ;
        rdfs:label        "Parameter" ;
        rdfs:subClassOf   spl:Argument .
