Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SPARQL查询中的无关模式标记_Sparql - Fatal编程技术网

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

我已经编写了一个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.
  ?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引擎都支持该功能