2014-06-17 9 views
1

hasPart와 partOf와 같은 컴포지션을 가진 온톨로지를 개발합니다. severals 클래스에는 이러한 속성을 사용해야합니다. 그래서 도메인이나 범위없이 이러한 속성을 만들었고 클래스에 올빼미 제한으로 사용했습니다. 그렇지? 게다가, 나는 그 부분을 읽었다. hasPart에도 전이를 추가해야합니까?Protege에서 컴포지션 속성을 정의하는 방법은 무엇입니까?

그런 다음 hasPart를 partOf의 역으로 ​​정의했습니다. hasPart에서도 inverse를 정의해야합니까?

예 :

<owl:ObjectProperty rdf:about="&myontology;hasPart"> 
     <rdfs:label xml:lang="en">hasPart</rdfs:label> 
     <rdfs:label xml:lang="fr">aCommePartie</rdfs:label> 
    </owl:ObjectProperty> 

    <owl:ObjectProperty rdf:about="&myontology;partOf"> 
     <rdf:type rdf:resource="&owl;TransitiveProperty"/> 
     <rdfs:label xml:lang="en">partOf</rdfs:label> 
     <rdfs:label xml:lang="fr">estPartieDe</rdfs:label> 
     <owl:inverseOf rdf:resource="&excelfile;hasPart"/> 
    </owl:ObjectProperty> 

    <owl:Class rdf:about="&myontology;A"> 
     <rdfs:subClassOf> 
      <owl:Restriction> 
       <owl:onProperty rdf:resource="&myontology;hasPart"/> 
       <owl:someValuesFrom rdf:resource="&myontology;B"/> 
      </owl:Restriction> 
     </rdfs:subClassOf> 
    </owl:Class> 

    <owl:Class rdf:about="&myontology;B"> 
     <rdfs:subClassOf> 
      <owl:Restriction> 
       <owl:onProperty rdf:resource="&myontology;partOf"/> 
       <owl:someValuesFrom rdf:resource="&myontology;A"/> 
      </owl:Restriction> 
     </rdfs:subClassOf> 
    </owl:Class> 

답변

1

난 hasPart 공범자와 같은 조성 온톨로지를 개발한다. 은 severals 클래스에 대해 이러한 속성을 사용해야합니다. 그래서 도메인이나 범위가없는 속성을 만들었고 클래스에 올빼미 제한 으로 사용합니다. 그렇지? 게다가, 나는 그 부분을 읽었다. hasPart에도 전이를 추가해야합니까? 공범자 및이 전이 여부입니다 hasPart이 mereology의 문제가 정말 여부

. 일부 영역에서는 전이 적이거나 그렇지 않은 영역에서 전환 될 수 있습니다. 이러한 유형의 관계를 나타내는 W3C 초안 Simple part-whole relations in OWL Ontologies에 관심이있을 것입니다.

추론자를 사용하는 경우 반비례 관계를 한 곳에서 선언하는 것으로 충분해야합니다. p가 q의 역이라고 말하면, p (x, y) q (y, x) 인 경우에만 나타납니다. if 및 if only 관계이므로 말하기 만하면됩니다. 한 번.

transitivity의 경우 명확하지 않을 수도 있지만 프로퍼티 p가 전 이적이라면 역함수라고 추론 할 수 있습니다. 따라서, 만약 Q가 P의 역이고, p는 그러므로, 전이이다 Q이다 :는 질문에서 용어 "조성물"로서 언급 제쳐두고

q(y,x) q = inverse(p) q(z,y) q = inverse(p) 
---------------------- ----------------------- 
     p(x,y)     p(y,z)    transitive(p) 
     -------------------------------------------------------- 
        p(x,z)          q = inverse(p) 
        ----------------------------------------------------------- 
             q(z,x) 

. 내가 알기에, 당신은 이것이 뭔가가 다른 것들로 구성되어 있다는 것을 나타내는 속성이라는 것을 의미합니다. 컴포지션이라는 용어는 속성을 처리 할 때 또 다른 의미를 갖습니다. 예컨대, hasGrandparent 속성 자체와 hasParent 속성 조성물이다

hasGrandparent ≡ hasParent & # x2218의; hasParent는

마찬가지로 hasUncle 속성 hasParent 및 hasBrother의 조성물이다

hasUncle ≡ hasParent & # x2218; hasBrother

은 (컴포지션이 표기법은 전형적인 function composition 표기법에서 반전되어 있습니다,하지만 피보호자와 OWL 표준입니다.)

+0

감사합니다.이미 W3C의 웹 사이트를 보았습니다. 그 예를 이해하지 못했기 때문에 여기에서 질문합니다. 좋아요, 전이 성과 역행을 위해, 제 예제가 옳습니다. 하지만 여전히 의문의 여지가 있습니다. 내 온톨로지의 모든 개념에 액세스하려면 두 개념 사이에 partOf 관계를 정의한 경우 hasPart를 정의해야합니까? – user3661334

+0

두 가지 속성을 사용하는 데 * 반드시 필요한 것은 아닙니다. partOf를 정의하고 it과 inverse (partOf)를 사용할 수 있습니다. * hasPart를 가지는 것이 더 편리 할 수도 있습니다. –

+0

당신의 도움에 감사드립니다. – user3661334