Neo4j中数据建模的建议

Neo4j中数据建模的建议,neo4j,data-modeling,Neo4j,Data Modeling,我正试图弄清楚如何在Neo4j中模拟这个场景 我有一个带有name属性的“product”节点。问题是name属性可以跨不同的语言进行多种变体,这些变体都应该引用同一个节点 我希望能够搜索名称及其所有变体以引用一个节点 .例如 节点: Food {id: 1, name: "Banana"} 译文{id:1000,名称:“巴纳内”,语言:“法语”} 关系 (:Food)<-[:SIMILAR_TO]-(:translation) (:Food)以下是您可以做的一个示例: (:Produ

我正试图弄清楚如何在Neo4j中模拟这个场景

我有一个带有name属性的“product”节点。问题是name属性可以跨不同的语言进行多种变体,这些变体都应该引用同一个节点

我希望能够搜索名称及其所有变体以引用一个节点

.例如

节点:

Food {id: 1, name: "Banana"}
译文{id:1000,名称:“巴纳内”,语言:“法语”}

关系

(:Food)<-[:SIMILAR_TO]-(:translation)

(:Food)以下是您可以做的一个示例:

(:Product {id: 1})-[:HAS_NAME]->(:Name {name:"Banana", lang:"en"})
         "        -[:HAS_NAME]->(:Name {name:"Banane", lang:"fr"})
         "        -[:HAS_NAME]->(:Name {name:"Banano", lang:"it"})

(:Product {id: 1})-[:SIMILAR_TO]->(:Food)
您可以在
:Product id
上创建唯一性约束,并在
:Name
上创建索引


这样,您就可以轻松找到特定产品的所有本地化名称,并轻松找到具有特定名称的所有产品。

谢谢!我试试看。
(:Product {id: 1})-[:HAS_NAME]->(:Name {name:"Banana", lang:"en"})
         "        -[:HAS_NAME]->(:Name {name:"Banane", lang:"fr"})
         "        -[:HAS_NAME]->(:Name {name:"Banano", lang:"it"})

(:Product {id: 1})-[:SIMILAR_TO]->(:Food)