在Java中的OWL个人

nun*_*aac 5 java owl ontology

我正试图通过Eclipse访问本体.我用的是owl-api.我在Protegé中创建了我的本体,但是我想通过代码创建和分类新的INDIVIDUALS.怎么可能?我google了一切,但我找不到任何有用的信息.

宏观例子: - 具有实体'B','C'和'D'的本体'a'. - 我创建了一个单独的'z',我想知道它是否可以是'B','C','D'或者没有实体的一部分.

我面临三个问题: - 我不知道如何创建一个类型的个人 - 我不知道如何填充个人的数据属性. - 我不知道热得让推理器工作(好吧,我还没有尝试过,因为我不能做以前的步骤).

你能帮助我吗?提前致谢!

努诺

ynk*_*nka 6

OWL API在这里有很酷的文档:http://owlapi.sourceforge.net/documentation.html

所以,要创建一个类的个体:

OWLClass person = dataFactory.getOWLClass(":Person", pm);
OWLNamedIndividual mary = dataFactory.getOWLNamedIndividual(":Mary", pm);
OWLClassAssertionAxiom classAssertion = dataFactory.getOWLClassAssertionAxiom(person, mary);
manager.addAxiom(ontology, classAssertion);
Run Code Online (Sandbox Code Playgroud)

要添加一些属性:

OWLIndividual matthew = dataFactory.getOWLNamedIndividual(IRI.create(base + "#matthew"));
OWLIndividual peter = dataFactory.getOWLNamedIndividual(IRI.create(base + "#peter"));
OWLObjectProperty hasFather = dataFactory.getOWLObjectProperty(IRI.create(base + "#hasFather"));
OWLObjectPropertyAssertionAxiom assertion = dataFactory.getOWLObjectPropertyAssertionAxiom(hasFather, matthew, peter);
Run Code Online (Sandbox Code Playgroud)

也有一个推理器的例子,但它更长,所以检查自己.