我的目标:列出与制造商相关的DBpedia智能手机。
示例:
Iphone 6 |苹果
三星Galaxy S6 |三星
Iphone 5 |苹果
索尼xperia Z5 |索尼
我做了什么:
我认为这将是一个联合查询。因此,作为第一步,我尝试获取所有智能手机列表,并成功使用此查询:
SELECT ?phone
where {?phone <http://dbpedia.org/property/type> <http://dbpedia.org/resource/Smartphone>}
但是我没有成功获得制造商名单。我尝试了这个查询以获得Iphone 6的制造商。但它没有用。
SELECT ?Manufacturer
where {?Manufacturer <http://dbpedia.org/property/manufacturer> <http://dbpedia.org/resource/Smartphone>}
答案 0 :(得分:1)
?phone dbp:type dbr:Smartphone
此三元组大致意味着:&#34; type
的{{1}}为?phone
&#34;。这是有道理的,所以你得到了你想要的东西。
Smartphone
此三元组表示:&#34; ?manufacturer dbp:manufacturer dbr:Smartphone
的{{1}}为manufacturer
&#34;。这没有任何意义,?manufacturer
不是可以成为制造商的东西。这就是你没有结果的原因。
你想要的是:
Smartphone
的{{1}}为Smartphone
type
的{{1}}为?phone
在SPARQL中:
Smartphone