我必须使用SPARQL 1.1端点查询本体版本1.4,因此我无法像ClassAssertion那样使用OWL 2语义等... 本体中的几个属性具有以下格式:
<owl:ObjectProperty rdf:about="&km4c;hasGeometry">
<rdfs:comment>some services and all railway elements have a specific geometry like polygons or linestrings</rdfs:comment>
<rdfs:range rdf:resource="&gis;Geometry"/>
<rdfs:domain>
<owl:Class>
<owl:unionOf rdf:parseType="Collection">
<rdf:Description rdf:about="&km4c;RailwayElement"/>
<rdf:Description rdf:about="&km4c;Service"/>
</owl:unionOf>
</owl:Class>
</rdfs:domain>
</owl:ObjectProperty>
域名或范围是多个班级的联盟。问题是我想要检索具有特定域和范围的所有类,但使用以下查询:
SELECT DISTINCT ?p
{
?p rdfs:range gis:Geometry.
?p rdfs:domain km4c:Service
}
我得不到结果,而不是km4c:hasGeometry。
有没有办法以这种目标以某种方式看待Collection内部?