我在RDF / XML中有一个本体实体实例,如下所示:
<owl:NamedIndividual rdf:about="http://example.org#x1">
<rdf:type rdf:resource="http://example.org/Example"/>
<ex:amount rdf:datatype="http://www.w3.org/2001/XMLSchema#float">uuid-v4</ex:amount>
<rdfs:label xml:lang="en">An example instance</rdfs:label>
</owl:NamedIndividual>
我只需要给出它的 <ex:amount>
值,在这种情况下,它是一个字符串 . 我看到的SPARQL查询如下所示:
SELECT * WHERE {
?s ?p "uuid-v4" .
}
如您所见,指定值 "uuid-v4"
是一个字符串,但 <ex:amount>
属性的数据类型是 float
.
问题:
-
为什么结果为空?是因为数据类型不匹配吗?
-
如何使此查询有效?我无法将
rdf:datatype
更改为http://www.w3.org/2001/XMLSchema#string
. 有什么选择?
看起来像指定数据类型有帮助 .
SELECT * WHERE {
?s ?p "uuid-v4"^^xsd:float .
}
但在选择实例之前,我对该属性一无所知 . 唯一可用的信息是 "uuid-v4"