所以我不确定这是你拥有的正确 URI。我相信这是您在文件中阅读时自动发生的事情。要访问它,我认为您需要一个没有“.owl”的名称空间。另一种选择是使用全局“obo”命名空间。
我可以通过以下方式访问它:
obo = get_namespace("http://purl.obolibrary.org/obo/")
obo['chebi#2_STAR']
# 2_STAR only has comments so,
obo['chebi#2_STAR'].comment
#returns
['Annotated by 3rd party', 'Annotated by 3rd party']
遇到不兼容的字符时,用括号括起来,作为字符串放入。
更新 (2021-09-23) 查看更多 CHEBI 本体,看起来有几个可用的命名空间,在 CHEBI 命名空间中调用命名空间的更好方法是:
from owlready2 import *
#loaded from local file
chebi = get_ontology("chebi.owl").load()
#get the right namespace. note the 'chebi.' correction to what I initially did.
chebi2 = chebi.get_namespace("http://purl.obolibrary.org/obo/chebi#")
#then retrieve
chebi2['2_STAR']
我还不知道如何查询那里有哪些名称空间,但如果您已经知道前缀,那可以帮助您获得所需的名称空间。