2017-03-06 26 views
0

올빼미 클래스는 속성의 도메인/범위는인지 우리가 제한에서 일부 값을 생성하는 클래스의 인스턴스 속성을 가지고해야하는지 여부를테스트 올빼미-API 저장소에서 <a href="https://github.com/owlcs/owlapi/blob/version4/contract/src/test/java/org/semanticweb/owlapi/examples/Examples.java" rel="nofollow noreferrer">the example</a><code>hasProperty</code>에서

테스트 그런 다음 제한의 일부 값을 보완하여 클래스의 만족 가능성을 물어보십시오. 교집합이 만족 스럽다면 클래스의 인스턴스는 속성을 가질 필요가 없습니다. 그렇지 않으면 속성이 필요하지 않습니다. 클래스는 객체 속성의 도메인이 경우에 따라서

는 확인 나는 울부 짖는 소리 스 니펫 사용할 수 있습니다

OWLDataFactory dataFactory = manager.getOWLDataFactory(); 
OWLClassExpression restriction = dataFactory.getOWLObjectSomeValuesFrom(objectProperty, dataFactory.getOWLThing()); 
OWLClassExpression complement = dataFactory.getOWLObjectComplementOf(restriction); 
OWLClassExpression intersection = dataFactory.getOWLObjectIntersectionOf(cls, complement); 
boolean hasObjectProperty = !reasoner.isSatisfiable(intersection); 

I 클래스는 객체의 범위인지 확인하는 방법을 알고 싶어를 속성 및 데이터 속성의 도메인 인 경우 데이터 속성 도메인을 확인하기 위해 다음 스 니펫 (위의 예를 기반으로)을 사용할 수 있습니까?

OWLClassExpression restriction = dataFactory.getOWLDataSomeValuesFrom(dataProperty, dataFactory.getOWLThing()); 
OWLClassExpression complement = dataFactory.getOWLDataComplementOf(restriction); 
OWLClassExpression intersection = dataFactory.getOWLDataIntersectionOf(cls, complement); 
boolean hasDataProperty = !reasoner.isSatisfiable(intersection); 

답변

1

의 예는 당신이 찾고있는 것을하지 않습니다 - 그것은 특정 속성 속성 주장을하는 클래스의 인스턴스에 대한 필요 여부를 확인합니다. 검증하려고하는 조건은 더 약한 것입니다. 특성 어설 션이 주어지면 클래스 C는 어설 션의 대상 (또는 범위 케이스의 대상)에 대한 유형으로 추정됩니다.

간단한 코드 (코드 및 복잡성)로 속성의 도메인이 관심있는 클래스의 수퍼 클래스인지 확인하거나 클래스 C가 있는지 여부를 확인하려는 경우 정확히 도메인 인 경우 두 클래스가 동일한 지 확인할 수 있습니다.

예 :

OWLOntology o = ... //root ontology for the reasoner 
OWLReasoner r = ... 
OWLObjectProperty p = ... 
for (OWLObjectPropertyDomainAxiom ax: o.getObjectPropertyDomainAxioms(p)) { 
    OWLClassExpression c = ax.getDomain(); 
    NodeSet<OWLClass> allSubClasses = r.getSubClasses(c, false); 
    Node<OWLClass> allEquivalentClasses = r.getEquivalentClasses(c); 
} 

그냥 예에서 데이터 속성 객체로 전환해야 할 데이터 속성의 도메인에 대해 개체 속성의 범위, 당신은 객체 속성 범위 공리를 ​​검색 할 수 있습니다.