SPARQL:忽略查询中值的数据类型

时间:2018-12-10 10:46:35

标签: types sparql ontology rdf-xml

我在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

问题:

  1. 为什么结果为空?是因为数据类型不匹配吗?
  2. 我应该怎么做才能使此查询起作用?我无法将rdf:datatype更改为http://www.w3.org/2001/XMLSchema#string。有哪些选择?

指定数据类型看起来很有帮助。

SELECT * WHERE {
    ?s ?p "uuid-v4"^^xsd:float .
}

但是在选择实例之前,我对属性一无所知。唯一可用的信息是"uuid-v4"

0 个答案:

没有答案