2016-10-05 8 views
1

개체 속성을 사용하여 클래스에 개별 (인스턴스) 연결하는 방법이 있습니까? 예를 들어,이 경우 개인은 모듈 이름 : 웹 프로그래밍입니다. 개체 속성 : isClassified. 등급 : 네트워크.개인이 Protege의 개체 속성이있는 클래스에 연결할 수 있습니까?

웹 프로그래밍을 클래스로 정의하려고 시도했으며 도메인과 범위가 모두 클래스이기 때문에 작동합니다. 둘 다 웹 프로그래밍 & 네트워크를 개인으로 정의하면 동일하게 작동합니다. 도메인이 클래스이고 범위가 개별이면 여전히 작동합니다. 그러나 도메인이 개별 도메인이고 범위가 클래스 인 경우 어떻게해야합니까? 거기에 개체 속성을 연결할 수있는 방법이 있나요 : isClassifiedIn?

답변

1

Protégé는 OWL 2 DL 편집기입니다 (버전 4 이후). OWL 2 DL에서 개체는 클래스가 될 수 없으며 개체 속성은 개인을 개인과 만 관련시켜야합니다. 그래서 당신이 원하는 것은 그것을 공식화하는 방식으로 표현 될 수 없습니다. 그러나 다음 두 가지 작업을 수행 할 수 있습니다.

  1. 개체 속성 대신 주석 속성을 사용합니다. 이는 OWL DL 추론자가 추론 프로세스에서 주석 속성을 무시해야하기 때문에 이상적이지 않을 수 있습니다. 주석은 프로그래밍 코드의 주석과 유사합니다.
  2. 개인을 클래스와 동일한 이름을 가진 다른 개인과 연결하십시오. 이것에 대해 자세히 설명하겠습니다. OWL 2 DL에서

, 개인 수업이 될하는 것이 불가능하지만 개별 이름가 동시에클래스 이름이어야하는 것은 가능하다. 예를 들어, 하나는 (거북이 구문) 말할 수 있습니다 : 클래스와 관련이 없습니다

ex:Module a owl:Class . 
ex:Network a owl:Class, owl:Thing . 
ex:isClassified a owl:ObjectProperty . 
ex:webProgramming a ex:Module; 
    ex:isClassified ex:Network . 

참고 여기 ex:webProgramming있다. 이 유형은 개인 유형 owl:Thing과 관련됩니다. 이 개인은 비록 동일한 이름을 가지고 있지만 ex:Network이라는 클래스와 함께 선험적으로 할 수 없습니다. 이를 OWL 2 스펙에서 "punning"이라고합니다.

세 번째 방법이 있습니다.이 문제가 발생하지 않도록 지식 모델을 변경하십시오. 나는 당신의 존재론을 모른다. 그러나 이 당신이 피해야하는 반 패턴을 암시 할 수있다.

+0

답장을 보내 주셔서 감사합니다. 너무 늦게 회신해야한다는 죄송합니다. – Gan