我正在尝试加载一个导入其他一些本体的本体。这些其他本体位于我的机器上,而不是web上。如果我尝试我的_ontology.load(),它会尝试从它们的URI加载这些其他本体。但这失败了。 我如何告诉owlready2这些本体在哪里
The traceback looks like this:
Traceback (most recent call last):
File "~Software/PyOntologyChecker/app.py", line 12, in <module>
covid_onto = get_ontology_from_file(COVID_ONTOLOGY)
File "~Software/PyOntologyChecker/app.py", line 8, in get_ontology_from_file
return get_ontology("file://" + file_path).load()
File "~.local/lib/python3.8/site-packages/owlready2/namespace.py", line 813, in load
imported_ontologies = [self.world.get_ontology(self._unabbreviate(abbrev_iri)).load() for abbrev_iri in self.world._get_obj_triples_sp_o(self.storid, owl_imports)]
File "~.local/lib/python3.8/site-packages/owlready2/namespace.py", line 813, in <listcomp>
imported_ontologies = [self.world.get_ontology(self._unabbreviate(abbrev_iri)).load() for abbrev_iri in self.world._get_obj_triples_sp_o(self.storid, owl_imports)]
File "~.local/lib/python3.8/site-packages/owlready2/namespace.py", line 773, in load
except: raise OwlReadyOntologyParsingError("Cannot download '%s'!" % f)
owlready2.base.OwlReadyOntologyParsingError: Cannot download 'http://ontofox.hegroup.org/CHEBI_module11.owl'!
假设您有
CHEBI_module11.owl
依赖项的本地副本(例如SOME_DIR/HEBI_module11.owl
),将其位置添加到onto_path
(如docs中所述):在执行
my_ontology.load()
之前。这告诉Owlready2在SOME_DIR
中查找文件。路径可以是相对的,也可以是绝对的(比如c:/data/ontologies
)默认情况下,当前Python的工作目录是未扫描的,但可以通过
onto_path.append(".")
进行设置如果所需的本体由URI描述,而不是以通常的文件名结尾,如
"http://rdf.webofcode.org/woc/"
,则本地文件名(woc
在本例中)不应具有扩展名相关问题 更多 >
编程相关推荐