首页 > 解决方案 > 如何在 Grakn 中定义多边形?

问题描述

我想在 Grakn 中为物理对象建模。将物理对象建模为点或矩形非常简单:

define

length sub attribute,
    value double;

position sub attribute,
    value double;

lon sub position;
lat sub position;
elevation sub position;
width sub length;
depth sub length;
height sub length;


physical_object sub entity,
    has lon,
    has lat,
    has elevation,
    has width,
    has depth,
    has height;

对于一个点,简单地将宽度、深度和高度留空。

但是,我正在为如何建模一个多边形的物理对象而苦苦挣扎,即连接线的列表。如何在 Grakn 中优雅地建模?

标签: spatialvaticle-typedbvaticle-typeql

解决方案


大多数空间图形数据库(和 CAD 程序)将其数据存储为基元数组,以便于描述任何可能的形状。这些数据库还允许在此类数组上本地执行交集/并集。如果只是为了能够从/向这些系统导入/导出,您可能希望遵循该模式。这是一个示例:https ://docs.oracle.com/database/121/SPATL/simple-example-inserting-indexing-and-querying-spatial-data.htm#SPATL486

所以也许 GRAKN 社区的问题应该是:如何最好地建模基元数组?

PS 在混音中添加时间性会使它更加有趣/具有挑战性!


推荐阅读