在Java中的OWL个人

时间:2011-11-15 14:41:31

标签: java ontology owl

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

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

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

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

努诺

1 个答案:

答案 0 :(得分: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);

添加一些属性:

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);

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