PREFIX st:
PREFIX rdf:
PREFIX owl:
PREFIX dcterms:
PREFIX dc:
PREFIX fun:
PREFIX rdfs:
PREFIX skos:
PREFIX obo:
PREFIX swrl:
PREFIX prov:
PREFIX xsd:
BASE
# See https://www.w3.org/TR/owl2-quick-reference/#Individuals_.26_Literals
TEMPLATE ( ?object ) {
# named individual
TEMPLATE {
"{fun:prefixedIRI(?object)}"
"ni"
} WHERE {
FILTER(ISURI(?object))
OPTIONAL {?object rdfs:comment ?comment }
BIND( IF(BOUND(?comment), ?comment, "<>") AS ?commentStr )
} .
# anonymous individual
TEMPLATE {
"Anonymous individual. TODO"
} WHERE {
FILTER(ISBLANK(?object))
} .
# literal
TEMPLATE {
"\"" STR( ?object ) "\""
TEMPLATE {
"^^{ TEMPLATE ( DATATYPE( ?object ) ) . }"
} WHERE {
FILTER( DATATYPE(?object) != rdf:langString
&& DATATYPE(?object) != xsd:string )
} .
TEMPLATE {
"@{ LANG(?object) }"
} WHERE {
FILTER( DATATYPE(?object) = rdf:langString )
} .
} WHERE {
FILTER(ISLITERAL(?object))
} .
}