laalto прав, почти любая библиотека Semantic Web сделает это с помощью рекурсивного поиска subClassOf. Единственный способ обойти это - иметь какой-то механизм логического вывода / рассуждения, который бы добавлял к графику дополнительные тройки, когда исходный график анализируется
Так, например, он автоматически добавит следующее:
<my:Eukaryota> <rdf:type> <my:Organism>.
<my:Mammal> <rdf:type> <my:Organism>.
<my:Mammal> <rdf:type> <my:Eukaryota>.
<my:Primate> <rdfs:type> <my:Organism>.
<my:Primate> <rdfs:type> <my:Eukaryota>.
<my:Primate> <rdfs:type> <my:Mammal>.
# etc...
Как ты это делаешь в Йене, я не уверен, кто-то еще, кто знает, что Йена должен ответить на это.
Что касается SPARQL, то laalto снова полностью верен, но в некоторых случаях вы можете выполнить простой запрос, подобный следующему, если Triple Store и связанная с ним конечная точка SPARQL имеют некоторые возможности логического вывода
PREFIX my: <http://yournamespace.com>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
ASK { my:HomoSapiens rdf:type my:Mammal }