0
如何存储文本引用假设我有以下文字:在Neo4j的
text (ref 1) more text
我知道所有的引用。如何为所有引用创建neo4j节点并在文本中引用它们?就像看到第四段中有第十个参考文献一样。
如何存储文本引用假设我有以下文字:在Neo4j的
text (ref 1) more text
我知道所有的引用。如何为所有引用创建neo4j节点并在文本中引用它们?就像看到第四段中有第十个参考文献一样。
有很多方法可以完成您要求的内容(Neo4j内部或外部)。如果您可以将带有引用的文本引入Neo4j(并且它们的格式与您的问题状态相同),则可以根据需要剪切引用ID并创建节点。这里有一个基本的例子:
CREATE CONSTRAINT ON (r:Ref) ASSERT r.id IS UNIQUE;
WITH 'text (ref 1) more (ref 1) text (ref 20)' AS txt
WITH [x IN split(txt, '(ref ')[1..] | split(x, ')')[0]] AS ref_ids
UNWIND ref_ids AS id
WITH DISTINCT id
MERGE (:Ref {id:id})
RETURN count(id)
这将在Neo4j中创建节点,可以通过参考ID在文本中查找。您显然希望在这些元数据上添加更多元数据,但这很大程度上取决于您的要求。
注意:MERGE将创建该节点,但如果该节点已存在则不会。这种存在检查需要查找操作,这将是一个昂贵的没有索引的扫描。首先创建CONSTRAINT确保我们将为这些查找创建索引。