2009-05-29 10 views
2

OWL 온톨로지에서 어셈블리를 만들지 만 온톨로지를 구문 분석 할 때 형식이 선언되고 일부 값이 제공되는 "데이터 형식 속성"에서 오류 메시지가 발생합니다. 필자는 Protege v3.4를 사용하여 내 온톨로지를 작성했습니다.OWL 어셈블리 생성 문제 (OWLGrinder)

예를 들어 오류를 발생시키는 데이터 유형 속성 중 하나는 "언어"유형이며 "영어 & 패시"와 같은 값입니다.

<rdf:RDF xml:base="http://www.owl-ontologies.com/Ontology1243411901.owl" 
xmlns="http://www.owl-ontologies.com/Ontology1243411901.owl#" 
xmlns:owl="http://www.w3.org/2002/07/owl#" 
xmlns:protege="http://protege.stanford.edu/plugins/owl/protege#" 
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" 
xmlns:swrl="http://www.w3.org/2003/11/swrl#" 
xmlns:swrlb="http://www.w3.org/2003/11/swrlb#" xmlns:xsd="http://www.w3.org/2001/XMLSchema#" 
xmlns:xsp="http://www.owl-ontologies.com/2005/08/07/xsp.owl#"> 

그리고 "언어"속성은 아래에 언급되어있다 : 참조는 추종에 의해, 다음과 같습니다 난 그냥 OWLGrinder 한 온톨로지를 추가

<owl:DatatypeProperty rdf:ID="language"> 
     <rdfs:range> 
      <owl:DataRange> 
       <owl:oneOf rdf:parseType="Resource"> 
        <rdf:rest rdf:parseType="Resource"> 
         <rdf:rest rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#nil"/> 
         <rdf:first rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Farsi</rdf:first> 
        </rdf:rest> 
        <rdf:first rdf:datatype="http://www.w3.org/2001/XMLSchema#string">English</rdf:first> 
       </owl:oneOf> 
      </owl:DataRange> 
     </rdfs:range> 
     <rdfs:domain> 
      <owl:Class> 
       <owl:unionOf rdf:parseType="Collection"> 
        <owl:Class rdf:about="#Teacher"/> 
        <owl:Class rdf:about="#ClassOfCourse"/> 
        <owl:Class rdf:about="#LearningResource"/> 
        <owl:Class rdf:about="#Discussion"/> 
        <owl:Class rdf:about="#Student"/> 
       </owl:unionOf> 
      </owl:Class> 
     </rdfs:domain> 
    </owl:DatatypeProperty> 

. 생성이 오류가 이루어진다 : 앞

Assembly generation failed. 
OWL property 'http://www.owl-ontologies.com/Ontology1243411901.owl#language' has a range declaration that points to _:bnode10579059 but its definition is missing. 
Are you missing an ontology which declares this class? 

숫자 "_ : B 노드는"I의 "생성"버튼을 누를 때마다 변경한다. "Language"속성에서 값을 삭제하면 다음 DataType 속성과 관련된 또 다른 오류가 발생합니다. 즉, OWLGrinder에서 정의 된 일부 DataType 속성에 오류가 발생하고 있음을 의미합니다.

누군가이 오류를 처리하는 데 나를 안내 할 수 있는지 궁금합니다.

답변

1

현재 ROWLEX OwlGrinder는 범위가 리터럴 또는 일반 클래스가 될 것으로 예상합니다. 내 열거 형을 포함하는 'LanguageList'래퍼 클래스를 작성하여 범위로 지정할 것을 권장합니다. 나는 이것을 시험하지 않았지만 그것이 효과가있을 것으로 기대한다.

+0

답변 해 주셔서 감사합니다. 문제는 모든 데이터 유형 범위에 대해 하나의 클래스를 작성하여 해결됩니다. – Ehsan

0

http://www.mygrid.org.uk/OWL/Validator에 온톨로지를 복사/붙여 넣었습니다 :이 온톨로지는 (적어도) OWL-Lite 온톨로지가 아닙니다. Protege 구성에 문제가있을 수 있습니까?

+0

안녕하세요 피에르, 응답 주셔서 감사합니다. 해당 유효성 검사기 사이트에 내 전체 온톨로지를 붙여 넣었으며 사이트에서 OWL-DL로 확인했습니다. OWLGrinder는 OWL-Lite에서만 작동합니까? 온톨로지에서 어셈블리를 만들기위한 다른 도구가 있습니까? – Ehsan

2

저는 OWLGrinder에 익숙하지 않지만 ExpectedLanguages (익명 노드에 URI를 지정)과 같은 명명 된 클래스를 선언 한 다음 language 술어의 범위로 사용할 수 있습니다. (Turtle 형식) 축약 예 :

:ExpectedLanguages 
    a owl:DataRange ; 
    owl:oneOf (
     "Farsi"^^xsd:string 
     "English"^^xsd:string 
    ); 
. 

:languages 
    rdfs:range :ExpectedLanguages ; 
. 

OWL enumerated datatype의 사용은 코드/파서/추론은 최소한 준수 OWL-DL 있어야합니다.

공백으로 인해 매번 _:bnodeXXX (공백 노드/익명 노드)에 새 ID가있는 이유입니다. 그러나 메모리의 RDF 그래프 (모델) 내에서 식별하기 위해 각 익명 노드가로드 될 때 ID를 생성해야하므로 모델을 분석하는 동안 (익명 또는 명명 된) 각 노드를 고유하게 식별 할 수 있습니다 그래서 들어오고 나가는 참조를 식별 할 수 있습니다.

+0

필 미스터 필 미 감사합니다. 당신의 대답으로 배울 점이 많습니다. 모든 데이터 유형 범위에 대해 하나의 클래스를 작성하면 문제가 해결됩니다. – Ehsan

1

Intellidimension은 OWL-Lite, OWL-Full 또는 OWL-DL을 .NET 클래스로 변환 할 수있는 SDK를 제공합니다. 당신은 그걸 보길 원할 겁니다.

(!) 참고
나는 당신이 당신의 온톨로지에 도메인의 의미를 혼동 생각합니다. 실제로 "언어가 인스턴스가 UnionOf Teacher로 추측 될 수있는 인스턴스를 설명하는 데 사용되는 경우 언어가 교사, ClassOfCourse, LearningResource, 토론, 학생에만 존재할 수 있습니다."라고 말하려고하는 것으로 보입니다. , ClassOfCourse, LearningResource, Discussion, and Student "를 참조하십시오.이것은 도메인이 OWL (스키마/유효성 검사)의 기능이 아닐 때 속성 사용을 제한해야한다고 생각하기 때문에 OWL의 의미에 대한 일반적인 오해입니다. OWL은 사용법에 의해 추론되어야하는 것을 설명하기 위해서만 사용되며 사용법을 규정하지 않습니다. 언어 속성의 도메인에 UnionOf을 사용하여

Domain semantics described in OWL guide.

는 언어 속성을 사용하여 설명 뭐든지 교사, 또는 ClassOfCourse, 또는 LearningResource, 또는 토론, 또는이다 "고 말하고있다 학생". 나는 이것이 일반적으로 의미가 없다고 주장 할 것이다. 당신이 재산의 범위는 해당 속성에 의해 참조되는 모든 리터럴/자원이 정의 된 유형 있음을 유추 할 수있는 것보다 특정 유형으로 정의하면

UnionOf semantic described in OWL guide.

범위는 점에서 유사하다 범위 선언.

Range described in OWL guide.