问题标签 [pellet]

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 投票
3 回答
405 浏览

semantic-web - 如何使用 Pellet 进行离线推理?

我有一个 OWL 本体,我正在使用 Pellet 对其进行推理。像大多数本体一样,它首先包含各种标准本体:

我知道一些推理器“内置”了这些标准本体,但 Pellet 没有。当我离线且无法访问它们时,有什么方法可以继续使用 Pellet?(或者如果他们的 URL 离线,就像 dublincore.org 上周进行的例行维护)

0 投票
1 回答
590 浏览

c# - 如何将颗粒与 C# 连接?(在 C# 中加载本体。)

我现在正在运行Pellet 1.5.x 服务器。我需要在 C# 中加载一个本体并对 Pellet 的运行服务器进行查询。我该怎么做呢?

我还需要知道 Pellet 如何管理查询(查询的结构是什么),以及 ty /wave。

0 投票
1 回答
1779 浏览

rdf - 基于 rdf:type 的属性链推理

我试图让 Pellet 将属性从类传播到属于这些类的个人。例如,如果我有具有属性 X 的 A 类和具有 rdf:type=A 类的个体 B,我希望个体 B 在运行推理器后具有属性 X。我正在使用OWL 2 New Features页面上引用的属性链包含技术。如果我在属性链中使用我自己的自定义属性,这种技术非常有效,但如果我尝试使用 rdf:type 本身,它就不起作用。以下是我的 RDF/XML 的一些相关片段。

本体类(由 Jena 生成;注意“传播”属性,因为这是我试图传播给 Person 类的个体):

“传播”属性本身(由我手动编写,不是用 Jena 生成的,因为 Jena 的 API 不支持对象属性链):

在推理之前,俄狄浦斯这个人是这样的:

这个想法是,经过推理,它看起来像这样:

我有一种感觉,将 rdf:type 称为 rdf:resource 可能是事情变得棘手的地方,因为我很确定它不是资源。但我不知道如何解决它。我也通过 Pellet 的命令行 lint 程序运行它,它似乎没有问题,只是它为 rdf:type 创建了一个显式条目,如下所示:

对我来说看起来有点奇怪,也可能暗示它不理解我对 rdf:type 的引用。

任何人都可以阐明可能发生的事情吗?我非常感谢任何人可以提供的任何帮助。

0 投票
2 回答
653 浏览

java - 使用 Pellet Reasoner 监控推理进度

我目前正在构建一个 OWL 本体,直到最近才使用 Pellet 推理器快速分类。然而,自从引入了几个新的类后,推理性能已经慢得像爬行了。尽管推理器完成并且本体不包含任何不可满足的概念等,但推理所花费的时间是不可接受的。我目前正在尝试追踪可能导致放缓的违规班级/班级。

这是我的问题:是否可以记录 Pellet 的推理进度?即是否有可能产生一些输出来记录颗粒在某些推理任务上花费了多长时间/跟踪对任何给定类和公理进行推理需要多长时间?如果是这样,是否有人可以发布一些Java代码?

提前感谢您的回答!

0 投票
1 回答
709 浏览

ontology - 同一个人属性和数据类型属性的冲突

当我运行推理器(pellet 1.5 或 fact++)时,我在 protege 中遇到“相同个人属性”的问题

让我们以本体为例

thing 有儿子 A 和 B,A 有儿子 C 和 D。

B、C 和 D 具有同一类别的个体。

我不能说个人 C 与个人 B 是“同一个人”,然后再加上个人 D 与个人 B 是“同一个人”吗?这是真的,他们有不同的名字,但他们是同一个人。

为什么只有当我设置个人 B 具有 C 或 D 类型的“同一个人”时它才有效?

protege 错误是“InconsistentOntologyException:Fact++.Kernel:consistent Ontology”,并且pellet 说本体不一致。

编辑:似乎这是一个更根深蒂固的问题,这个例子有效,将继续检查。

EDIT2:经过更多试验,似乎它与 DataType 属性发生冲突。它们都共享同名的 DataType 属性。在示例中,属性域是 A 和范围字符串。知道如何解决吗?

0 投票
1 回答
976 浏览

java - 无法解决 Pellet/OwlApi 中的类 Reasoner

