如何使用sparql查询dbpedia.org

问题描述:

我在OpenData中非常新,并尝试在SPARQL中编写查询。如何使用sparql查询dbpedia.org

我的目标是让数据以下的标准集: - 类别:Home_automation - 选择类型的所有项目“事” - 在至少一个进场“的产品” - 有图片与德国的描述

-url我试过如下:

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 
} 

但现在我不知道如何将其他过滤器添加到WHERE子句。 我试图让用户更为宽泛:...获取项目,但我认为这是错误的方向。

我测试了疑问:https://dbpedia.org/sparql

结果应该是:

|   (label)   | (url) 
|--------------------------|----------------------------------- 
|"Kurzzeitwecker"@de  | urls to the picture of the device 
|"Staubsauger"@de   | -||- 
|"Waschmaschine"@de  | -||- 
|"Geschirrspülmaschine"@de | -||- 

任何人都不会有一些提示吗?

更新:新的查询:

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 
+0

您更新了查询。现在是解决方案吗? – AKSW

+0

不是完整的解决方案,但它是其中的一部分。 – kroissma

目前尚不清楚你想要什么。您必须首先知道dbpedia包含的确切相关信息以及它们的结构。

但是,您可以尝试发现cat:Home_automation涉及哪些类型的关系,因此,您可能会更好地了解您想要的内容。

我建议从通用查询开始,指定cat:Home_automation在dbpedia中的出现方式,然后,您可能会变得更具体,并提出进一步的查询。

查询列出的三倍,其中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 

查询列出的三倍,其中cat:Home_automation是一个对象:

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 

检查结果,看看你的有趣,然后继续进一步查询。

+0

是的,这是我的问题,这是对大学的练习,我们团队中没有人知道如何解决任务。我已经在上面添加了所需的结果。 您的第二个查询看起来相当不错,我如何过滤?以便我只能得到“Thing”类型的条目? 感谢您的帮助。 – kroissma

+0

好几次尝试后,得到了正确的结果。感谢您使用“cat:Home_automation”作为对象的提示。 – kroissma