问题标签 [inference-engine]

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 回答
155 浏览

marklogic - Marklogic : advantage of using embedded triples over triple store

I have two questions related to embedded triples.

  1. Can we apply inferencing through the use of rulesets?
  2. Can we do a selective updates on triples given a subject and predicate?

Essentially, the bigger question is if the inferencing and updates on embedded triples are available, what would be the motivation to use triple store?

0 投票
1 回答
130 浏览

marklogic - Marklogic 嵌入式三元组的推理

我有以下 2 个文件。1 个文档包含以下数据:

另一个包含以下数据的文档:

我在这两个嵌入式三元组之间建立了关系

当我查询以获取 Bodycote Plc 的经济部门的所有结果时,我得到了两个三元组,这是正确的,但是当我使用组合查询时,它并没有给我所需的结果。

例如,当查询具有 BodyCote 的经济部门并且分析师姓名是 Henrik Christiansson 时,我希望它返回第一个三元组,但它没有。

我使用了以下查询:

我想知道是否有一种方法可以在组合查询中应用推理。

0 投票
1 回答
99 浏览

sparql - 尝试运行推理示例时未定义的函数 sem:sparql-update()

我正在尝试在 ML 8.0 上运行以下推理示例,但它在抱怨

“[1.0-ml] XDMP-UNDFUN: (err:XPST0017) 未定义函数 sem:sparql-update()”

谁能告诉我为什么会出现这个问题?

http://docs.marklogic.com/guide/semantics/inferencing?print=yes

0 投票
1 回答
564 浏览

java - 如何在 Jena 中使用传递推理器?

我想用 Jena 设置一个 TransitiveReasoner,以从模式和数据集创建一个新的推理模型。它适用于 RDFS 推理器,但不适用于 TransitiveReasoner。

这是我第一次体验推理;我查看了 Jena Inference Support 以及其他教程,但无法解决我的问题。

这是我在java中的测试代码:

试图改变OntModelSpec并没有帮助。

我究竟做错了什么?

在此先感谢您的帮助。

0 投票
1 回答
188 浏览

assert - Jess中如何通过规则添加事实?

我尝试阅读有关 Jess 的教程,但找不到任何有用的东西。我想建立一个程序来找出我正在谈论的乐器。

因此,如果一种乐器有弦,我们就知道该乐器属于弦乐或打击乐器(即钢琴)类别。我将如何编写一个规则来保存一个事实,即基于此标准该类别是打击乐还是弦乐?

我考虑过绑定,但绑定并不意味着我必须为每个潜在类别设置一个单独的变量吗?或者,我应该使用断言吗?

0 投票
0 回答
38 浏览

prolog - 有没有办法知道 prolog 的推理引擎需要多长时间才能获得查询的响应?

我试图找出在 prolog 中找到查询答案的哪种方式更快。

例如,如果

employee('John',23). rule2('John', 'Likes to play basketball').

如果快于:

0 投票
1 回答
98 浏览

clips - 剪辑中不合逻辑的不匹配

我对 Clips 中的规则匹配有疑问,特别是我不明白为什么该规则不起作用!我有一个名为 REASONING 的模块,我用这个 deftemplate 定义了一个事实 (deftemplate planning (slot value (allowed-values start stop)))。我第一次关注这个模块时,我用这个规则来断言这个事实

接下来,这个事实将永远不会收回,而只会修改它的插槽。在我定义计划的同一个模块中,我有另一个规则,它从开始到停止改变了值。

这是此模块激活的最后一条规则。之后剪辑执行一个弹出焦点。现在轮到再次关注这个模块时,我发现 (planning (value stop))

所以我希望写下的规则必须被激活,但它不会发生!再次更改插槽值的条件位于模块 PLAN_MANAGER 中,因此我无法在 REASONING 中激活任何其他规则,直到 Clips 不执行关注 PLAN_MANAGER。

奇怪的是,如果我调用匹配函数,我会得到这个输出。

任何人都可以帮助我理解为什么 CLIPS 不把议程go-to-plan-manager放进去?我哪里错了?

0 投票
0 回答
100 浏览

prolog - Prolog 和推理引擎

肯定是:

但是,它只是返回假,为什么?

0 投票
1 回答
306 浏览

clips - CLIPS LHS 匹配多槽

我为专家系统编写了这条规则:

但是,我不希望栖息地的价值与我给出的所有价值相匹配,而只与至少一个价值相匹配。我想知道我应该怎么做。我可以这样做:

但我想知道是否有更好的解决方案。谢谢

0 投票
1 回答
87 浏览

clips - 剪辑修改系统

(首先,对不起我的英语:))我正在尝试为我的项目创建一个修订系统(天然植物的简单分类),我不想粘贴我所有的代码,而只粘贴重要的部分,所以我将尝试解释系统的作用。我做了一个函数(我称之为修改属性),当系统找到应该与用户给出的答案相对应的植物时,询问用户是否要修改某些属性,如果他回答“是”,他可以选择什么属性要改变,然后系统找到属性的事实和地址并收回它们,因此它从头开始,应该重新评估规则。例如我有这两个规则:

如果,最后,用户想要更改月份属性,最后一个将被收回,并且规则月份应该重新评估并被解雇,因为没有月份属性,所以他可以通过这种方式更改的值月,然而开花属性也应该被改变,但这并没有这样做,有一个名为开花的属性已被断言。考虑到这一点,我在 revise-function 之后创建了一个“焦点”模块:

因此,如果月份缩回,开花也缩回。但是我想知道是否有可能以更好的方法做同样的事情,因为我对以下规则有疑问

例如,如果用户想要更改栖息地属性,我可以在 Revisiting 模块中创建以下规则

但是,如果用户输入的第一个值是山,然后他用 edge_of_road 更改了它,那么花瓣尖齿属性也将被收回并重新触发,但我认为请求关于花瓣尖的问题可能是多余的-带齿的。那么我该如何改进我的代码呢?

PS我希望我很清楚,否则我可以尝试更好地解释mysef :)