TigerGraph支持属性索引么?

TigerGraph能像neo4j一样,支持属性索引么?该怎么写query?

您好!暂时不支持,但这一功能在我们的开发计划之中,目前计划在3.0发布后会支持该功能。

当前版本对于高频查询的属性,有一种变通的方法,即创建新类型的顶点,来表示该属性。
举个例子来说,A顶点中有个日期属性create_date,这个create_date是一个经常用来作为筛选条件的属性,那么就可以建一个叫做CreateDate的顶点来表示它,CreateDate的主键取是create_date的年月日,然后建立CreateDate与A的边。
下回查询某些天的数据时,只要在CreateDate先圈定这些日期,然后再链接到顶点A,把这些日期的顶点取出来。这样的性能是非常理想的。

如果有多个属性都是高频查询的属性,可以用类似以上的方法建立多个顶点,然后查询时,分别查出符合条件的目标顶点,再取交集即可。
沿用上例,如果A顶点中还有个有固定枚举值的属性data_type,这个data_type也常用来作为筛选条件,那么就可以建一个叫做DataType的顶点来表示它,主键与data_type一致,然后建立DataType与A的边。
下回查询条件中如果既要限定create_date,又要限定data_type时,先从CreateDate圈定日期,链接符合条件的顶点A,把这个结果记为A_1;然后用相同的方法,从DataType圈定需要的data_type,再链接到符合条件的顶点A,把结果记为A_2;最后只要取A_1与A_2的交集,那么交集中的A就是同时满足两条件的A了。
取交集的方法请参阅Set和Bag的表达式运算符 – 并集,交集,集合相减