这是一个设计问题。我正在努力为我面临的问题创建一个概念模型。
我有许多对象(<1000)的图表。这些对象以多种方式连接在一起。这些对象中的每一个都有一些属性。
我需要能够通过它们的连接和属性访问这些对象。
例如,让我们假设以下对象 -
{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 或图形数据库这样的表达式语言评估。但我很困惑。我对编码解决方案不感兴趣。但是,对此类问题进行建模的正确方法是什么?