2016-06-23 30 views
0

我是语义Web中的新手,我想使用SPARQL查询从DBPedia检索“Apple”的所有属性值对。下面我在http://dbpedia.org/sparql编辑器中编写了查询,但它没有返回任何结果。请告诉我我在哪里犯了一个错误?针对DBPedia的SPARQL查询获取项目的所有属性值

PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> 
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> 
prefix dbo: <http://dbpedia.org/ontology/> 
prefix owl: <http://www.w3.org/2002/07/owl#> 
prefix prov: <http://www.w3.org/ns/prov#> 
prefix foaf: <http://xmlns.com/foaf/0.1/> 
prefix dbp: <http://dbpedia.org/property/> 
prefix dct: <http://purl.org/dc/terms/> 

select * where {<http://http://dbpedia.org/page/Apple> ?property ?value} 

回答

2

你写了http://两次。此外,查询的正确URI是/resource/,而不是/page/

工作查询:

select * where {<http://dbpedia.org/resource/Apple> ?property ?value} 

请记住,这会给你的水果,而不是公司的信息。

+0

非常感谢你@svick,我明白我的错误。还有一件事我想问:在执行该查询时,它会忽略http://dbpedia.org/page/Apple的属性部分中以“is”关键字开头的一些结果,如“is dbo:product of”“is dbo :物种“等。你能告诉如何处理这个问题吗?在此先感谢 – coder

+0

@coder这是相反的关系:'select * where {?value?property }'。 – svick

2

我给你的查询会给你关于苹果公司而不是苹果水果的信息。

PREFIX dbprop: <http://dbpedia.org/property/> 
PREFIX db: <http://dbpedia.org/resource/> 
SELECT ?property, ?value WHERE {db:Apple_Inc ?property ?value}