SPARQL-DL:查询文字
SPARQL-DL: query for literals
我在 Java 应用程序中将 SPARQL-DL 与 OWL-API 一起使用。
Maven 依赖项如下:
<dependency>
<groupId>edu.stanford.protege</groupId>
<artifactId>de-derivo-sparqldlapi</artifactId>
<version>2.0.0</version>
</dependency>
我假设它下载了 OWL-API 的正确(兼容)版本。
我有一个 class 人和一些人。每个人都有一个名为 name 的数据 属性,它的范围是一个字符串。
通过运行这个查询:
SELECT ?x WHERE { PropertyValue(?y, my:name, ?x) }
我明白了:
?de.derivo.sparqldlapi.Var@78 = ?"Andrea"^^xsd:string
?de.derivo.sparqldlapi.Var@78 = ?"Pippo"^^xsd:string
?de.derivo.sparqldlapi.Var@78 = ?"Pluto"^^xsd:string
我无法找到所有名字都与 Pluto 相同的人。
SELECT ?p WHERE { PropertyValue(?p, my:name, "Pluto") }
returns 一个空集和
SELECT ?p WHERE { PropertyValue(?p, my:name, "Pluto^^xsd:string") }
returns空集
有什么帮助吗?
提前致谢。
数据类型必须放在引号之外,即 "Pluto"^^xsd:string
不幸的是,从源代码中我可以看出 SPARQL-DL API 不支持数据类型,请参阅 here。所有文字都作为普通文字处理。我认为你应该打开一个功能请求或自己实现它,然后提出一个拉取请求。
我在 Java 应用程序中将 SPARQL-DL 与 OWL-API 一起使用。 Maven 依赖项如下:
<dependency>
<groupId>edu.stanford.protege</groupId>
<artifactId>de-derivo-sparqldlapi</artifactId>
<version>2.0.0</version>
</dependency>
我假设它下载了 OWL-API 的正确(兼容)版本。 我有一个 class 人和一些人。每个人都有一个名为 name 的数据 属性,它的范围是一个字符串。
通过运行这个查询:
SELECT ?x WHERE { PropertyValue(?y, my:name, ?x) }
我明白了:
?de.derivo.sparqldlapi.Var@78 = ?"Andrea"^^xsd:string
?de.derivo.sparqldlapi.Var@78 = ?"Pippo"^^xsd:string
?de.derivo.sparqldlapi.Var@78 = ?"Pluto"^^xsd:string
我无法找到所有名字都与 Pluto 相同的人。
SELECT ?p WHERE { PropertyValue(?p, my:name, "Pluto") }
returns 一个空集和
SELECT ?p WHERE { PropertyValue(?p, my:name, "Pluto^^xsd:string") }
returns空集
有什么帮助吗? 提前致谢。
数据类型必须放在引号之外,即 "Pluto"^^xsd:string
不幸的是,从源代码中我可以看出 SPARQL-DL API 不支持数据类型,请参阅 here。所有文字都作为普通文字处理。我认为你应该打开一个功能请求或自己实现它,然后提出一个拉取请求。