OWLオントロジーからアセンブリーを構築していますが、オントロジーを解析すると、タイプが宣言され、いくつかの値が指定されている「データ型プロパティー」でエラー・メッセージが発生します。Protegev3.4を使用してオントロジーを作成しました。
たとえば、エラーを発生させるデータ型プロパティの1つは、タイプが「string」で値が「English&Farsi」のような「Language」です。以下に、protegeによって作成された参照を示します。
<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#">
そして、「Language」プロパティは以下に言及されています:
<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>
OWLGrinderにオントロジーを1つ追加するだけです。このエラーは、以下を生成するときに発生します。
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?
「生成」ボタンを押すたびに、「_:bnode」の前の数字が変わります。「Language」プロパティから値を削除すると、次のDataTypeプロパティに関連する別のエラーが発生します。これは、定義されている(そしていくつかの値が指定されている)すべてのDataTypeプロパティがOWLGrinderでエラーを起こしていることを意味します。
誰かがこのエラーを処理するために私を導くことができるかどうか疑問に思いました。