2011-11-15 32 views
5

我想通過Eclipse訪問本體。我使用owl-api。我在Protegé中創建了本體,但是我想通過代碼創建和分類新的INDIVIDUALS。這怎麼可能?我搜索了一切,但我找不到任何有用的信息。OWL個人在java

宏示例: - 具有實體'B','C'和'D'的本體'a'。 - 我創建了一個單獨的'z',我想知道它是否可以是'B','C','D'或其中一個實體的一部分。

我面臨3個問題: - 我不知道如何創建一個類型的個人 - 我不知道如何填寫個人的數據屬性。 - 我不知道熱得到的推理工作(嗯,我還沒有嘗試過,因爲我不能做前面的步驟)。

你能幫我嗎?提前致謝!

努諾

回答

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

也有一個推理器的例子,但它更長,所以檢查你自己。

+0

如果瑪麗有一個父親,我該怎麼辦? –