应该像http://pt.dbpedia.org/resource/ .. URI的查询是从那些不同

2019-10-19 02:23发布

我做的是SPARQL查询:

PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT ?label WHERE { 
<http://pt.dbpedia.org/resource/Brasil> rdfs:label ?label.}

我没有得到任何结果?text 。 我检查了URI在我的浏览器,发现rdfs:label属性那里。 是造成URI形式问题http://pt.dbpedia.org/ ? 我已经使用虹膜开始相同的查询http://dbpedia.org/resource/ ,例如, http://dbpedia.org/resource/Google和那些工作。 我使用的耶拿,并能提供展示我如何取消引用IRI代码。

Answer 1:

如果我跑你对查询葡萄牙DBpedia的SPARQL端点 ( http://pt.dbpedia.org/sparql ),我得到你想要(“巴西”)的结果:

SELECT ?label WHERE { 
  <http://pt.dbpedia.org/resource/Brasil> rdfs:label ?label.
}

SPARQL结果 (一个)

运行针对相同的查询主(英语)DBpedia的SPARQL端点 ( http://dbpedia.org/sparql ),但是,我没有得到任何结果。

SELECT ?label WHERE { 
  <http://pt.dbpedia.org/resource/Brasil> rdfs:label ?label.
}

SPARQL结果 (无)

它看起来像你需要确保对查询正确的端点。 在主SPARQL端点,不过,你可以询问事情是owl:sameAsBrasil的葡萄牙语DBpedia中的资源。 例如,

SELECT ?label WHERE { 
  ?brasil owl:sameAs <http://pt.dbpedia.org/resource/Brasil> ;
          rdfs:label ?label .
}

SPARQL结果 (许多)

这就给了你很多的成绩,不过,因为你在各种不同的语言获得的名称。 您可以要求只在葡萄牙的标签,但(你可能要添加distinct位置),你可以得到“巴西”和“巴西”:

SELECT distinct ?label WHERE { 
  ?brasil owl:sameAs <http://pt.dbpedia.org/resource/Brasil> ;
          rdfs:label ?label .
  filter( langMatches(lang(?label),"pt") )
}

SPARQL结果 (二)



文章来源: Should queries with URIs like http://pt.dbpedia.org/resource/.. be different from the ones with URIs like http://dbpedia.org/resource/..?