Jena에서 Property 추출시 고려사항
StmtIterator iter = selIndi.listProperties(); 선택된 Individual의 Property들을 보고 싶을 때 listProperties메소드를 사용한다. 문제는 selIndi의 Property들중에 Object값(value)이 Null인 경우에는 가져오질 못한다. 그래서, selIndi의 RDFType을 얻어온다음에 캐스팅하고, Resource ontRes = (Resource) selIndi.getRDFType(); OntClass ontCls = (OntClass)ontRes.as(OntClass.class); 캐스팅된 ontCls의 listDeclaredProperties를 호출하면 말그대로 ontCls에서 선언한 property들만 가져오게 된다. //direct는 sub컨셉에서 지정된 property를 상속받아 가져올지를 체크 Iterator iter = ontCls.listDeclaredProperties(boolean direct); 문제는 name이라는 property도메인을 Person클래스으로 지정하고 Food클래스로도 지정하면 name의 입장에서는 Person과 Food의 anonymous Union클래스를 도메인으로 가지게 되 name이라는 Property는 어디서도 찾을 수 없다.