У меня есть вопрос к этому старому ответу в этом { ссылка }.
Вопрос касается запросов ко всем суперклассам класса. Или наоборот о запросах для всех потомков классов суперкласса.
Сначала я думал о том, чтобы сделать что-то в соответствии с рекомендациями { ссылка }
Передайте ваши данные RDF через аргумент RDF / RDFS, чтобы переадресовать все цепочки в цепочку и утвердить их в вашей базе данных RDF.
Но вот мой вопрос: не помешает ли этот подход мне возможность запроса для всех прямых дочерних классов данного класса ??
Я представляю следующий случай.
Food
Pizza
-SubClassOf Food
VeggiePizza
-SubClassOf Food
-SubClassOf Pizza
OlivePizza
-SubClassOf Food
-SubClassOf Pizza
-SubClassOf VeggiePizza
MeatPizza
-SubClassOf Food
-SubClassOf Pizza
SausagePizza
-SubClassOf Food
-SubClassOf Pizza
-SubClassOf MeatPizza
С помощью этих явных утверждений я мог бы получить все классы-потомки Food с чем-то вроде SELECT * {?x SubClassOf <Food>}
Но что, если бы захотелось просто получить прямых детей от Food? Разве такой запрос больше невозможен?
(PS. Я понимаю, что существуют другие подходы, например, вместо того, чтобы явно указывать все вложения, я мог бы использовать только SubClassOf для прямого Parent каждого класса, а затем запросить с помощью SELECT ?subClass WHERE { ?x rdfs:subClassOf* <Food> .}
Но часть моего вопроса заключается в том, чтобы понять преимущества и недостатки каждого подхода. И я хотел подтвердить, что я правильно понял возможный недостаток вышеуказанного подхода).