rdfs:range に何らかの XMLSchema データ型を持つプロパティがある場合、Jena reasoner (私の場合は OWL_MEM_RULE_INF 仕様) は rdfs:Resource をその範囲に自動的に追加します。何故ですか?そのプロパティの値として文字通り何でも使用できるということではないでしょうか?
例えば:
<rdf:RDF xmlns="http://mre.kiv.zcu.cz/ontology/2013/01/dasta.owl#"
xml:base="http://mre.kiv.zcu.cz/ontology/2013/01/dasta.owl"
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
xmlns:owl="http://www.w3.org/2002/07/owl#"
xmlns:xsd="http://www.w3.org/2001/XMLSchema#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:ds="http://mre.kiv.zcu.cz/ontology/2013/01/dasta.owl#">
<owl:DatatypeProperty rdf:about="&ds;date">
<rdfs:label>date</rdfs:label>
<rdfs:label xml:lang="en">date</rdfs:label>
<rdfs:range rdf:resource="&xsd;dateTime"/>
</owl:DatatypeProperty>
</rdf:RDF>
クエリ:
PREFIX ds: <http://mre.kiv.zcu.cz/ontology/2013/01/dasta.owl#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
SELECT ?r
WHERE
{
ds:date rdfs:range ?r
}
出力:
---------------------------------------------------
| r |
===================================================
| <http://www.w3.org/2001/XMLSchema#dateTime> |
| <http://www.w3.org/2000/01/rdf-schema#Resource> |
---------------------------------------------------