2016-10-07 5 views
1

나는 Protege를 처음 접했기 때문에 나는 매우 기본적인 질문을 가지고있다. 나는 ChildParent 클래스를 가지고 있습니다. Child의 서브 클래스는 Girl입니다.Pellet과 HermiT로 Protege의 유니버설 정량 이해하기

child1child2Childannapeter 가지고있는 타입 두 종류 Parent을 가지고, 유형 Girl 있습니다. 또한 더 이상의 특성이없는 anna isParentOf child1peter isParentOf child2 관계가 있습니다.

이제 ParentOfGirl 클래스를 Parent and isParentOf only Girl과 같도록 정의하려고합니다. 추론자가이 새로운 유형을 가지고 있다고 생각한다면 anna이 될 것입니다.

Inverse functional 속성을 isParentOf에 추가했습니다. 부모가 자식을 두 명 이상 가질 수 있기 때문입니다. 그런 다음 Symmetric을 관계에 추가하면 annaParentOfGirl 유형이지만 대칭을 사용하려면 isParentOf을 갖고 싶지 않습니다.

내가 대칭없이 위의 의미에서 보면,이 참조 :

ParentOfGirl ≡ {안나, 피터} ⋂ {X의 ε 올빼미 : 것을 | 만약 ∀y (X, Y) ε isParentOf 후 Y ε 여자}

자식 1의 ε 자식과 자식 1 ε 여자

isParentOf ≡ {(안나 자식 1), (베드로 자식 2)}

그런 다음 anna과 관련하여 Child 유형의 유일한 개인이고 Girl 유형도있는 child1 개인입니다. 추론자가이 경우 오른쪽에서 왼쪽으로 만 관계를 볼 수있는 것으로 보입니다. 왜냐하면 isParentOf이 대칭이면 anna을 추론하기 때문입니다. 또한, peter도 child2와의 관계에 없으면 ParentOfGirl이 될 것으로 예상됩니다. 그러나 이것은 또한 일어나지 않습니다.

이유식 (Pellet 또는 HermiT)에서 annaParentOfGirl으로 표시되지 않는 이유는 무엇입니까?

+2

OWL은 OWA (Open World Assumption)를 따릅니다. 즉, 온톨로지에서 '안나'는 소녀가 아닌 다른 자식 일 수 있습니다. 추론자가이 OWA를 따르고 'anna'는'ParentOfGirl' 유형이라고 추론 할 수 없습니다. – AKSW

+0

또한 나를 위해 온톨로지의 의미가 명확하지 않습니다. 'isParentOf'가 역으로 기능하는 것이 어떨까요? – AKSW

+0

OWA가 아무 것도 변경하지 않을 것으로 기대합니다.지식베이스 KB = {PO (a, p)}가 있고 KB α = ∀x.POG (x, p)로부터 추론하고 싶다면 KB의 모든 해석이 α를 만족하므로 True가됩니다. 'isParentOf'의 정의가 PO와 다른 이유는 무엇입니까? – marli

답변

1

@AKSW는 주석에 올 바릅니다. 추론하는 사람은 부모에게 여성 자녀 만 있는지 알 수 없습니다. 개인에게 유형을 추가하는 것과 같이이 기능을 주장해야합니다.

이 경우이 어설 션은 당신이 찾는 추론과 동일합니다. 그렇기 때문에 실제로 좋은 해결 방법은 아닙니다.

forall을 일부로 변경하면 적어도 한 명의 소녀를 가진 부모를 찾을 수 있습니다. 이 클래스는 대상 클래스의 수퍼 클래스이며 응용 프로그램을 함께 도울 수 있습니다.

+0

이 추론을하기 위해 어떤 유형의 개인을 추가해야합니까? Protégé 같은 Closed World Assumption을 설정하기위한 글로벌 플래그가 있습니까? 아니면 이와 비슷한 것입니까? – marli

+0

이것은 추론 수준 설정입니다. 펠렛은 그것을지지하지만 다른 추론자가하는 일을 잘 모르겠습니다. – Ignazio