SPARQL查询中的无关模式标记
我已经编写了一个Sparql查询SPARQL查询中的无关模式标记,sparql,Sparql,我已经编写了一个Sparql查询 PREFIX table:<http://www.daml.org/2003/01/periodictable/PeriodicTable#> SELECT ?name ?color FROM <PeriodicTable.owl> WHERE { ?element table:group ?group. ?group table:name "Noble Gas". ?element table:name ?name. ?el
PREFIX table:<http://www.daml.org/2003/01/periodictable/PeriodicTable#>
SELECT ?name ?color
FROM <PeriodicTable.owl>
WHERE
{ ?element table:group ?group.
?group table:name "Noble Gas".
?element table:name ?name.
?element table:color ?color.
}
前缀表:
选择“名称”颜色
从…起
哪里
{?元素表:组?组。
?组表:名称“惰性气体”。
?元素表:名称?名称。
?元素表:颜色?颜色。
}
我得到的输出带有模式标记,如下所示:
| "chlorine"^^<http://www.w3.org/2001/XMLSchema#string> | "green"^^<again link>
|“氯”^^ |“绿色”^^
等等|
为什么会发生这种情况,我应该如何更正它?在您正在查询的RDF数据中,有类型化的文本,顾名思义,类型化的文本是与数据类型关联的文本 RDF和SPARQL遵从通用数据类型的定义,因此您可以在输出中看到这些特定URI 您可以让SPARQL引擎使用
STR()
函数从值中去除数据类型,如下所示:
PREFIX table:<http://www.daml.org/2003/01/periodictable/PeriodicTable#>
SELECT (STR(?name) AS ?NameString) (STR(?color) AS ?ColourString)
FROM <PeriodicTable.owl>
WHERE
{
?element table:group ?group.
?group table:name "Noble Gas".
?element table:name ?name.
?element table:color ?color.
}
前缀表:
选择(STR(?name)作为名称字符串(STR(?color)作为颜色字符串)
从…起
哪里
{
?元素表:组?组。
?组表:名称“惰性气体”。
?元素表:名称?名称。
?元素表:颜色?颜色。
}
这需要一个支持SPARQL 1.1的SPARQL引擎,因为它使用了该功能,现在大多数SPARQL引擎都支持该功能