【发布时间】:2013-06-28 19:56:55
【问题描述】:
这是一个设计问题。我正在努力为我面临的问题创建一个概念模型。
我有一个包含许多对象(
我需要能够通过它们的连接和属性访问这些对象。
例如让我们假设以下对象 -
{name: A, attributes:{black, thin, invalid}, connections: {B,C}}
{name: B, attributes:{white, thin, valid}, connections: {A}}
{name: C, attributes:{black, thick, invalid}, connections: {A,B}}
现在我应该能够通过以下方式查询此图表 - 使用属性 -
black - yields [A,C]
black.thick - yields C
使用连接 -
A.connections[0].connections[0] - yields A
使用它们的组合 -
black[0].connections[0] - yields B
我的主要语言是 Java。但我不认为 Java 能够处理这些类型的野兽。因此,我试图用像 Python 这样的动态语言来实现它。 我还考虑过使用像 OGNL 或图形数据库这样的表达式语言评估。但我很困惑。我对编码解决方案不感兴趣。但是,对此类问题建模的正确方法是什么?
【问题讨论】:
-
是否有任何标准的、知名的数据结构可以组合起来提供您需要的功能?
-
@ThorbjørnRavnAndersen 如果我知道我不会问你。 :) 我正在考虑类似 JQuery 的功能,它允许通过 id(名称)或属性导航 DOM 元素。
$('form a[href~="value"]') -
在我看来,您应该编写一些示例详细,其中包含您需要能够做的所有各种事情。这样做的原因是,在我看来,您还没有完全了解要解决的问题。
标签: java python graph-databases ognl object-graph