首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在自定义GraphDB规则集中使用算术函数

在自定义GraphDB规则集中使用算术函数
EN

Stack Overflow用户
提问于 2018-11-13 11:26:37
回答 1查看 107关注 0票数 0

我想向OWL-2-RL规则集(builtin_owl2-rl.py)中添加一个自定义规则,该规则在彼此相反的向量之间建立一个isOppositeDirectionOf对象属性。我觉得应该是这样的:

代码语言:javascript
复制
Id: oppositeDirectionVector_rule
     v1 <rdf:type> <cad:Vector>
     v1 <cad:x> v1x            // example data property for v1x: "1.0"^^xsd:double
     v1 <cad:y> v1y
     v1 <cad:z> v1z
     v2 <rdf:type> <cad:Vector>
     v2 <cad:x> -v1x
     v2 <cad:y> -v1y
     v2 <cad:z> -v1z
    -------------------------------
    v1 <cad:isOppositeDirectionOf> v2

没有最小值,此规则确实可以创建isSameVectorAs对象属性。有什么方法可以在规则中对数据属性使用基本算术函数吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-11-13 17:39:35

不能在规则中使用基本算术函数。由于性能原因,GraphDB规则引擎使用内部数据库标识符,而不是实际的RDF值,即内部id 10001而不是"1"^^xsd:double。因此,唯一支持的变量比较操作是如果两个内部标识符相等或不相等。

编辑遵循GraphDB插件API下面的注释是将代码与数据库集成的唯一机制。使用?s <cad:x> ?o谓词的每个语句都可以实现一个插件--一个新语句?s <cad:oppositeX> -?o。不幸的是,它也应该处理删除。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53280025

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档