Rules engine for spatial and temporal reasoning?

前端 未结 3 537
粉色の甜心
粉色の甜心 2020-12-17 07:16

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 whic

3条回答
  •  暖寄归人
    2020-12-17 07:42

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

    • prolog to SQL converter
    • difference between SQL and Prolog

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

    • TEMPORAL DATA AND THE RELATIONAL MODEL - A Detailed Investigation into the Application of Interval and Relation Theory to the Problem of Temporal Database Management.

    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.

提交回复
热议问题