【问题标题】:Identify common objects识别常见对象
【发布时间】:2017-02-20 21:35:53
【问题描述】:

我最近开始使用 Neo4J。要将现有数据从 mongo 加载到 Neo4j,我开始使用使用 Neo4J Doc Manager 的 mongo-connector

但我在这里发现的问题如下: 假设我在 mongo 中有 2 个文档:

文档 1:{"title":"Associate","_id":"title_1","technicalSkills":[{"name":"Accounting Associate","score":0.5482839345932007,"_id":"skill_1 "}]}

文档 2:{"title":"Associate Level 2","_id":"title_2","technicalSkills":[{"_id":"skill_1","name":"Accounting Associate","score ":0.65},{"name":"Lead Home Health Care Company","score":0.5077081322669983,"_id":"skill_2"}]}

当我们运行 mongo-connector 时,它会在 neo4j 中插入两个标题节点,每个节点都有自己的技能节点。但如果你看,这两个标题节点之间有一个共同的技能。我的问题是:

  1. 有没有办法让两个文档都只有一个技能节点,然后将此节点连接到两个标题节点。

  2. 我们可以用分数代替关系吗? (在这种情况下,它会创建类似 title_skill 的关系)。

【问题讨论】:

    标签: mongodb neo4j


    【解决方案1】:

    您需要两个 mongo-collections 并使用跨集合引用。例如skillsassociates

    db.skills.insert({ "name": "Accounting Associate", 
                       "_id": "skill_1"
    });
    db.skills.insert({ "name": "Lead Home Health Care Company",
                       "_id": "skill_2"
    });
    
    db.associates.insert({ "title":"Associate",
                           "_id":"title_1",
                           "technicalSkills":[{ "skills_id": "skill_1"
                                                "score": 0.5482839345932007
                           }]
    });
    
    db.associates.insert({ "title":"Associate Level 2",
                           "_id":"title_2",
                           "technicalSkills":[{ "skills_id": "skill_1",
                                                "score": 0.65},
                                              { "skills_id": "skill_2",
                                                "score": 0.5077081322669983 
                           }]
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-13
      • 2010-10-10
      • 1970-01-01
      • 1970-01-01
      • 2011-08-31
      • 1970-01-01
      相关资源
      最近更新 更多