问题标签 [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 投票
0 回答
507 浏览

rdf - 如何在 python 中使用 owlready2 库读取 rdf:range 的资源 url?

我使用 dbpedia.owl 文件并使用owlready2库加载本体。我想知道如何访问rdf:resourceunderrdfs:domain标签。他们的文档没有任何线索可以做到这一点。以下显示当前代码状态。

有没有办法像访问一样ontoProperty.range.resource?但这不起作用。文件中的以下部分owl显示了与ontoProperty. 非常感谢您的回答和建议。

0 投票
1 回答
582 浏览

python - 成功安装OWLready2,但使用时出错

正如标题中提到的,我已经将“Python”“pip”更新 到了他们的最新版本,也成功安装“owlready2”库,但是在下面的代码中使用它时:

Python给了我以下错误:

Blockquote ModuleNotFoundError: 没有名为 owlready2 的模块

0 投票
2 回答
439 浏览

python - 在 Ubuntu 中安装 OwlReady2 (Python lib) 时出现问题

我正在尝试按照以下方法在 Ubuntu中安装owlready2库,但我遇到了问题。

  • 我更新了系统和应用程序
  • 安装 Python 3 并使其成为工作版本(默认)
  • 安装 pip3
  • 使用 pip 和 pip3 安装 owlready2 库

但是我遇到了以下问题,这似乎是库包的问题:

错误:无法复制'./hermit/org/semanticweb/hermit/hierarchy':不存在或不是常规文件”

命令 /usr/bin/python3 -c "import setuptools, tokenize; file ='/tmp/pip_buil d_root/owlready2/setup.py';exec(compile(getattr(tokenize, 'open', open)( file ).read ().replace('\r\n', '\n'), file , 'exec'))" install --record /tmp/pip-lq v533ik-record/install-record.txt --single-version -externally-managed --compile 失败,错误代码 1 在 /tmp/pip_build_root/owlready2 将调试日志存储在 /home/ubuntu/.pip/pip.log 中

有谁知道如何解决这个问题?

0 投票
0 回答
88 浏览

python-3.x - 无法在加载的 owl 文件中创建子类

我有一个owl/rdf 文件本体,用owlready2 加载它,并希望在本体中的特定类中创建一个子类。

我已经尝试了 owlready2 文档https://owlready2.readthedocs.io/en/latest/class.html中的代码,但向我显示了问题:'NoneType' 对象不可迭代

types.new_class(class_name, (self.onto[superclass]))

0 投票
1 回答
2688 浏览

python - Python Owlready2 Ontology Creation and Reasoning,Cannot save function错误,同时保存equal_to

我尝试创建一些语义规则,并希望使用 owlready2 for python 保存它们。我想推理与时间范围相关的错误,所以我创建了一个错误类和一个 timerangeWithError 类。现在我想检查传入的错误是否是TimeRangeRelatedError,所以我尝试使用equal_to-method来设置一些规则,隐士推理器可以区分错误和TimeRelatedError。尽管如此,编译器还是提出了一个错误,说我无法存储函数:

我不知道有任何其他方法可以检查时间跨度是否在特定范围内。我认为我在本体描述中建模了一些错误。你能帮我建立一个能够检查值是否在日期之间的本体吗?

编辑:// AWSK评论后,我尝试使用constraintedDatatype设置error_at(在推理日期时间是否超出范围后应该抛出异常,最后我有一种方法来检查日期是否在范围内),但它也因错误而失败:

错误信息:

经过一些工作,我得到了以下信息,但在颗粒中的推理失败了:

对于以下 Pellet 异常,我认为 Pellet 找不到 ?d 变量(我认为这是我预先定义的一个错误的实例):

这是我生成的 OWL 文件,可能会以错误的方式生成某些内容(我只是该领域的初学者,请见谅):

Edit3:// Idk 如何返回 lessThan 的返回值,所以我假设该规则只有在 lessEqual 为真时才会触发。这是我的新代码:

这是我的新 rdf 文件:

0 投票
1 回答
66 浏览

python - OWL2,SWRL:查询项目是否在另一个项目的范围内?

我的问题是,如果我想检查一个实例是否在范围内,我使用以下规则:

如果我的本体中只有一个 TimeRelatedError ,它会起作用,如果我有更多实例,它将始终触发 true (因为 TimeRelatedError 之一总是在开始/结束点之前/之后)。您对如何解决这个问题有任何想法吗?我想如果我以某种方式将我的 TimeRelatedError 分配给 Error 实例,我可以解决这个问题,但我不知道如何。请 OWL/SWRL 专业人员帮助我完成这项任务 :)

0 投票
0 回答
275 浏览

python - OwlReady2:如何使用 ConstrainedDatatype 正确限制 DataProperty 的范围

我正在阅读并关注 owlready2 文档,并且我已经在 ConstrainedDatatype 中。这些例子是:

这很简单,但没有关于如何在上下文中使用它的进一步示例。所以我在 DataProperty 中尝试使用它:

现在看看这是否会正确实现/编写,我保存了 owl 文件。这是保存的 XML 的片段:

由于限制已写在 XML 中,我现在期望药物个体/实例的“x”数据属性将只接受长度 <=3 的字符串值。为了测试这一点,我创建了一个实例并将值设置为长度大于 3 的字符串:

这就是我的困惑和问题出现的地方......由于我试图存储的字符串长度大于3,这不应该引发异常/错误吗?或者我应该使用 Imp() 类并设置规则,以使数据类型限制在单独创建期间生效?

提前致谢!

0 投票
0 回答
323 浏览

owl - owlready2 API 无法访问 https 链接

我遇到了一个非常基本的问题,即 Owlready2 API get_topology() API 无法读取指向我的 owl 文件的 HTTPS URL 链接。对于 URLLIB API 有解决方案;但是,我不知道在 OwlReady2 API 的情况下如何处理它。

如果我使用基于“HTTP”的 URL(例如注释行),它可以正常工作。

我得到的运行时错误是:

主要调用跟踪如下。

0 投票
0 回答
130 浏览

python - 在python3中打印本体类时出现问题

在此处输入图像描述我正在使用owlready2。我加载了一个本地 .owl 文件(我正在使用的 .owl 文件),它有一个 Radiometry 类。我做了以下事情:

输出为无

当我在本体中打印一个已经存在的类时,为什么我得到 None ?

调试我试过:

然后我得到:

[owl.Thing, untitled-ontology-17.Radiometry, untitled-ontology-17.Astrophysics,........]

untitled-ontology 是什么意思,这是问题所在吗?

完整说明如下: 在此处输入图像描述

我是新手,非常感谢任何帮助。

0 投票
0 回答
63 浏览

python - Python对象到类的转换

我想在 Python 中定义一个本体(owlready)。owlready 中的所有术语都被定义为类。我已经有了类似的东西,其中一些术语(代表部分)已经定义为类,而其他术语是这些类中的对象(定义为 Quantity 对象)。有没有办法将这些对象转换为新类?

这是一个例子。basis_set将在一个类中定义section_basis_set

但我想要类似的东西