问题标签 [owlready]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
750 浏览

python - 使用 Owlready2 在 OWL/RDF 本体中检索 rdf 标签

我正在做一个项目,我需要检索人类/鼠标本体的 rdf:label 值并在这些标签上运行匹配器。但是,我似乎找不到可以返回本体中所有类的所有标签的内置 Owlready2 方法。我可以使用所有类名,onto.classes()但这对我没有帮助,因为我无法从类名中获取标签。类名在数据集中只有 IRI,格式为human.NCIXXXXX.

我正在使用OWL/RDF格式为:http ://oaei.ontologymatching.org/2012/anatomy/index.html 的 OAEI 2012 数据集 (数据集的下载链接在数据集标题下)

这是人类猫头鹰本体文件的片段:

onto.classes()返回human.NCI_C13031。我想要 Python 列表中“subiculum”的 LABEL 值。

文档说,owlready2可以通过调用onto.search(label = "XXXXXX") (X = labelname). 但是,我想要反过来。我需要检索标签。我似乎找不到使用 owlready2 的方法。有没有办法在有/没有owlready2的情况下做到这一点?我知道 owlready2 中有一个 OWL/RDF 解析器(owlready 没有),我可以成功读取文件。我只需要某个标签查询即可工作。

请考虑我需要在 Python 中执行此操作,而且我对 Python 也很陌生。我尝试了 onspy,但它似乎没有本体查询的潜​​力,仅用于本体文档(如果我错了,请纠正我)。

谢谢!

编辑:我自己解决了。要获取标签,请将 设置set render function 为自定义函数,该函数接受一个实体并返回其标签。它全部在 owlready 文档中:https://pythonhosted.org/Owlready2/annotations.html#custom-rendering-of- entities`

0 投票
1 回答
250 浏览

python-3.x - IndexError:列表索引超出范围本体注释

我正在使用以下代码向本体添加注释

然后它显示一个IndexError,当我使用 on.save() 保存它时

0 投票
0 回答
164 浏览

python - Python:用owlready加载“爱因斯坦斑马拼图”-本体

我想借助 Python 的语义网络工具(最好是 owlready )解决 A. Einstein 著名的斑马难题

起点是链接在https://github.com/RDFLib/OWL-RL/issues/3中的两个 owl 文件。第一个(XML 语法)按预期工作。第二个(不同的作者,n3海龟语法)无法加载或仅在owlready中“部分”加载。为了更容易理解我的步骤,我将它们记录在此笔记本中:https ://github.com/cknoll/demo-material/blob/main/expertise_system/einstein-zebra-puzzle-owlready-solution-attempt.ipynb 。

<Edit1>为了更好地参考,我包括了笔记本的基本部分:

</编辑1>

结论:我可以加载此本体的 XML 版本,但我无法确认这些概念是否定义为owl:oneOf-objects,也无法找到断言之类的位置

告终。

我会很高兴得到一些提示。

(我认为,一旦正确表示了本体,就可以通过类似的方式获得解决方案sync_reasoner_pellet(infer_property_values=True, infer_data_property_values=True))

0 投票
0 回答
365 浏览

python - python:将曼彻斯特语法中的owl文件解析为owlready

是否可以解析以曼彻斯特语法给出的本体,使其最终成为owlready的本体对象。

这是我到目前为止发现的:

  • Owlready 本身只能导入“NTriples、RDF/XML 或 OWL/XML 格式”(ref1)。

  • Ontospy可以(除其他外)在这些格式之间进行转换:(['xml', 'turtle', 'n3', 'nt', 'trix', 'rdfa']ref2

  • rdflib有一个功能rdflib.extras.infixowl.manchesterSyntax(...),但似乎没有很好地记录,似乎不适用于整个文件(或str多个语句)。

是否还有其他我遗漏的项目,或者是否有一种简单的方法可以组合(一些)这些项目以将曼彻斯特语法中的 owl 文件解析为 owlready 本体?

0 投票
0 回答
64 浏览

python - PYM["SNOMEDCT_US"] python 缺少什么

我正在使用 owlread 构建代码,代码必须抛出文本并将医学发现转换为 SNOMED ct

但是我收到关于 SNOMEDCT_US = PYM["SNOMEDCT_US"] 的错误,错误说 TypeError: 'NoneType' object is not subscriptable

我认为缺少可以识别 PYM["SNOMEDCT_US"] 的文件,但我仍然找不到它?

谢谢

0 投票
0 回答
49 浏览

python - 在python中访问翻译本体时堆栈溢出

我有一段非常简单的代码,但它已经遇到了错误。我的一段代码应该只遍历本体中的类名并将它们打印出来。这适用于前 20 个左右,但随后会发生此错误:

我使用 owlready2 的代码只有这 4 行:

你能指出我的错误吗?我最初在 MacBook 上尝试过,但现在我也在运行 Arch 的计算机上进行了测试,同样的错误。

0 投票
0 回答
425 浏览

python - 如何在 OWL 中获取文字标签值?

我在 desctop Protege 中创建了本体。它由两个类组成 - test1 和 test2。然后我为他们声明了标签。第一个没有数据类型的标签,第二个 - 文字。OWL 文件内容如下。差异是字符串 'rdf:datatype="&rdfs;Literal"' 的存在尝试通过 owlready2 获取标签时,出现错误“ValueError:无法读取数据类型 305 的文字!” 用于文字类型标签。

这是 OWL 文件的内容:

这是打印子类标签的代码:

这是带有错误消息的输出:

如何获取 test2 的标签值?

0 投票
1 回答
427 浏览

python - Owlrady2 从文件而不是从 url 加载导入的本体

我正在尝试加载一个导入其他一些本体的本体。这些其他本体位于我的机器上,而不是在网络上。如果我尝试 my_ontology.load() 它会尝试从它们的 URI 加载这些其他本体。但这失败了。我如何告诉 owlready2 这些本体在哪里?

0 投票
2 回答
223 浏览

java - 如何在drone.io上使用python和java?

我开发了一个使用包的 python 项目owlready2。对于它的一些功能,owlready2 显式地java -jar ...通过-package 进行调用subprocess

在我的本地机器上,这工作正常。现在我想用drone.io 设置CI。

我现在的.drone.yml样子是这样的:

在测试摘要中,我收到错误:

这是非常合乎逻辑的,因为我使用图像“python:3.8”。

问题:如何使 java 在测试机上可用?

0 投票
0 回答
322 浏览

owl - 如何修复在 owlready2 中加载本体的此错误

我正在尝试加载本体,但我收到一个错误,您可以在帖子中看到,代码如下所示。

代码:

错误: