2017-05-08 5 views
1

예를 들어 Flock, Bird, Velocity의 세 클래스가 있습니다. 또한 hasMember (도메인은 Flock, 범위는 Bird) 및 hasAttribute (도메인은 Bird이고 범위는 Velocity)라는 두 가지 속성이 있습니다. 이제 Flock 클래스에 EquivalentClass 제한을 추가하려고합니다. 아주 간단한 정의를 생각해 봅시다. 무리에서, 모든 새들은 같은 속도를 가지고 있습니다. OWL에서 이것을 어떻게 표현합니까?OWL 제한에서 owl : sameAs를 사용할 수 있습니까?

+0

해결 방법으로, 도메인으로'Flock'으로 속성'hasAttribute'를 선언하고 간단한 SWRL 규칙을 작성할 수 있습니다. –

+0

Stanislav에 감사드립니다. 규칙으로 표현 될 수 있다는 것을 알고 있습니다. 나는 단지 OWL의 공리가 그것을 할 수 있는지 궁금 할 뿐이다. – deerls

+0

OWL은 가변적입니다. 즉, 사용할 수있는 특정 값이없는 경우 특정 클래스의 모든 개인에 대한 속도에 대한 설명을 작성할 수 없습니다. 따라서 SWRL이 존재합니다. – AKSW

답변

1

경고 :이 대답은 실제로 잘못되었습니다. 이유를 보려면 의견을 참조하십시오.

"OWL 제한에서 owl:sameAs을 사용할 수 있습니까?" OWL (2) 온톨로지가 아니라 대답은 '아니오'입니다. 그러나 OWL Full 온톨로지 (OWL RDF 기반 의미 체계에 따라 해석되는 RDF 그래프)에서 원하는대로 할 수 있습니다. 그러나 이것은 무리에서 조류의 속도에 관해 무언가를 말하고 싶은 질문의 세부 사항과는 관련이 없습니다.

OWL 2 DL 한도 내에서 문제를 해결할 수 있습니다. 속성 flockVelocity을 소개하고 속성 체인 hasMember o hasAttributeflockVelocity의 하위 속성으로 만듭니다. flockVelocity을 기능적 속성으로 설정하면 작업이 완료됩니다. 또는 flockVelocity에서 카디널리티 제한을 정의 할 수 있습니다. 거북이 :

완료. OWL DL에 관심이없고 스스로 OWL Full 자유를 허용하는 경우 :flockVelocity 대신 빈 노드를 사용하여 인공 속성 이름을 입력 할 필요가 없습니다.

+0

앙트레에 감사드립니다. 나는 사슬 체인을 시험해 보았습니다. 그러나 flockVelocity를 HermiT로 실행하면 내부 추론 오류가 발생합니다. "추론 중에 오류가 발생했습니다 : 단순하지 않은 속성 '<... # flockVelocity>'또는 그 반대가 카디널리티 제한 'ObjectMaxCardinality에 나타납니다. (1 <... # flockVelocity><... # Velocity>) '.. "그래서 Flock 클래스에 카디널리티 제한을 추가했지만 도움이되지 않습니다. – deerls

+0

@deerls, [11.2 공리 폐쇄에 대한 제한] (https://www.w3.org/TR/owl2-syntax/#The_Restrictions_on_the_Axiom_Closure), "단순 역할에 대한 제한"및 "속성 계층에 대한 제한"단락을 참조하십시오. . –

+0

아아, 네 말이 맞아 내가 틀렸다! 내 온톨로지는 Stanislas가 언급 한 이유 때문에 OWL 2 DL에 없습니다. 그러나 카디널리티 제한으로 원하는 결과를 얻을 수 있습니다. 내 대답을 편집하겠습니다. –