1
我試圖鏈接兩個人A和使用setSameAs()關聯數據---耶拿
B.setSameAs(A) OR A.setSameAs(B)
A具有性質hasOne,hasTwo乙
B有一個屬性hasThree
和我希望B的屬性可以推斷爲屬性A.不幸的是,當我列出A的屬性時,hasThree不會出現
這是我的設置:
OntModel onto = ModelFactory.createOntologyModel(OntModelSpec.OWL_MEM_MICRO_RULE_INF, null);
String NAMESPACE1 = "http://mynamespace.one#";
String NAMESPACE2 = "http://mynamespace.two#";
OntClass myClass = onto.createClass(NAMESPACE1 + "MyClass");
Individual a = onto.createIndividual(NAMESPACE1 + "A", myClass);
Individual b = onto.createIndividual(NAMESPACE2 + "B", myClass);
注:我用於乙不同的命名空間來模擬不同的地址,但是在此設置中它正在使用的同一類型
OntProperty one = onto.createOntProperty(NAMESPACE1 + "hasOne");
OntProperty two = onto.createOntProperty(NAMESPACE1 + "hasTwo");
OntProperty three = onto.createOntProperty(NAMESPACE2 + "hasThree");
注:hasThree屬性位於同一B的地址
a.setLiteral(one, true);
a.setLiteral(two, true);
b.setLiteral(three, true);
a.setSameAs(b); //THIS results in the RDF entry for A to have a line <owl:sameAs rdf:resource:"http://mynamespace.two#B" />
//b.setSameAs(a); //I TRIED using this too, but it didn't work either
// IN HERE I JUST SET AN ITERATOR TO SHOW ALL OF THE PROPERTIES OF A
// UNFORTUNATELY, hasThree DOESN'T SHOW UP UNDER THE PROPERTIES OF A
我已經列舉了困擾我的事情。
- 當我嘗試列出A的所有屬性時,hasThree不顯示出來。
- 當我列出MyClass的所有個人時,A和B都出現 - 我想這不是A = B和B = A以來的正確結果,所以只應顯示1個人。