【发布时间】:2020-06-26 12:17:07
【问题描述】:
我尝试使用 protege 5 处理基于线的数据并描绘曲线的类似“区域”。
所以我有一条曲线,它在我的本体中被解构为等长的部分(类部分,实例p_1,...,p_n)。这些部分由它们的起点和终点定义(point_1, ... ,point_n+1),此外,曲线的半径作为实例的数据属性存储在本体中(p_1, ... ,p_n)。我设法推断出不同部分之间的邻接关系
hasStartPoint(p_2,point_2) o isEndpointOf(point_2,p_1) => isNextOf(p_2, p_1)
hasEndPoint(p_1,point_2) o isStartpointOf(point_2,p_2) => hasNext(p_1, p_2)
我还设法创建了定义的类,存储具有相同半径的部分。
所以这是我的问题:我想推理相邻和共享相同曲线半径的部分集合(区域)。然后,应该为 i 个不同的半径和不相邻的集合、个体 (region1, ... ,regioni) 创建一个类 Set 的 i 个实例。
这是我要处理的示例数据:data I want to process
换句话说:如果半径在给定线上出现两次,并且该半径的部分不相邻,则它们不应属于同一区域。此外,在添加不同半径的部分时,应自动创建区域。我唯一的想法是通过 isNext 三元组上的循环以某种方式遍历这组部分,我猜这需要一些编码,但我在这里找不到任何类似的东西......
我希望,我的问题很清楚,如果有人对此有任何想法,我很乐意阅读。
提前谢谢你
朱利安
【问题讨论】:
标签: sparql owl protege owl-api