如何使用sparql查询dbpedia.org
我是OpenData的新手,尝试用SPARQL编写查询 我的目标是获取以下一组标准的数据: -类别:家庭自动化 -从类型“Thing”中选择所有项目 -“是的产品”中至少有一个条目 -有一个带有德语描述的图片url 我尝试了以下方法:如何使用sparql查询dbpedia.org,sparql,opendata,Sparql,Opendata,我是OpenData的新手,尝试用SPARQL编写查询 我的目标是获取以下一组标准的数据: -类别:家庭自动化 -从类型“Thing”中选择所有项目 -“是的产品”中至少有一个条目 -有一个带有德语描述的图片url 我尝试了以下方法: PREFIX cat: <http://dbpedia.org/resource/Category:> PREFIX skos: <http://www.w3.org/2004/02/skos/core#> SELECT * WHERE
PREFIX cat: <http://dbpedia.org/resource/Category:>
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
SELECT *
WHERE {
cat:Home_automation skos:broader ?x
}
有人有一些建议吗
更新:新查询:
PREFIX cat: <http://dbpedia.org/resource/Category:>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX owl: <http://www.w3.org/2002/07/owl#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
SELECT ?s ?label WHERE {
?s ?p cat:Home_automation .
?s rdf:type owl:Thing .
?s rdfs:label ?label
FILTER (LANG(?label)='de')
}
order by ?p
前缀cat:
前缀rdf:
前缀owl:
前缀rdfs:
选择“s”标签的位置{
标准普尔类别:家庭自动化。
?s rdf:type owl:Thing。
?s rdfs:标签?标签
过滤器(LANG(?label)='de')
}
点菜人
不清楚您想要什么。您必须首先知道dbpedia包含哪些确切的相关信息以及它们的结构
但是,您可以尝试发现涉及哪些类型的关系cat:Home\u automation
,这样,您就可以更好地了解自己想要什么
我建议从一般查询开始,指定如何在dbpedia中实现cat:Home\u automation
,然后,您可以更具体地提出进一步的查询
列出三元组的查询,其中cat:Home\u automation
是主题:
PREFIX cat: <http://dbpedia.org/resource/Category:>
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
SELECT ?p ?o WHERE {
cat:Home_automation ?p ?o
}
order by ?p
检查结果,看看你感兴趣的是什么,然后继续进一步询问。是的,这是我的问题。这是大学的练习,我们团队中没有人知道如何解决这项任务。我已经在上面添加了所需的结果。您的第二个查询看起来很好,我如何过滤?s以便只获得“Thing”类型的条目?谢谢你的帮助。试了几次后,a得到了正确的结果。感谢您以“cat:Home_automation”作为对象提供的提示。您更新了查询。这就是现在的解决方案吗?不是完整的解决方案,但它是其中的一部分。
PREFIX cat: <http://dbpedia.org/resource/Category:>
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
SELECT ?p ?o WHERE {
cat:Home_automation ?p ?o
}
order by ?p
PREFIX cat: <http://dbpedia.org/resource/Category:>
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
SELECT ?s ?p WHERE {
?s ?p cat:Home_automation
}
order by ?p