如何在 Neo4j 的节点属性中存储矢量化、年份索引数据?

How to store vectored, year-indexed data in node properties in Neo4j?

我有一个包含许多节点的大型数据库 (:Node)。这些节点是在给定的 (:Year) 中创建的,并且该信息通过 (n:Node)-[:CREATED_IN]->(y:Year) 存储。

对于任何一年 y 我计算所有年份 y..2020,多个标量分数(类似于 PageRank)。我还计算图形嵌入,它们是向量。

我想存储这些标量和这些向量以供将来计算。

我尝试了两种方法,但都不令人满意:

(1) 为每个节点每年的每个分数创建不同的属性(例如,2018_PageRank2018_Word2Vec)。这并不理想,因为我最终有成百上千的属性,而且查询起来更复杂。

(2) 为每个大小为2020的标量创建一个向量,然后将标量分数打入该向量的适当位置。例如,2018 年的 PageRank 得分 s 将在 n.PageRank[2018-1] 中。但是,这会浪费 space,并且不能用于向量化嵌入。

任何 help/suggestions 将不胜感激。

如果我对模型的理解正确,我会将所有嵌入和 PageRank 分数存储为新关系的属性:EMBEDDINGS

因此您的最终模型将是:

(:Node)-[:EMBEDDINGS{pagerank:1,embeddings...}]->(:Year{value:'2018'})

根据评论进行编辑