2016-12-16 4 views
2

OWL 2 DL 온톨로지에서 일부 SQWRL 규칙을 계산해야합니다.OWL DL + SQWRL 지원을위한 OWL API의 추론 자 결합

문제는 다음과 같습니다

  • 현재 OWL 2 DL 추론은
  • 유일한 SQWRL의 SWRLAPI 엔진이 샘 - swrlapi 느릅 나무입니다 SWRL의 내장 명령을 지원하는 OWL 2 RL이며 내 DL 온톨로지를 처리 ​​할 수 ​​없습니다 직접 자바에

    1. 사용 OWLAPI :

나는 두 가지 솔루션을 고려 모두 추론 (펠렛 및 Drools가-SWRLAPI)를 사용하여 어떻게 든

  • (펠렛 등) OWL 2 DL 추론의 상단에 SQWRL을 실행하고
  • 그래서 내 질문은 정적 자바 코드를 방지 : 그것은 두 가지 추론을 결합 할 수 있습니다 그래서 그들은 충돌하지 않을 것입니까?

    DL 추론과

    1. 미리 계산 추론처럼
    2. 는 계산/더 추론을 DL 추론에 그 다시 SQWRL
    3. 넣어 실행하고 검증하기 위해 Drools가-SWRLAPI에 결과 온톨로지를 실행
    4. 루프

    감사합니다!

    답변

    1

    OWLReasoner이 비 버퍼링으로 작성되고 Drools-SWRLAPI가 입력 된 온톨로지에서 모든 유추 된 트리플을 구체화하는 경우 수행 할 수 있어야합니다. 이것은 사실이 아니기 때문에 이러한 추론을 구체화하기위한 조치를 취할 필요가 있습니다.

    SWRL API와 Drools 룰 엔진에 익숙하지 않아서 이것이 가능하거나 쉽지 않은지 말할 수 없습니다. 아마도 SWRL을 지원하는 오픈 소스 추론 자 중 하나를 취하고 DRL 코드로 SWRL 지원을 대체하려고합니다. 이는 추론자가 정확성과 완전성을 보장하기 위해 사용하는 알고리즘을 보장하는 이점이 있습니다 (두 가지 추론 방법이 좋은 근사치가되어야하지만 손실 된 최적화뿐만 아니라 누락 된 모서리 사례가있을 수도 있습니다.

    OWL2DL 추론을 구체화하고 나중에 SWRL 규칙을 적용하는 등의 역방향 접근 방식은 선택해야하는 약점이 있습니다. 분류 아이디어의 클래스 표현은 OWLReasoner 인터페이스를 통해 쉽게 이동할 수 없으며 매우 계산적으로 비용이 많이 듭니다.

    +0

    감사합니다. 나에게 가장 쉬운 첫 번째 단계는 여기에 있습니다. 모든 SQWRL 추론이 RL 모드에서만 작동한다는 초기 가정으로 SQWRL로 RL을 구체화하려고 시도 할 것입니다. 그 위에 DL 추론자를 실행하고 그것이 내 온톨로지에서 작동하기를 바랍니다. 완전한 해결책은 다음 단계가 될 호환 가능한 DL 추론기에 SQWRL 지원을 추가하는 것입니다. – grandrew

    관련 문제