空间和时间推理的规则引擎?

时间:2010-03-18 11:57:20

标签: spatial drools rule-engine temporal jess

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

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

当我向公司中的个人讨论我的系统时,他们多次询问我是否使用规则引擎。

我还没有找到一个能够在时间和空间上很好地推理的规则引擎。 (例如:两个3D实体何时关闭?3D实体A是否包含在3D区域B中?如果实体C靠近实体D但是相对于C向后定向,则执行动作D.)

我过去曾看过Drools,Cyc,Jess(比如3 - 4年前)。是时候重新审视现有技术了。有什么建议?您知道哪种标准支持这种推理?任何事实上的标准?任何申请?

谢谢!

3 个答案:

答案 0 :(得分:1)

这是空间推理......一些模型,但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#的Net拓扑套件等)也是如此......

http://docs.codehaus.org/display/GEOTDOC/Point+Set+Theory+and+the+DE-9IM+Matrix

特别是检查geometry.relate的东西......比如

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

您可以测试关系,或根据它们过滤数据。 与点,线,多边形等一起使用......


这可能有助于暂时的事情......

http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.87.4643&rep=rep1&type=pdf

答案 1 :(得分:1)

前提 - 请记住,基于SQL的 1 DBMS是一个(非常强大的)推理引擎,从SQL和Prolog之间的这些比较中可以看出:

为了专门针对您的时空应用,本书将有所帮助:

也就是说,结合区间和关系理论可以有效地推理出时空问题(见5.2 Applications of Intervals)。

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

更新:浏览论文指出in comments by timemirrorTowards a 3D Spatial Query Language for Building Information Models)他们基本上完成了我上面提到的内容:

  

(最后一页)

     

实施概念

     

摘要的实施   将系统类型转换为查询语言即可   在查询的基础上执行   语言SQL,这是一个广泛的   建立了该领域的标准   对象关系数据库。该   国际标准SQL:1999   将关系模型扩展为   包括面向对象的方面   作为定义复杂的可能性   具有集成的抽象数据类型   方法

我不同意“对象 - 关系数据库”这个术语(原因在于偏离主题),但我认为其余部分是相关的。


更新:从以上引用的书中引用3D和区间理论:

  

注意:所有讨论的时间间隔   到目前为止可以被认为是   一维的。但是,我们可能会   想要结合两个一维   间隔形成一个二维的   间隔。例如,一个矩形   地面情节可能会被认为是   一个二维的间隔,因为它   根据定义,是一个对象   长度和宽度,每个都是   基本上是一维间隔   沿某个轴测量。并且,   当然,我们可以将这个想法扩展到任何一个   维度数。例如,a   (相当简单!)建筑可能是   被视为三维的   interval:这是一个有长度的对象,   宽度和高度,换句话说,a   长方体。 (更现实的是,a   建筑可能被视为一组   几个重叠的长方体   各种方式。)等等。在什么   然而,我们将限制我们的   注意一维间隔   特别是,禁止明确   相反的陈述,我们   将省略“一维”   简化限定符。

注意

  1. 我写了基于SQL的而不是关系,因为有些方法可以使用完全偏离关系理论的DBMS。

答案 2 :(得分:1)

http://www.objectfx.com/查看SpatialRules。它是2D和3D的地理空间复杂事件处理器。