当前位置: 首页 > 知识库问答 >
问题:

在SPARQL、DBpedia上搜索时出现逗号错误

曹乐意
2023-03-14
PREFIX dbo: <http://dbpedia.org/ontology/>
PREFIX dbp: <http://dbpedia.org/property/>
PREFIX dbr: <http://dbpedia.org/resource/>
PREFIX grs: <http://www.georss.org/georss/>
PREFIX geo: <http://www.w3.org/2003/01/geo/wgs84_pos#>

SELECT ?label ?country ?isPartOf ?_type ?capital ?lcity ?geopoint
WHERE {
        { dbr:Eraring,_New_South_Wales rdfs:label ?label  .  FILTER(LANGMATCHES(LANG(?label), "en"))}
          UNION{OPTIONAL{dbr:Eraring,_New_South_Wales dbo:country ?country} }
          UNION{OPTIONAL{dbr:Eraring,_New_South_Wales dbo:isPartOf ?isPartOf}}
          UNION{OPTIONAL{dbr:Eraring,_New_South_Wales <http://purl.org/linguistics/gold/hypernym> ?_type}}
          UNION{OPTIONAL{dbr:Eraring,_New_South_Wales dbo:capital ?capital}}
          UNION{OPTIONAL{dbr:Eraring,_New_South_Wales dbo:largestCity ?lcity}}
          UNION{OPTIONAL{dbr:Eraring,_New_South_Wales grs:point ?geopoint}}
  }

Virtuoso 37000错误SP030:SPARQL编译器,第21行:“_new_south_wales”之前“,”处的语法错误SPARQL查询:#output-format:application/SPARQL-results+JSON define输入:default-graph-uri PREFIX owl:PREFIX xsd:PREFIX rdfs:PREFIX rdfs:PREFIX dbpedia2:PREFIX dbpedia:PREFIX dbpedia:PREFIX dbpedia:PREFIX dbos:PREFIX

下面是您可以自己测试这个查询的链接。Snorql

共有1个答案

禄奇希
2023-03-14

您试图在查询中使用前缀名称,但错误消息指出

dbr:Eraring,_New_South_Wales

作为错误的来源,特别是逗号使解析器失败。

所以让我们来看看W3C推荐:

dbr:Eraring\,_New_South_Wales
SELECT * { dbr:Eraring\,_New_South_Wales ?p ?o }

失败,使用

Virtuoso 37000 Error SP030: SPARQL compiler, line 0: Bad character '\' (0x5c) in SPARQL expression at '\'

一个始终有效的选项是使用完整的IRI。

在DBpediaendpoint上工作的查询是

PREFIX dbo: <http://dbpedia.org/ontology/>
PREFIX dbp: <http://dbpedia.org/property/>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX grs: <http://www.georss.org/georss/>
PREFIX geo: <http://www.w3.org/2003/01/geo/wgs84_pos#>

SELECT ?label ?country ?isPartOf ?_type ?capital ?lcity ?geopoint WHERE {
 VALUES ?s {<http://dbpedia.org/resource/Eraring,_New_South_Wales>} 
 ?s rdfs:label ?label . 
 FILTER(LANGMATCHES(LANG(?label), "en")) 
 OPTIONAL{?s dbo:country ?country} 
 OPTIONAL{?s dbo:isPartOf ?isPartOf} 
 OPTIONAL{?s <http://purl.org/linguistics/gold/hypernym> ?_type} 
 OPTIONAL{?s dbo:capital ?capital} 
 OPTIONAL{?s dbo:largestCity ?lcity} 
 OPTIONAL{?s grs:point ?geopoint} 
}
    null
 类似资料:
  • 问题内容: 我对使用Java代码的SPARQL端点有问题。 特别是,我有这个Java类: 我想检索谓词为“ RDF:type” 的资源“ http://dbpedia.org/resource/Fred_Guy ” 的对象。但是我有一个我不明白的错误: 为什么会出现此错误? 我正在尝试执行此查询 “ http://dbpedia.org/sparql ” 没有写strstarts,我得到这个错误:

  • 问题内容: 我正在尝试使用耶拿创建一个SPARQL查询来查询DBpedia。 当我将查询与独立工具(Twinkle)一起使用时,该查询正在运行,但是当我将其插入此Java代码时,它将返回一个空集。 有什么想法我做错了吗? 问题答案: 问题是你的条款。删除它,一切都很好。有了该子句,我怀疑端点将查询限制在具有该名称的图上,但是不存在这样的图,因此没有结果。 令人困惑的是,查询似乎可以在http://

  • 问题内容: 这个问题已经在这里有了答案 : MySQL查询以逗号分隔的字符串查找值 (11个答案) 2年前关闭。 我有一个MySQL字段,该字段引用另一个表,其中id保存为逗号分隔列表,例如: 代表另一个表中的值。我知道这是很不好的做法,但是错了,但这来自上面,我对此无能为力。现在的问题是,我想使用以下查询在该字段中进行搜索: 现在的问题显然是在此示例查询中几乎可以找到所有条目,因为最常见的ID在

  • 我把所有必需的jar放在类路径中,但仍然得到以下错误: 这是我的代码片段: //错误在第1行。 > 类路径中的Jars: 蚂蚁.jar 同学-1.3.0.jar 共享资源集合-3.2.1.jar dom4j-1.6.1.jar 冬眠3.jar Hibernate注释.jar Hibernate实体管理器.jar Hibernate-搜索引擎-5.6.0.最终.jar Hibernate搜索 orm

  • 问题内容: 我有一个包含逗号分隔值的MySQL表,如下所示: 我要选择其集合中的行。我怎样才能做到这一点? 问题答案: 怎么样

  • 我是sparql的新手,我正在尝试在其中一个属性中搜索一个单词。简单的查询工作良好,但我不知道如何执行全文搜索。我在jena网站上看到了这个例子: