Используя онтологию 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. Есть намек?