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#>
 
BASE <https://saref.etsi.org/documentation/>

TEMPLATE  <ontology/classDescriptionSubject.rqg>( ?onto,  ?class, ?propertyName, ?property ) {
  before = "\n<dt>{ fun:property(<en.properties>, ?propertyName) }</dt><dd>" ;
  TEMPLATE <ontology/classDescription.rqg>( ?onto,  ?object , true )  . 
  ; separator = "<br/> "
  ; after = "</dd>"
} 
DISTINCT WHERE { ?class ?property ?object OPTIONAL { ?object owl:onProperty ?prop }}
ORDER BY ISBLANK(?object) ?prop ?object