PREFIX st:   <http://ns.inria.fr/sparql-template/>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX owl: <http://www.w3.org/2002/07/owl#>
PREFIX dcterms: <http://purl.org/dc/terms/>
PREFIX dc: <http://purl.org/dc/elements/1.1/>
PREFIX fun: <http://w3id.org/sparql-generate/fn/>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
PREFIX obo: <http://purl.obolibrary.org/obo/>
PREFIX swrl: <http://www.w3.org/2003/11/swrl#>
PREFIX prov: <http://www.w3.org/ns/prov#>
PREFIX iter: <http://w3id.org/sparql-generate/iter/>
PREFIX schema: <http://schema.org/>

BASE <https://saref.etsi.org/documentation/>

TEMPLATE <dataProperties.rqg>( ) { 

  """\n<div id='dataproperties'>
  <h2>{ fun:property(<en.properties>, 'dataproperties') }</h2>""" 

  BOX { 

    # toc
    TEMPLATE <ontology/toc.rqg>( ?dp )
    WHERE {
      ?dp a owl:DatatypeProperty
      FILTER( ISURI(?dp) ) 
    } ORDER BY ?dp . 

    # description
    TEMPLATE {
      "\n<div id='{fun:prefixedIRI(?dp)}' class='entity'>" BOX {
        "<a name='{?dp}'></a>"
          "\n<h3>" 
            TEMPLATE { ?label } WHERE { ?dp rdfs:label ?label } LIMIT 1 .
            <ontology/backlink.rqg>("dataproperties", "Data Property") 
          "</h3>"
          "\n<p><strong>IRI:</strong> { ?dp }</p>"

          TEMPLATE {
            before = "\n<div class='comment'><p>\n" ;
            TEMPLATE <function/formatText.rqg>(?comment) .
            ; after = "</p></div>"
          }
          WHERE {
            ?dp rdfs:comment ?comment  .
          } .
        
          TEMPLATE <term/dataProperty.rqg>( ?dp ) .

      } "\n</div>"

    } DISTINCT WHERE {
      ?dp a owl:DatatypeProperty
      FILTER( ISURI(?dp) ) 
    } ORDER BY ?dp . 


  }
  "\n</div>"

}