2017-05-24 7 views
1

RDF 데이터를 사용하는 프로젝트에서 작업 중이며 RDF 트리플 데이터 세트 및 특정 패턴과 일치하지 않는 트리플을 사용자 정의 온톨로지를 기반으로 실행하는 데이터 정리 메소드를 구현하려고합니다.OWL API를 사용하여 특정 주제 - 술어 - 오브젝트 관계를 시행 할 수 있습니까?

예를 들어, http://myontology/A 클래스는 술어 http://myontology/denotes을 사용하여 http://myontology/B을 나타내야합니다. denote이 아닌 A 클래스의 인스턴스는 B 클래스의 인스턴스에 플래그가 지정되어야합니다.

에서 OWLReasoner과 같은 도구가 Reasoner에 대한 사용자 정의 공리를 설계 한 경우 이와 같은 기능을 수행 할 수 있는지 궁금합니다. 나는 여기에서 문서를 검토했다 : http://owlcs.github.io/owlapi/apidocs_4/org/semanticweb/owlapi/reasoner/OWLReasoner.html

Reasoner와 함께 사용할 수있는 방법이 내가 사용하고자하는 목적에 맞지 않을 수도 있지만 아무도 사용 경험이 있는지 궁금하다. OWL-API 이를 위해 또는 트릭을 수행 할 수있는 다른 도구를 알고 있어야합니다.

답변

1

일반적으로 OWL 추론은 입력에 누락되어있는 정보를 찾아 내서 플래그를 지정하는 데 적합하지 않습니다. 예를 들어, A 인스턴스가 정확히 하나의 인스턴스와의 관계를 나타냅니다. B와 A의 인스턴스를 가지고 있습니다. Open World 가정에서 추론자가 누락 된 진술을 사용할 수 없다고 가정하고 위반하지 않았다고 가정합니다.

B의 인스턴스와 관련이없는 클래스의 인스턴스가 B와 분리 된 경우 올바르지 않은 사용을 감지 할 수 있습니다. 다시.

OWL API를 사용하여 코드를 구현하여이 확인을 수행 할 수는 있지만 추론 할 수있는 이점이 없기 때문에 RDF 수준에서 작업하고 있다면 Apache Jena 실제로 더 잘 작동 할 수 있습니다 (입력 파일이 OWL과 호환되지 않는 경우 걱정할 필요가 없습니다).