如何在 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_PageRank
和2018_Word2Vec
)。这并不理想,因为我最终有成百上千的属性,而且查询起来更复杂。
(2) 为每个大小为2020的标量创建一个向量,然后将标量分数打入该向量的适当位置。例如,2018 年的 PageRank 得分 s
将在 n.PageRank[2018-1]
中。但是,这会浪费 space,并且不能用于向量化嵌入。
任何 help/suggestions 将不胜感激。
如果我对模型的理解正确,我会将所有嵌入和 PageRank 分数存储为新关系的属性:EMBEDDINGS
因此您的最终模型将是:
(:Node)-[:EMBEDDINGS{pagerank:1,embeddings...}]->(:Year{value:'2018'})
根据评论进行编辑
我有一个包含许多节点的大型数据库 (:Node)
。这些节点是在给定的 (:Year)
中创建的,并且该信息通过 (n:Node)-[:CREATED_IN]->(y:Year)
存储。
对于任何一年 y
我计算所有年份 y..2020
,多个标量分数(类似于 PageRank)。我还计算图形嵌入,它们是向量。
我想存储这些标量和这些向量以供将来计算。
我尝试了两种方法,但都不令人满意:
(1) 为每个节点每年的每个分数创建不同的属性(例如,2018_PageRank
和2018_Word2Vec
)。这并不理想,因为我最终有成百上千的属性,而且查询起来更复杂。
(2) 为每个大小为2020的标量创建一个向量,然后将标量分数打入该向量的适当位置。例如,2018 年的 PageRank 得分 s
将在 n.PageRank[2018-1]
中。但是,这会浪费 space,并且不能用于向量化嵌入。
任何 help/suggestions 将不胜感激。
如果我对模型的理解正确,我会将所有嵌入和 PageRank 分数存储为新关系的属性:EMBEDDINGS
因此您的最终模型将是:
(:Node)-[:EMBEDDINGS{pagerank:1,embeddings...}]->(:Year{value:'2018'})
根据评论进行编辑