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

发布于 2024-08-25 14:14:37 字数 385 浏览 7 评论 0原文

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

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

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

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

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

谢谢!

I have an application that receives a number of datums that characterize 3 dimensional spatial and temporal processes. It then filters these datums and creates actions which are then sent to processes that perform the actions. Rinse and repeat.

At present, I have a collection of custom filters that perform a lot of complicated spatial/temporal calculations.

Many times as I discuss my system to individuals in my company, they ask if I'm using a rules engine.

I have yet to find a rules engine that is able to reason well temporally and spatially. (Things like: When are two 3D entities ever close? Is 3D entity A ever contained in 3D region B? If entity C is near entity D but oriented backwards relative to C then perform action D.)

I have looked at Drools, Cyc, Jess in the past (say 3-4 years ago). It's time to re-examine the state of the art. Any suggestions? Any standards that you know of that support this kind of reasoning? Any defacto standards? Any applications?

Thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

泪冰清 2024-09-01 14:14:37

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

要专门解决您的时空应用程序,本书将提供帮助:

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

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

更新:浏览论文指出在 timemirror 的评论中走向 3D 空间查询用于构建信息模型的语言)它们基本上完成了我上面提到的内容:

(最后一页)

实施概念

抽象的实现
将系统键入查询语言
根据查询执行
SQL是一种广泛应用的语言
制定了该领域的标准
对象关系数据库。这
国际标准SQL:1999
将关系模型扩展为
包括面向对象的方面,例如
作为定义复杂的可能性
抽象数据类型与集成
方法。

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

更新:引用上述书中有关 3D 和区间理论的内容:

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

注意

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

Premise - remember that a SQL-based1 DBMS is a (quite capable) inference engine, as can be seen from these comparisons between SQL and Prolog:

To address specifically your spatio-temporal applications, this book will help:

That is, combining Interval and Relation Theory is possible to reasoning about spatio-temporal problems effectively (see 5.2 Applications of Intervals).

Of course, if your SQL-based DBMS is not (yet) equipped with interval (and other) operators you will need to extend it appropriately (via store-procedures and/or User-Defined Functions - UDFs).

Update: skimming the paper pointed out in comments by timemirror (Towards a 3D Spatial Query Language for Building Information Models) they do essentially what I touched on above:

(last page)

IMPLEMENTATION CONCEPTS

The implementation of the abstract
type system into a query language will
be performed on the basis of the query
language SQL, which is a widely
established standard in the field of
object-relational databases. The
international standard SQL:1999
extends the relational model to
include object-oriented aspects, such
as the possibility to define complex
abstract data types with integrated
methods.

I do not concur with the "object-relational database" terminology (for reason off-topic here) but I think the rest is pertinent.

Update: a quote regardind 3D and interval theory from the book cited above:

NOTE: All of the intervals discussed
so far can be thought of as
one-dimensional. However, we might
want to combine two one-dimensional
intervals to form a twodimensional
interval. For example, a rectangular
plot of ground might be thought of as
a two-dimensional interval, because it
is, by definition, an object with
length and width, each of which is
basically a one-dimensional interval
measured along some axis. And, of
course, we can extend this idea to any
number of dimensions
. For example, a
(rather simple!) building might be
regarded as a three-dimensional
interval: It is an object with length,
width, and height, or in other words a
cuboid. (More realistically, a
building might be regarded as a set of
several such cuboids that overlap in
various ways.) And so on. In what
follows, however, we will restrict our
attention to one-dimensional intervals
specifically, barring explicit
statements to the contrary, and we
will omit the "one-dimensional"
qualifier for simplicity.

Note

  1. I wrote SQL-based and not relational because there are ways to use such DBMSes that completely deviate from relational theory.
初与友歌 2024-09-01 14:14:37

这就是空间推理...一些模型,但 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://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

This is Spatial Reasoning... a few models but 9DE-IM is now accepted by OGC and implemented in PostGIS and other programming tools.

PostGIS implements a spatial reasoning engine based on dimensionally extended 9 intersection model... 9DE-IM..

http://postgis.refractions.net/documentation/manual-svn/ch04.html#DE-9IM
check sect 4.3.6.1. Theory...


So does the Java Topology Suite (and Net Topology suite for C# etc)...

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

In particualr check out the geometry.relate stuff.. such as

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

You can test the relationships, or filter data based on them.
Works with pts, lines, polygons etc...


This might help on temporal stuff..

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

飘过的浮云 2024-09-01 14:14:37

查看 SpatialRules,网址为 http://www.objectfx.com/。它是一个适用于 2D 和 3D 的地理空间复杂事件处理器。

Check out SpatialRules at http://www.objectfx.com/. It's a geospatial complex event processor for 2D and 3D.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文