Когда вы говорите все индивидуумы для каждой концепции, я предполагаю, что вы имеете в виду all the resources of rdf:type an specific class
. С rdflib
вы можете легко сделать это, пройдя по графику:
from rdflib import Graph
from rdflib import URIRef
g = Graph()
g.parse("ontology.owl")
aClass = URIRef("http://www.someuri.org/for/your/class")
rdftype = URIRef("http://www.w3.org/1999/02/22-rdf-syntax-ns#type")
for triple in g.triples((None,rdfType,aClass)):
print triple
(None,rdfType,aClass)
представляет ограничение для итерации по графику g
. Установив
любой из трех элементов в тройке, которую вы ограничиваете любой комбинацией предмета,
Предикат или объект. В этом случае мы ограничиваемся только предикатом rdftype
и
объект aClass
.
Если вы хотите, чтобы все индивидуальные участники и все классы вы могли сделать:
for triple in g.triples((None,rdfType,None)):
print triple
В этом случае мы оставляем объект свободным для захвата любого класса OWL.