2011-10-21 2 views
4

나는 사용자 활동을 인식하기 위해 온톨로지를 사용하고있다 .... 나는 객체 속성과 함께 사용할 다양한 클래스로 구성된 온톨로지 (OWL)를 가지고있다 .....자바를 사용하여 온톨로지 일관성을 확인하는 방법

내가 온톨로지에 새로운 오전 그것에 대해 많이 읽는데 후 혼란 스러워요 ....
내가 뭘 이해하는 것은 그래서 어쨌든이 ... 클래스가 다양한 propeties를 사용하여 다른 클래스에 관련하여 정의되어있다 특정 클래스의 객체가 어쨌든 다른 클래스와 관련되어 있는지 확인할 수 있습니다. 내가 물어보고 싶은 것은 ABox가 온톨로지의 전문 용어 부분 (TBox는 내가 이해하는 것처럼)과 일관성이 있는지 확인하는 것입니다 .....

필자는 내 온톨로지를 만들기 위해 프로 제제를 사용했고 일관성을 검사하기 위해 GUI 버전 SWOOP와 함께 예나 및 펠릿 추론 도구를 사용해 보았습니다 .....

나는 완전히 혼란스럽고 사용법을 모른다.

답변

0

전 Protege에서 만든 Ontologies를 다루기 위해 Jena API를 사용했습니다. 예나는 틀림없이 혼란 스럽습니다. 그러나 이러한 내가 그것을 파악하는 데 도움이 자원입니다 :

그것을 어떻게 작동하는지 파악하기 위해, 우리는 우리가 매우 간단한을 만들어 일부 스파이크를했다 OWL 파일을 작성하고 Jena를 사용하여 Java를 작성하여 우리가 필요한 것을 얻을 수있는 방법을 확인했습니다. 코드는 폐기되었지만 OWL 파일과 Jena API에 대해 이상적인 상황에서 조금 배우는 것이 가능했습니다.

2

SWOOP는 꽤 오래되었지만 GUI를 사용한다면 Protoge 4를 사용하는 것이 좋습니다. Pellet 사용에 대한 정보는 tutorial online입니다.

프로그래밍 방식으로 OWL로 작업하려면 Jena보다 OWLAPI를 사용하는 것이 좋습니다. OWLAPI는 OWL을 위해 설계된 반면, Jena는 RDF 중심의 API로, OWL 관련 작업을 수행 할 때보다 쉽게 ​​작업 할 수 있습니다. 즉, Jena는 훨씬 더 특색이있다.

/*Load your ontology from a local file and do the initialisations*/ 
File inputfile = new File("ontologyPath"); 
OWLOntologyManager manager = OWLManager.createOWLOntologyManager(); ; 
OWLDataFactory dataFactory = manager.getOWLDataFactory(); 
OWLOntology yourOntology = manager.loadOntologyFromOntologyDocument(inputfile); 
IRI ontologyIRI = yourOntology.getOntologyID().getOntologyIRI(); 

/* Load a reasoner, the default one that comes with the OWL API is HermiT. 
    However, You can use other reasoners, such as Fact++ or Pellet, by 
    downloading their libraries and adding them to your project build path */ 
OWLReasonerFactory reasonerFactory = new Reasoner.ReasonerFactory(); 
OWLReasonerreasoner = reasonerFactory.createReasoner(yourOntology); 

/* Perform consistency check */ 
boolean consistency = reasoner.isConsistent(); 

또한 OWL API 웹 사이트에 예를 체크 아웃 :

0

이것은 당신이 자바 OWL API를 사용하여 일관성 검사를 수행 할 수있는 방법이다.

Berkan

관련 문제