使用protege创建本体,并使用owlready2库从数据库中填充数据。现在,此行给出了此错误:
sync_reasoner(my_world)
这是我遇到的错误:
无法解析本体。找不到合适的解析器,或者解析失败。请参阅下面的解析器日志以获取解释。 尝试了以下解析器: 1)RDFXMLParser 2)OWLXMLParser 3)OWLFunctionalSyntaxOWLParser 4)TurtleOntologyParser 5)OWLOBOParser 6)KRSS2OWL 7)ManchesterOWLSyntaxOntologyParser
Parser: RDFXMLParser
org.xml.sax.SAXParseException; systemId: file:///C:/Users/THARIN~2/AppData/Local/Temp/tmpin0r193y; lineNumber: 1; columnNumber: 8; Element type "http:" must be followed by either attribute specifications, ">" or "/>".
--------------------------------------------------------------------------------
Parser: OWLXMLParser
org.xml.sax.SAXParseException; systemId: file:///C:/Users/THARIN~2/AppData/Local/Temp/tmpin0r193y; lineNumber: 1; columnNumber: 8; Element type "http:" must be followed by either attribute specifications, ">" or "/>".
--------------------------------------------------------------------------------
Parser: OWLFunctionalSyntaxOWLParser
Encountered " <FULLIRI> "<http://www.semanticweb.org/yashoda/ontologies/2017/12/MovieOnto> "" at line 1, column 1.
Was expecting:
"Ontology" ...
(Line 0)
--------------------------------------------------------------------------------
Parser: TurtleOntologyParser
uk.ac.manchester.cs.owl.owlapi.turtle.parser.ParseException: Encountered " <ERROR> "< "" at line 64, column 1.
Was expecting:
<EOF>
--------------------------------------------------------------------------------
Parser: OWLOBOParser
org.coode.owlapi.obo.parser.ParseException: Encountered "<EOF>" at line 941, column 114.
Was expecting one of:
"[" ...
<TAG_NAME> ...
<QUOTED_STRING> ...
<STRING> ...
<TAG_VALUE_WS> ...
<COMMENT> ...
(Line 941)
--------------------------------------------------------------------------------
Parser: KRSS2OWLParser
de.uulm.ecs.ai.owlapi.krssparser.ParseException: Encountered " ">" "<http://www.semanticweb.org/yashoda/ontologies/2017/12/MovieOnto> "" at line 1, column 1.
Was expecting:
<EOF>
--------------------------------------------------------------------------------
Parser: ManchesterOWLSyntaxOntologyParser
Encountered <http://www.semanticweb.org/yashoda/ontologies/2017/12/MovieOnto> at line 1 column 1. Expected one of:
Individual:
AnnotationProperty:
Datatype:
DataProperty:
ObjectProperty:
DisjointProperties:
ValuePartition:
EquivalentClasses:
Import:
Prefix:
DisjointClasses:
Class:
SameIndividual:
DifferentIndividuals:
(Line 1)
答案 0 :(得分:1)
据我所知(我不是Python程序员),Owlready2使用的是HermiT推理程序版本1.3.8和嵌入式OWLAPI版本。这个版本非常古老-HermiT 1.3.8使用OWLAPI 3,该版本已经不支持几年了。
本体这一部分的解析器错误:
<Movie rdf:about="#Wonder_Woman_">
<isMadeIn rdf:resource="#Hong Kong"/>
</Movie>
<Country rdf:about="#Hong Kong">
<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/>
</Country>
它抱怨#Hong Kong
片段-它无法应付空格。更改为:
<Movie rdf:about="#Wonder_Woman_">
<isMadeIn rdf:resource="#Hong_Kong"/>
</Movie>
<Country rdf:about="#Hong_Kong">
<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/>
</Country>
允许解析器处理。从长远来看,Owlready2应该更新到更新的HermiT版本。 OWLAPI可以处理版本4中的文件,而HermiT 1.3.8.413是Protege中使用的版本。