我从mongodb中获得了以下信息,希望导出到neo4j图中:
"_id" : 1366,
"fields" : {
"title" : "Beef Steak",
"keywords" : [
"beef",
"steak"
],
"categories" : {
"category" : "Meat",
"subcategory" : null,
"verified" : false,
"predicted" : true
},
"nutrients" :
{
"tag_name" : "FASAT",
"value" : 1.352,
"unit" : "g",
"title" : "Saturated fatty acids"
},
...我一直在读一些neo4j建模示例,但我不确定我的模型。
我就是这么想的:
节点:
关系:
"has_nutrients“关系名称将包含一个”值“属性,以指示一种食物有多少营养成分。
我考虑了2,3和4种关系,可以执行不同的查询:-“肉”类的子类别,-食物的类别和子类别,-all食物与“Pasta”类的食物。也许还有更简单的方法。
发布于 2013-05-03 03:22:47
如果你想不出更好的关系的名字,就做这样的事
food - [HAS_KEYWORD] -> keyword
food - [HAS_SUBCATEGORY] -> subcategory
subcategory - [BELONGS_TO] -> category
food - [HAS_NUTRIENT] -> nutrient对于你的子类别,我通常喜欢从孩子到父母的方向,但我通常更倾向于选择。
你需要区分类别和子类别吗?比如,如果类别是Meat,子类别是Pork,那么您需要实际链接到Meat吗?您可能只需要连接到Pork,这就意味着Meat可以减少关系。
({name='Pork', type='Subcategory'}) -[BELONGS_TO]-> ({name='Meat', type='Category'})
({name='Pork Chops', type='Food'}) -[HAS_SUBCATEGORY]-> ({name='Pork', type='Subcategory'})这将减少关系,因为您将能够从一个子类别中隐含一个类别。
除了上面的建议之外,其余的看起来都是非常面向图形的,并且看起来像一个可靠的设计。
https://stackoverflow.com/questions/16348438
复制相似问题