2012-11-06 4 views
1

현재 저는 Ontology Based Information Retrieval에 관한 프로젝트를하고 있습니다. 온톨로지 편집기 인 Protege를 사용하여 기본 온톨로지를 만들고 파일을 얻었습니다. family.owl. 기본적으로 검색 기능을 수행하려고합니다. 사용자가 검색 용어를 제공 한 다음 온톨로지의 개인을 검색합니다. 일치하는 것이 발견되면 해당 개인과 관련된 주석을 인쇄하십시오. Jena API를 사용하여 온톨로지를 구문 분석했습니다. 지금까지는 각 자원과 관련된 주제, 술어 및 오브젝트를 얻는데 성공했지만 얻을 수는 없습니다. 주석은 각 자원과 연관됩니다. family.owl의 일부는 내가 베스를 검색 할 때, 나는 ie.Beth 아담의 딸이며 그와 관련된 코멘트를 얻어야한다이Jena API를 사용하여 올빼미 파일에서 주석을 검색하는 방법은 무엇입니까?

<!-- http://www.semanticweb.org/ontologies/2012/9/family.owl#Beth --> 
<owl:Thing rdf:about="#Beth"> 
    <rdfs:comment>Beth is the Daughter of Adam . She is the Sister of Chuck . 
    She is the Mother of Dotty & Edward . She is the Aunt of Fran & Greg. 
    </rdfs:comment> 
    <isChildOf rdf:resource="#Adam"/> 
    <isSiblingOf rdf:resource="#Chuck"/> 
</owl:Thing> 

것 같습니다. 그녀는 Chuck의 여동생입니다. 그녀는 Dotty의 어머니입니다. & Edward. 그녀는 프랜 & Greg.The 코드의 아줌마 난 주제, 술어를 가져 오는 데 사용했다되고 객체는

StmtIterator iter=model.listStatements();   
    while(iter.hasNext()) 
    { 
     Statement stmt=iter.nextStatement(); 
     String subject=stmt.getSubject().toString;        
     String predicate=stmt.getPredicate().toString();    
     String object=stmt.getObject().toString(); 
     ... 
    } 

답변

2

rdfs:comment 당신이 얻는 조건 중 하나 (그 toString로이 있어야 다음과 같다하는 부수적으로 의존하지 말 것을 권합니다. http://www.w3.org/2000/01/rdf-schema#comment). 그것이 없으면 코드가 귀하가 우리에게 보여 주거나 귀하가 인용 한 데이터가 아닌 것입니다. 당신이 참조하는 온톨로지를 찾지 못했기 때문에, 우리는 그것을 확인할 방법이 없습니다.

원하는 것을 쉽게 수행 할 수있는 방법은 Jena ontology API입니다. 온톨로지 API를 사용하면 다음과 같은 작업을 수행 할 수 있습니다.이 코드를 실행하지는 않았지만 작동해야합니다.

OntModel m = ModelFactory.createOntologyModel(OntModelSpec.OWL_MEM); 
FileManager.get().readModel(m, "... your input file here ..."); 

String NS = "http://www.semanticweb.org/ontologies/2012/9/family.owl#"; 
Individual beth = m.getIndividual(NS + "Beth"); 
String comment = beth.getComment(); 
+0

감사합니다. Ian !!! 그것은 완벽하게 작동 ... – user1800722

+0

그 경우, 녹색 체크 표시를 클릭하여 답변을 허용으로 표시하십시오. 그러면 다른 사용자가 귀하의 질문에 대한 답을 찾았습니다. –

+0

in beth.getComment() 전달되는 매개 변수 – fanky