我开始使用 Pellet 通过我的 OWLApi 应用程序创建推理器。与示例一样,我从以下代码开始:

但是 Eclipse 在“new Reasoner”上给了我这个错误:

我怎么解决这个问题?我在谷歌上搜索,但唯一的反应不清楚。

0 投票
2 回答
5615 浏览

semantic-web - 在语义网中,OWL EL、RL、QL 都是 DL 的实例吗?有什么不同?更多内部

我在许多本体上使用了颗粒推理器,并在 IRI 列表(在本例中为 URL)上运行了 info 方法。我感兴趣的两个指标是 DL Expressivity 和 OWL Profile。

我得到的 OWL 配置文件范围包括“OWL 2”、“OWL 2 DL”、“OWL 2 EL”、“OWL 2 QL”、“OWL 2 RL”。什么时候说“OWL 2”,这是否意味着本体已满 OWL 2?所有其他变体都是 DL 吗?我找到了描述不同配置文件的规范(尤其是表 10)[作为新用户,我不能发布多个超链接;认为即将到来的一个比两个更重要],但到目前为止,我还无法为自己回答这个问题。

至于“DL Expressivity”,顾名思义就是所有的Expressivity代码(如ALCH、ALCH(D))都是DL。我发现了这个高度学术目录,可以说,代码及其复杂性方面的技术含义,但我需要知道如何通过观察表达性来判断,至少一般来说,本体是 DL 还是 Full。任何解释这些事情的帮助或链接将不胜感激。

如果有帮助,我还应该为我正在尝试使用这些东西做些什么提供一些背景信息。我只是从“pellet info”数据中构建一个表,其中包含本体 ID 号(来自 url 列表)、每个的表达性和 OWL 配置文件,并且还说明了该本体是完整的、DL 还是 Lite。

0 投票
1 回答
236 浏览

semantic-web - Can a semantic web Ontology have the same expressivity but a different profile?

I'm analyzing some ontologies with the pellet reasoner, but I'm getting some strange results. When I perform the "pellet info" method on an ontology, and compare the OWL Profile to the DL Expressivity, I sometimes get ontologies that have different expressivities bu the same profile. That seems at least plausible, but then I am also finding ontologies with the same expressivity but different OWL Profiles. How is this possible, since the profile is a mark of the ontology's expressivity and reducibility in the first place?

0 投票
2 回答
888 浏览

jena - Pellet 不包括我的 SWRL 规则

我构建了一个使用 SWRL 规则进行推理的本体。当我在 Protege 中进行 SQWRL 查询时,它工作正常。问题是,当我想将 Pellet 与 Jena 一起使用时,Pellet 似乎在查询中不包含 SWRL 规则。我包括这样的 Pellet:

我也试过这个:

但没有进展。有任何想法吗?我的毕业论文需要这个。谢谢

0 投票
1 回答
864 浏览

rdf - OutOfMemoryError using Pellet as Reasoner

I'm trying to infer data using Pellet, but my application always crashes during reasoning due to an "OutOfMemoryError: Java heap space".

As suggested elsewhere I have already tried to increase heap size and currently I am using these VM arguments: "-XX:MaxPermSize=256m -Xmx6144m". Furthermore I've to set 'PelletOptions.USE_CONTINUOUS = true', but so far I was only able delays the crashs for some minutes. (Longest run so far: 30 min.).

I am storing data in a Jena TDB triplestore. Its total size is 170 mb and consists of 962117 statements. The ontology has been modelled in Protege and there are no inconsistencies when reasoned with Hermit or Fact++ (of course no data is present at that point). The statements I'd like to infer have been modelled using equivalent classes (e.g.: A and (hasX some X)), inverse properties (hasX <--> isXOf) and some transitive properties. There are 55 classes: 14 root classes, 11 equivalent classes (all subtype of one root class). At the moment instances of 14 classes have been added to the tripestore.

I also used pellint to analyse my ontology, but I am not sure which conclusions to draw from this result:

This is my code for creating the InfModel:

and this is essentially how I query the data:

As you can see I have received various exceptions when either querying data, preparing or validating an InfModel. Do you have any idea, what else I could try to resolve this error?