问题标签 [jena-rules]
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.
sparql - 如何编写耶拿规则来查询类并获取属性的个人
如何在家里没有用户时提取所有关闭的执行器。我试图编写 Jena 规则,但无法获得正确的输出。我已经添加了我想要的结果。需要帮助编写规则。
rdf - 耶拿规则示例
我有这个 RDF 描述:
我想应用 Jena 规则来选择带宽值等于 450 的位置。我创建了这个规则:
响应通常是:
但引擎响应是:
引擎java源是:
谢谢你回复我。
java - Writing a Jena rule to add properties to a resource with some specific property values?
I'm trying to write a Jena rule whose antecedent matches a location where the network's bandwith is 450^^xsd:float. I've tried the following two rules. The first gives me no results. The second matches for the networks labeled Gate 23 and Gate 15, but only Gate 15 should match.
This is my RDF data:
jena - 语义网规则使用“全部”
假设我有以下陈述:
我想使用规则来执行以下操作:
这意味着您可以推断(A q 'Yes'),但 B 不能,因为 B p A 和 A v 2(尽管 B p C 和 C v 1)。
我在耶拿使用了上述规则,但我得到了 A,B,C eg:q 'Yes',这是错误的。任何帮助将不胜感激。
更新(最初作为答案发布)
(?ap all(?b)) 的意思是我喜欢得到一个集合,这个集合中的所有?mem 都满足(?ap?mem)。并且所有成员必须满足 (?mem v 1) 才能推断 (?aq 'Yes')。
例如,
A p B 和 A p C,所以我得到一个包含 (B, C) 的集合。因为 B 和 C v 1,所以 A q '是的。
B p A 和 B p C,所以我得到一个集合(A,C),但是 A v 2,所以不能推断 B q '是'。
问题解决了
感谢约书亚泰勒。
首先,这两个规则不能同时使用。rule2应该在rule1之后使用。
而且,rule2 应该是 [rule2: (?s ?p ?o) noValue(?s, connectedToNonOne) -> (?sq 'Yes')]。
jena - 如何在 fuseki 中逐步定义非常简单的自己的规则?
我请求您帮助了解如何在 fuseki 中创建我自己的属性规则。我已经阅读了 Jena 和 Fuseki 关于推理器和规则的文档,但我不明白如何创建(逐步)简单的规则。我发现的例子都集中在 OWL 推理器上。
我不清楚 config.ttl 文件中写了什么以便 fuseki 考虑到我对本体的规则。我通过 sparql 客户端将 Sparql 点与 python 一起使用,并且我不掌握 java 代码和应用程序。
我的目的是创建下一个规则:
SWRL 语法的原理是:
提前致谢。
使用一种解决方案进行编辑
以 inference_rules.rules 为例:
jena - 在耶拿规则中指定类等价
给定一个本体,Class A
我Class B
正在陈述一个规则:
然而,耶拿通用规则推理器仅将标签equivalentClass
应用于Class A
,即它没有说明Class B equivalentClass Class A
。
此外,我有一个object A
是 的个体Class A
,推理器不是Class B
作为 的类型应用的object A
。
还有另一种通过耶拿规则指定类等价的方法吗?对于这个推理任务使用通用规则推理器还是调用内置的 Jena OWL 推理器更好?还是有另一个接受耶拿规则的推理者?
java - Jena API 规则测试:在 Jena 中编写规则的方法有哪些?
我成功地使用 Jena API 和 Eclipse 创建、修改、合并本体。我还成功地在 Eclipse 中启动了 OWL 推理器和 Pellet 推理器。
现在我想了解如何使用 Jena API 在 Eclipse 中编写一个简单的规则,以及是否有一种或多种方法可以做到这一点。
例如,在 Protégé 中,我曾经像这样在 SWRL 中编写规则,以计算三角形分布的平均值:
如何使用 Jena 翻译它?
========升级=========
为了更好地理解如何在 Jena 中创建规则,我遵循了https://jena.apache.org/documentation/inference/#RULEexamples中的示例
我创建了三个文件:第一个是“ReasoningJena.java”
rdf 文件是:“demoData.rdf”
规则文件是:“file.rules”
我在 Eclipse SW 版本中运行所有内容:Luna Service Release 2 (4.4.2) with JDK 1.7 我得到了这些错误:
为什么?
=========== 更新 2 ============ 我对“file.rules”内部代码进行了一些更改,将其更正为:
我得到了这个错误代码:
sparql - Jena 是否支持在 SPARQL 更新查询期间强制执行 OWL 约束?
我试图弄清楚 Jena(或任何其他 SPARQL 更新服务器)是否会强制执行本体约束。例如,我想强制只允许具有类型 x 的实体具有属性 y,并且属性的值必须具有类型 z。我认为这是 OWL 可以提供的,但我不确定。另外,具体来说,Jena 是否会确保如果我尝试编写不遵循这些规则的 SPARQL 更新查询,该更新将无法插入并返回错误?
jena - 使用 Jena 规则创建多个 skolem
在不多次复制规则的情况下创建多个 skolem 的简单方法是什么?
输出是:
我想要五个孩子。这里可以计数吗?我有点迷失在这里。
jena - 如何从 Jena 模型中检索本体的 URI?
这是一个非常简单的问题,但我似乎在论坛/文档中找不到答案。
我有一个导入其他本体的 OntModel,我只想检索根本体的 URI。在我的情况下,直接查看语句不起作用:一些本体导入“URL”,其对应的文档具有不同的 URI。是否有一些方法可以简单地检索本体的 URI?