【问题标题】:Virtuoso 37000 Error SP030Virtuoso 37000 错误 SP030
【发布时间】:2015-09-08 14:10:56
【问题描述】:

为什么显示这个错误,我在 sparql 中看到查询是正确的,我没有看到前缀有任何错误。

PREFIX rdfs:<http://www.w3.org/2000/01/rdf-schema#> 
PREFIX type: <http://dbpedia.org/class/yago/> 
PREFIX prop: <http://dbpedia.org/property/>

SELECT ?country_name ?population 
WHERE { ?country rdf:type dbpedia-owl:Country;
rdfs:label ?country_name ; 
prop:populationEstimate ?population . 
FILTER (?population > 2334456) . 
FILTER ( lang(?country_name) = 'en')}

错误: Virtuoso 37000 错误 SP030:SPARQL 编译器,第 1 行:在 'http:' 之前的 '

SPARQL 查询: 定义 sql:big-data-const 0 定义输入:default-graph-uri http://dbpedia.org PREFIX rdfs:

【问题讨论】:

    标签: sparql semantics semantic-web virtuoso


    【解决方案1】:

    您向我们展示的查询可能与您实际运行的查询不同。首先,错误消息显示“第 1 行”这一事实让我想知道您是否真的将查询全部运行在一行上。这可以很容易地出现拼写错误。

    当我将您的查询放入 sparql.org's query validator 时,我确实遇到了语法错误,因为没有为 rdf: 定义前缀。这是一个错误:

    第 7 行,第 18 列:未解析的前缀名称:rdf:type

    也就是说,DBpedia 端点的交互式 Web 界面包含一些预定义的命名空间前缀,如果您将问题中的查询粘贴到 the web interface,它就可以正常工作:

    PREFIX rdfs:<http://www.w3.org/2000/01/rdf-schema#> 
    PREFIX type: <http://dbpedia.org/class/yago/> 
    PREFIX prop: <http://dbpedia.org/property/>
    
    SELECT ?country_name ?population 
    WHERE { ?country rdf:type dbpedia-owl:Country;
    rdfs:label ?country_name ; 
    prop:populationEstimate ?population . 
    FILTER (?population > 2334456) . 
    FILTER ( lang(?country_name) = 'en')}
    

    SPARQL results

    我喜欢使用 prefixes that DBpedia defines,因为它使复制和粘贴更容易,所以我使用前缀 dbpprop: 而不是 prop:。我还使用了 langMatches 而不是 lang(...) = ...,因为它适用于语言的区域变体,而后者则不能。我最终得到了这个查询:

    select ?country_name ?population where {
      ?country rdf:type dbpedia-owl:Country ;
               rdfs:label ?country_name ; 
               dbpprop:populationEstimate ?population . 
      filter (?population > 2334456) 
      filter langMatches(lang(?country_name),'en')
    }
    

    SPARQL results

    【讨论】:

    • 谢谢,这与我正在运行的查询相同,当我放入浏览器时,我正在与 json 链接运行,所有这些前缀中的“
    • 第二个 sparql 查询它的工作,但我在浏览器中遇到前缀问题,这是浏览器中显示的内容,dbpedia.org/sparql?default-graph-uri=http://…> PREFIX yago: dbpedia.org/class/yago> PREFIX dbpedia-owl: 选择 ?place WHERE { ?place rdf:type yago:%@ . ?place rdf:type dbpedia-owl:Country } &format=application/json&timeout=100000&debug=on 当我执行它的调用时同样的错误
    • @RrezartA.Prebreza 代码在 cmets 中不能很好地复制。重读您之前的评论;我怀疑这就是你想给我看的,因为它绝对不是一个格式良好的 SPARQL 查询。
    • 你能帮我吗,如何用 sparql 找到 long 和 lat 的国家
    • @RrezartA.Prebreza 我真的不明白这与这个问题有什么关系。如果您有新问题,则应将其作为新问题发布。但我认为在 SPARQL 中处理纬度和经度的 Stack Overflow 上已经有很多示例。
    猜你喜欢
    • 1970-01-01
    • 2010-09-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-23
    • 2018-05-19
    • 1970-01-01
    相关资源
    最近更新 更多