我有一个本体女巫是在 protege 中创建的,在里面:
我有 2 个班级(青少年和成人)。
我有一个拥有 dataProperty hasAge 的个人 John。
在 protege 中,我根据他的年龄获得了 john 的班级。(所以我的本体运行良好)
现在我已经在 java 中加载了我的本体,我尝试获取类成人中的所有个人(比如 protege 中的 John)。所以我做了
//manager
OWLOntologyManager manager = OWLManager.createOWLOntologyManager();
//IRI
String x = "file:/D:/Studies/tpOwl.owl";
IRI ontologyIRI = IRI.create(x);
//ontology
OWLOntology ont = manager.createOntology(ontologyIRI);
//factory
OWLDataFactory factory = manager.getOWLDataFactory();
OWLReasonerFactory reasonerFactory = new StructuralReasonerFactory();
OWLReasoner reasoner = reasonerFactory.createReasoner(ont);
OWLClass adult = factory.getOWLClass(IRI.create(ontologyIRI + "#Adult"));
NodeSet<OWLNamedIndividual> instancess = reasoner.getInstances(adult, true);
for (Node<OWLNamedIndividual> i : instancess)
{
System.out.println(""+i);
}
但我什么也没有。
那么在 java 中加载我的本体后如何获取特定类的个体?