Graph 遍历自由基图

Graph 遍历自由基图,graph,traversal,freebase,mql,Graph,Traversal,Freebase,Mql,我试图从一个特定的人那里获得多层次的影响力关系。 大致上,这个查询解释了我试图实现的目标 { "id" : "/en/george_orwell", "name" : null, "type" : "/influence/influence_node", "influenced": [{"id": null,"name" : null, "type" : "/influence/influence_node",

我试图从一个特定的人那里获得多层次的影响力关系。 大致上,这个查询解释了我试图实现的目标

{ "id" : "/en/george_orwell",
  "name" : null,
  "type" : "/influence/influence_node",
  "influenced": [{"id": null,"name" : null,
                  "type" : "/influence/influence_node",
                   "influenced": [{"id": null,"name" : null,
                                   "type" : "/influence/influence_node",
                                   "influenced": [{"id": null,"name" : null}],
                                   "influenced_by": [ { "id": null, "name" : null}] }],
                  "influenced_by": [ {"id": null,"name" : null,
                                   "type" : "/influence/influence_node",
                                   "influenced": [{"id": null,"name" : null}],
                                   "influenced_by": [ { "id": null, "name" : null}] }],
  "influenced_by": [{"id": null,"name" : null,
                  "type" : "/influence/influence_node",
                  "influenced": [{"id": null,"name" : null,
                                   "type" : "/influence/influence_node",
                                   "influenced": [{"id": null,"name" : null}],
                                   "influenced_by": [ { "id": null, "name" : null}] }],
                  "influenced_by": [ {"id": null,"name" : null,
                                   "type" : "/influence/influence_node",
                                   "influenced": [{"id": null,"name" : null}],
                                   "influenced_by": [ { "id": null, "name" : null}] }] }

是否有任何有效的方法可以使用MQL遍历Freebase图?

我假设您希望在给定的层数下受到影响?不,在mql中不可能做到这一点,它需要某种递归和自引用

但是,可以使用此语法传递多个ID [{'id |=':['id1','id2',…]}]

通过这种方式,您可以在给定种子的情况下从第一次运行查询中获取人员列表,然后重新运行查询以对所选任何给定id的图形进行爬网


如果这不是以交互方式(由个人)完成的,那么您可能应该使用freebase数据转储来离线预计算整个过程

我假设你想要在给定的层数下受到影响?不,在mql中不可能做到这一点,它需要某种递归和自引用

但是,可以使用此语法传递多个ID [{'id |=':['id1','id2',…]}]

通过这种方式,您可以在给定种子的情况下从第一次运行查询中获取人员列表,然后重新运行查询以对所选任何给定id的图形进行爬网


如果这不是以交互方式(由个人)完成的,那么您可能应该使用freebase数据转储来离线预计算整个过程

我们最终下载并解析freebase数据转储,然后在此预处理数据上运行查询。我们最终下载并解析freebase数据转储,然后在此预处理数据上运行查询。