我有一个应用程序,它接收许多表征 3 维空间和时间过程的数据。然后,它过滤这些数据并创建操作,然后将这些操作发送到执行操作的进程。冲洗并重复。

目前,我有一组自定义过滤器,可以执行大量复杂的空间/时间计算。

很多时候,当我与公司的个人讨论我的系统时,他们会问我是否使用规则引擎。

我还没有找到一个能够在时间和空间上进行良好推理的规则引擎。(像:两个 3D 实体什么时候会靠近?3D 实体 A 是否曾经包含在 3D 区域 B 中?如果实体 C 靠近实体 D 但相对于 C 向后定向,则执行操作 D。)

我过去看过 Drools、Cyc、Jess(大概是 3-4 年前)。是时候重新审视现有技术了。有什么建议么?您知道有什么标准支持这种推理吗?有事实上的标准吗?有什么应用吗?

谢谢!

有帮助吗?

解决方案

前提——记住一个基于 SQL 的1 DBMS 是一个(相当强大的)推理引擎,从 SQL 和 Prolog 之间的比较可以看出:

为了专门解决您的时空应用,本书将帮助您:

也就是说,结合区间理论和关系理论可以有效地推理时空问题(参见 5.2 区间的应用).

当然,如果您的基于 SQL 的 DBMS 尚未配备间隔(和其他)运算符,您将需要适当扩展它(通过 存储过程和/或用户定义函数 - UDF)。

更新: 略读论文指出 在 timemirror 的评论中 (用于构建信息模型的 3D 空间查询语言)他们基本上做了我上面提到的事情:

(最后一页)

实施理念

将根据查询语言SQL执行抽象类型系统将抽象类型系统实现为查询语言,这是在对象相关数据库领域中广泛建立的标准。国际标准SQL:1999将关系模型扩展到包括面向对象的方面,例如使用集成方法定义复杂的抽象数据类型的可能性。

我不同意“对象关系数据库”术语(因为这里离题的原因),但我认为其余的都是相关的。


更新: 引用上面引用的书中关于 3D 和区间理论的一段话:

笔记:到目前为止讨论的所有间隔都可以视为一维。但是,我们可能要组合两个一维间隔以形成二维间隔。例如,矩形的地面图可能被认为是二维间隔,因为根据定义,它是一个长度和宽度的对象,每个对象基本上是沿某些轴测量的一维间隔。而且当然, 我们可以将这个想法扩展到任何数量的维度. 。例如,(相当简单!)建筑物可能被视为三维间隔:它是一个长度,宽度和高度的对象,或者换句话说是Cuboid。(更现实地,建筑物可能被视为以各种方式重叠的几个这样的立方体。)等等。但是,在接下来的内容中,我们将注意力限制在一维间隔上,禁止相反的明确陈述,并且我们将省略“一维”预选赛以简单。

笔记

  1. 我写 基于SQL 并不是 关系型的 因为有一些方法可以使用这种完全偏离关系理论的 DBMS。

其他提示

这是空间推理...少数机型,但9DE-IM现在由OGC接受和PostGIS的和其他编程工具来实现。

PostGIS的实现基于空间推理引擎二维延伸9相交模型... 9DE-IM ..

http://postgis.refractions.net/documentation /manual-svn/ch04.html#DE-9IM 检查教派4.3.6.1。理论...


如此做Java的拓扑套件(及净拓扑套件,C#等)...

HTTP://文档.codehaus.org /显示/ GEOTDOC /点+设为+理论+和+的+ DE-9IM +矩阵

在particualr检查出geometry.relate东西..如

布尔isRelated = geometry.relate(geometry2, “T * T *** T **”)

可以测试根据它们之间的关系,或过滤器的数据。 用点,线,多边形的工作原理等...


这可能会在时间上的东西帮助..

http://citeseerx.ist .psu.edu / viewdoc /下载?DOI = 10.1.1.87.4643&代表= REP1&键入= PDF

查核SpatialRules在 http://www.objectfx.com/ 。这是用于2D和3D地理空间复杂事件处理器。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top