我在SPARQL查询中的错误在哪里?

时间:2017-05-17 08:37:34

标签: sparql semantic-web ontology

"@PREFIX xsd: <http://www.w3.org/2001/XMLSchema#> " +
            "SELECT ?o ?stringTest ?boolTest " +
            "where { "+
            "?s ?p ?o . "+
            "BIND (xsd:string(?o) as ?stringTest). " +
            "BIND (xsd:boolean(?o) as ?boolTest) "+

            "}\n ";

我试图在Eclipse中使用Jena执行此操作,但我无法找到错误。 这是非常简单的查询,我无法弄清楚我的错误是什么。任何人都可以给我一些反馈吗?

这里只有SPARQL代码:

@PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
            SELECT ?o ?stringTest ?boolTest
            where { 
            ?s ?p ?o . 
            BIND (xsd:string(?o) as ?stringTest). 
            BIND (xsd:boolean(?o) as ?boolTest) 

            }

这是我得到的错误:

  

遭遇&#34; &#34; @prefix&#34;&#34;在第1栏第1栏。   期待以下之一:       &#34; \ ufeff&#34; ...       &#34;基础&#34; ...       &#34;前缀&#34; ...       &#34;选择&#34; ...       &#34;描述&#34; ...       &#34;构造&#34; ...       &#34;问&#34; ...

1 个答案:

答案 0 :(得分:2)

正如错误所述,SPARQL处理器遇到@prefix预期prefix

SPARQL 1.1语法使用PREFIX(无@符号)。

Turtle 1.1语法使用@PREFIX(可以追溯到SPARQL之前)或PREFIX(现在首选,因为它与SPARQL 1.1协调一致)。