Graph orientDB中的嵌套记录及其查询

Graph orientDB中的嵌套记录及其查询,graph,gremlin,orientdb,Graph,Gremlin,Orientdb,我需要存储一个带有顶点和边的图。我的用例如下: 每个顶点都有以下属性 有一些基本属性,如姓名、年龄等,还有一些记录类属性 Prop1 Prop2 Prop3 Prop4 Pro5 "xyz" "1" "2" "ha" 7 "abc" "1" "3" "aks" 8 注意:这是只有一个顶点的属性。这是一种嵌套属性。嵌套属性是关系数据库中的一种记录 1) 现在我想对这些嵌套的属性/记录进行类似SQL的查询。这可能吗? 例如,仅当Prop2=“1”时才查找Prop5的每个顶点值。

我需要存储一个带有顶点和边的图。我的用例如下:

每个顶点都有以下属性

有一些基本属性,如姓名、年龄等,还有一些记录类属性

Prop1 Prop2 Prop3 Prop4 Pro5
"xyz"  "1"   "2"  "ha"   7
"abc"  "1"  "3"   "aks" 8
注意:这是只有一个顶点的属性。这是一种嵌套属性。嵌套属性是关系数据库中的一种记录

1) 现在我想对这些嵌套的属性/记录进行类似SQL的查询。这可能吗? 例如,仅当Prop2=“1”时才查找Prop5的每个顶点值。这是一种关系数据库查询

Eg2:计算Prop5值为7的嵌套记录数


OrinetDB是否支持此功能?如果支持,如何支持?

您可以在记录中嵌入记录。如果要嵌入多个记录,请使用EMBEDDEDMAP、EMBEDDEDSET或EMBEDDEDLIST。要查询它,您可以执行以下操作:

select Prop5 from blabla where embeddedProperties contains ( Prop2 = '1' )

假设embeddedProperties是一个嵌入式记录列表(EMBEDDEDLIST)。

我有一个类MyClass,它有list。Property是我定义的另一个类。当我通过java代码注册这两个类时,它创建了两个表。MyClass和Property。在我的例子中,List EmbeddedList。如果是,那么为什么要为它创建单独的表?我做错了什么吗?查询工作正常,但我想知道默认情况下它的正确方式是否从未嵌入,而是链接。如果要将其嵌入,请在EMBEDDEDLIST类型的架构中声明一个属性。嵌入列表类型是否可以嵌套在另一个嵌入列表中?