2014-09-20 95 views
0

我想檢索使用owl API爲任何類別的個人設置的所有數據屬性。我使用的代碼是在eclipse中使用OWL API檢索個人的數據屬性

OWLNamedIndividual inputNoun = df.getOWLNamedIndividual(IRI.create(prefix + "Cow")); 


      for (OWLDataProperty prop: inputNoun.getDataPropertiesInSignature()) 
      { 
       System.out.println("the properties for Cow are " + prop); //line 1 
      } 

此代碼編譯成功,但第1行不打印任何內容。什麼應該是正確的語法。徹底搜索並找不到任何值得的東西。

回答

2

OWLNamedIndividual::getDataPropertiesInSignature()不返回個人擁有填充符的屬性,它返回出現在對象本身中的屬性。對於一個人來說,這通常是空的。該方法位於OWLObject接口上,該接口涵蓋類和屬性表達式和本體等內容,爲此它提供了更有用的輸出。

如果你想用一個單獨的實際填充數據屬性,使用OWLOntology::getDataPropertyAssertionAxioms(OWLIndividual),像這樣:

OWLNamedIndividual input = ... 
Set<OWLDataPropertyAssertionAxiom> properties=ontology.getDataPropertyAssertionAxioms(input); 
for (OWLDataPropertyAssertionAxiom ax: properties) { 
    System.out.println(ax.getProperty()); 
} 
相關問題