2011-05-24 165 views
1

我試圖從一個特定的人獲取多個級別的影響關係。 粗略地說,這個查詢解釋什麼,我試圖完成遍歷Freebase圖

{ "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遊離鹼圖形的任何有效的方法?

回答

1

我假設你想得到影響和influence_by給定數量的層出來?不,在mql中不可能這樣做,它需要某種遞歸和自引用。

這樣,你就可以得到該列表:| [{[ 'ID1', 'ID2',...] '= ID'}]

但是,您可以使用此語法 通過多個ID的人在第一次給予種子時運行查詢,然後重新運行查詢以抓取任何給定的選定ID的圖。

如果這不是針對交互式(由某人)完成的,那麼您應該使用freebase數據轉儲來預先計算整個離線事件。

+0

我們最終下載並解析了freebase數據轉儲,然後在這個預處理數據上運行我們的查詢。 – guigouz 2011-06-15 17:01:15