2013-03-31 2 views
2

저는 Freebase을 처음 접했고 2 개의 노드 사이의 관계를 성공적으로 찾지 못했습니다.[Freebase] : 노드 사이의 관계 찾기

예를 들어 실생활에있는 루이스 해밀턴 (/ en/lewis_hamilton)과 포뮬라 원 (/ en/formula_one) 사이에 링크가 있는지 찾아야하지만 찾을 수없는 것 같습니다. .

은 나뿐만 아니라 ID를 번갈아 다음 MQL 코드를 시도 :

1)

[{ 
"type" : "/type/link", 
"source" : { "id" : "/en/lewis_hamilton" }, 
"master_property" : null, 
"target" : { "id" : "/en/formula_one" }, 
"target_value" : null 
}] 

2)

{ 
    "id":"/en/lewis_hamilton", 
    "/type/reflect/any_master":[{ 
    "link":null, 
    "name":null 
    }], 
    "/type/reflect/any_reverse":[{ 
    "link":null, 
    "name":null 
    }], 
    "/type/reflect/any_value":[{ 
    "link":null, 
    "value":null 
    }] 
} 

가 나는 또한 몇 가지를 사용할 수 아니에요 때마다 "사용자 비율 한도 초과"을 반환하기 때문에이를 수행 할 수있는 앱입니다. 앱은 다음과 같습니다

  1. http://between.freebaseapps.com
  2. http://shortestpath.freebaseapps.com

너희들이 어떤 제안이 있습니까?

답변

5

당신이 준 쿼리는 올바른 링크를 제외하고는 하나의 관계 만 보았을뿐입니다. 놀랍게도 Lewis Hamilton에서 Freebase의 Formula One에 이르는 길은 없습니다. 거기 경우는 다음과 같이 보일 수 있습니다 주제 사이의 이러한 멀티 링크 경로를 찾을 수있는 좋은 방법이 없다, 그래서

/en/lewis_hamilton → /type/object/type → /base/formula1/formula_1_driver 
/base/formula1/formula_1_driver → /type/type/domain → /base/formula1 
/base/formula1 → /freebase/domain_profile/equivalent_topic → /en/formula_one 

하는 Freebase는 재귀 쿼리를 지원하지 않습니다. 시도한 앱은 점차 중첩 된 하위 쿼리가 포함 된 검색어를 생성하여 재귀를 시뮬레이트합니다. 불행히도 API가 유효하지 않아 올바른 API 키가 누락되어 현재 올바르게 실행됩니다. 실행하는 데 시간이 오래 걸릴 수 있습니다 쿼리의

{ 
    "id": "/en/lewis_hamilton", 
    "name": null, 
    "/type/reflect/any_master": [{ 
    "link": { 
     "master_property": null, 
     "target": { 
     "id": null, 
     "name": null, 
     "/type/reflect/any_master": [{ 
      "link": { 
      "master_property": null, 
      "target": { 
       "id": "//base/formula1", 
       "name": null 
      } 
      }, 
      "name": null 
     }] 
     } 
    }, 
    "name": null 
    }] 
} 

이 종류와 Freebase data dumps를 통해 로컬로 실행하면 아마 더 나은 : 그 중첩 된 쿼리가 어떻게 생겼는지 여기. 그래서 당신은 당신을 제공해야 볼 수있는 애플리케이션에 대한 소스를보고,

+0

설명해 주셔서 감사합니다. Shawn! 그러나 해밀턴과 F1 사이의 경로가 정확히 당신이 묘사 한 것과 같다고 가정하면 두 개의 링크가 따로 따로 있지 않습니까? 그리고 검색은 어떻게 보이게 될까요? 고맙습니다! – Cassio

+0

중첩 링크 쿼리를 수행하는 방법을 보여주기 위해 답변을 업데이트했습니다.속도가 느리고 시간 초과되는 경향이 있지만 접근 방식을 사용하지 않는 것이 좋습니다. –

+0

나는 비슷한 것을 찾고있었습니다. Freebase에는 Google이 지금까지하지 못했던 중요한 것을 만들 수있는 유용한 API가 없습니다. 문제가되는 엔티티의 작은 그래프 데이터베이스를 준비 할 때 고려해야 할 freebase 데이터를 얻는 것이 좋습니다. –

1

하는 Freebase는 실험 조금 어려운, 그래서 지금 503s만을 반환되지 않지만

  • Freebaseapps에있는 모든 응용 프로그램은 오픈 소스 좋은 힌트. 응용 프로그램 디렉토리가 https://www.freebase.com/apps에 있습니다 (그러나 지금 렌더링되지 않습니다)

  • 클릭 한번으로 Freebaseapps의 모든 응용 프로그램을 복제 할 수 있습니다. Google이 새 API로 전환했을 때 인프라에 작성된 거의 모든 응용 프로그램이 작동을 멈추었습니다. 개발자는 수 년 만에 보지 못했다면 개발자가 수정하지 않을 가능성이 높지만 아마도 복제를 통해 관심있는 사용자를 얻을 수 있습니다. b) API 키에 등록하고 c) API 키를 복제 된 응용 프로그램에 추가합니다.

관련 문제