2012-09-01 5 views
0

거북이에 대칭적이고 전이적인 술어를 정의하고 (거북이로) 추론을 얻으려고합니다.Jena에서 OWL 추론 자 설정하기

:similar a owl:SymmetricProperty; a owl:TransitiveProperty . 

내가 그것을 (같은 거북이 파일)를 사용하는 방법 : 여기

내가 내 술어 정의하는 방법이다?

:a :similar :b . 
:b :similar :c . 

그런 다음 나는 sparkl 쿼리를 실행 "을 선택을 X 여기서 x? 비슷한 : c "a와 b를 얻기를 희망합니다. 내 QueryExecutionFactory.create에 InfModel를 사용하여 다음

OntModel ont = ModelFactory.createOntologyModel(OntModelSpec.OWL_MEM);  
ont.read("file:./myontology.turtle",null,"TURTLE"); 
InfModel model = ModelFactory.createInfModel(ReasonerRegistry.getOWLReasoner(), ont); 

과 :

나는이 같은 모델을 설정하기 위해 노력했다. 작동하지 않습니다.

나는 또한 그냥 시도했다 :

OntModel model = ModelFactory.createOntologyModel(OntModelSpec.OWL_DL_MEM_RULE_INF); 
model.read("file:./myontology.turtle",null,"TURTLE"); 

행운 중 하나. 옳은 길? 내가 뭘 놓치고 있니?

미리 감사드립니다.

답변

0

답을 찾았습니다. 다음은 잘 작동합니다.

OntModel model = ModelFactory.createOntologyModel(OntModelSpec.OWL_MEM_MICRO_RULE_INF); 
model.read("file:./myontology.turtle",null,"TURTLE"); 

프리픽스에 몇 가지 문제가 있습니다. 또한, 나는 선언했다 : 클래스와 유사하고 하위 클래스가 owl : SymmetricProperty 및 owl : TransitiveProperty를 상속한다고 가정했다. 그런 식으로 작동하지 않는 것 같습니다