使用Wine 本体,我想创建 SPARQL 查询,以便我可以检索所有葡萄酒及其属性,如下表所示 - 考虑到我不知道属性的名称先验。
vin                  | rdf:type     | vin:hasMaker      |  vin:hasSugar   | ...
==========================================================================  ...
GaryFarrellMerlot    |  vin:Merlot  | vin:Elyse         |  vin:Dry        | ...
--------------------------------------------------------------------------
ElyseZinfandel       |  vin:Elyse   | vin:GaryFarrell   |  vin:Dry        | ...
...
有人可以给我一个提示吗?
--编辑
不可能以我提到的格式获得查询结果,但我可以这样:
vin                |   property     |  value
=================================================
GaryFarrellMerlot  |   rdf:type     |  vin:Merlot
-------------------------------------------------
GaryFarrellMerlot  |   rdf:hasMaker |  vin:Elyse
-------------------------------------------------
...
有了这个选择(感谢cygri):
SELECT DISTINCT ?wine ?property ?value
WHERE { 
       ?o1 a ?class .
       ?wine a ?o1 .
       ?wine ?property ?value .
}
这将采用葡萄酒而不是葡萄酒类型(Merlot -> GaryFarrellMerlot)。唯一的问题是它需要葡萄酒,还需要酒厂、地区、风味等,我只想要葡萄酒及其特性。此外,没有这样的属性vin:Merlot rdfs:subClassOf vin:Wine。有什么提示吗?