В настоящее время я работаю над запросом sparql, который вычисляет каждого человека и класс, в котором этот человек существует. Вот (ужасный) пример того, как выглядит моя онтология:
Owl:Thing
-Lion
-Elephant
-Pets
-Dog
-Cat
Где Lion
и Elephant
- классы без подклассов, а Dog
и Cat
- подклассы класса Pet
. Когда я запускаю свой код, я получаю людей от Dog
и Cat
, но нет людей от Lion
или Elephant
.
SELECT ?indiv ?class
WHERE {
?class rdf:type owl:Class .
?indiv rdf:type owl:NamedIndividual .
?indiv rdf:type ?class
} ORDER BY ?class ?indiv
Итак, в основном, результатом моего кода являются люди, которые приходят только из классов, которые являются подклассами, когда я ожидаю, что люди из всех классов. Может ли кто-нибудь помочь, пожалуйста?