2013-09-03 1 views
1

올빼미 온톨로지가 서로 (순환 적으로) 종속되는 것이 안전하거나 합리적입니까? 크로스 도메인 데이터와 추론에서 볼 수있는 잠재력 때문에이 질문을드립니다. 주류 실행 가능 프로그램 언어에 적용될 수있는 몇 가지 기술적 한계가 반드시 여기에 적용될 필요는 없다고 생각됩니다. 예를 들어올빼미 온톨로지가 상호 (순환 적으로) 의존하는 것이 안전하거나 합리적입니까?

, 나는 두 개의 온톨로지를 '재료'와 '생물'을. 'Stuff'에서 나는 PhysicalObject 클래스를 정의하여 상속인이 공간상의 위치를 ​​가짐을 나타냅니다. '창조체'에서는 사회 구성원을 나타내는 Person 클래스를 정의합니다. 개인 사람 인스턴스 공간에서 위치를 차지하고으로

<!-- In 'Stuff' --> 
<owl:Class rdf:ID="Stuff#PhysicalObject"/> 

<!-- In 'Creature' --> 
<owl:Class rdf:ID="Creature#Person"/> 

, 그것은 subClassOf PhysicalObject를 선언하는 것이 적절할 것 같다. 이것은 'Creature'온톨로지에서 'Stuff'를 가져 오기 만하면 해결할 수 있습니다. 그러나 나는 또한 그 범위에있는 사람을 참조하는 'Stuff'에 속성을 갖고 싶습니다 : isHeldBy.

<!-- In 'Creature' --> 
<owl:Ontology rdf:about=""> 
    <owl:imports rdf:resource="Stuff" /> 
</owl:Ontology> 
<owl:Class rdf:ID="Creature#Person" 
    <rdfs:subClassOf rdf:resource="Stuff#PhysicalObject" /> 
</owl:Class> 

<!-- In 'Stuff' --> 
<owl:Ontology rdf:about=""> 
    <owl:imports rdf:resource="Creature" /> 
</owl:Ontology> 
<owl:ObjectProperty rdf:ID="isHeldBy"> 
    <rdfs:domain rdf:resource="Stuff#PhysicalObject"/> 
    <rdfs:range rdf:resource="Creature#Person"/> 
</owl:ObjectProperty> 

안전한가요? 기대하는 것이 합당한가? 이것은 현재 구현에서 지원됩니까? 가져 오기를 사용할 수 없다면 온톨로지의 공리가 정상적으로 저하 될 것으로 예상해야합니까?

나는이 계층 솔루션이 있습니다 실현,하지만 난 여전히 토론의 가치가 포인트입니다 생각합니다.

+0

(http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work)을 받아들이] 고려하시기 바랍니다, 또는 다른 해결책을 발견하는 경우 직접 질문에 답변을 게시하고 수락하면 같은 질문을 한 다른 사람들이 당신을 위해 무엇이 효과가 있었는지 알 수 있습니다. –

+0

귀하의 답변은 상당히 도움이되었지만 제 질문에 완전히 답하지 않았다고 생각합니다. – eadsjr

+0

그걸 받아들이지 않아서 다행입니다. :) 당신이 해결하지 못하는 것에 정교 할 수 있습니까? 아마도 우리는 좀 더 조사하고 좀 더 만족스러운 답을 얻을 수 있습니다. (!의 답이 owl''태그 모든 질문에 대한 답을 목표로하자) –

답변

2

올빼미 2 규격 section 3.4 Imports 수입의 의미를 설명하고, 원형의 수입을 금지하지는 않는다. 오히려, 의미론은 수입 관계의 종결이라는 관점에서 정의된다.

미학적으로는, 일부 상위 온톨로지로 물건생물의 공통 요소를 리팩토링하는 것이 바람직 할 두 물건생물에게 수입을 가지고 있지만, 그 기술적 요구 사항이 아니다 있습니다. 그렇지 않으면, 비록 두 개의 온톨로지를 가지고 있긴하지만, 하나만 가져온 것 같습니다. 그 중 하나를 가져 오는 것이 반드시 다른 것을 가져오고, 그 반대도 마찬가지이기 때문입니다. 내 대답은 유용하다고하면