2014-06-17 3 views
1

저는 Freebase에서 새로 왔으며 간단한 질문이 있습니다. Freebase KB를 사용하여 두 엔티티 간의 관계를 찾고 싶습니다. 예를 들어 이름 엔티티가 "Washington"과 "United States"인 경우 Freebase에 쿼리를 보내고 다음과 같이 입력합니다. 위치/위치/상관 없음의 경우 자본 또는 Null.Freebase에서 두 엔티티 사이의 관계를 찾으십시오.

대단히 감사합니다.

+0

이 해결책을 찾았습니까? – Anish

답변

0

너는 단 하나의 플라이 (즉, 가장 가까운 이웃)를 가고 싶다면 Freebase의 온라인 버전을 사용하는 경우 리플렉션 API를 사용하는 것이 매우 간단합니다. 대량 다운로드를 사용하는 경우에는 사용중인 쿼리 엔진 (RDF를 다른 것으로 변환하지 않는 한 SPARQL 일 가능성이 높음)으로 작업해야합니다.

멀리 떨어져있는 사람과 관계없이 최단 경로를 찾으려면 그래프 검색 알고리즘이됩니다.

편집 : 데이터에 Freebase에 있지 않기 때문에 워싱턴 DC를 들어,이 null을 반환 것

[{ 
    "type": "/location/administrative_division_capital_relationship", 
    "capital": [{ 
    "id": null 
    }], 
    "administrative_division": [{ 
    "id": null 
    }], 
    "limit": 1 
}] 

참고 : 만의 capitols를 찾으려면, 당신은이 쿼리에 ID를 입력 할 수 있습니다 .

임의의 속성을 처리해야하는 경우 리플렉션을 사용해야합니다. https://developers.google.com/freebase/mql/ch03#reflection

+0

감사합니다. Tom입니다.하지만 Query에 대한 제안 사항을 제공해 주실 수 있습니까? 나는 Freebase에 접근하기 위해 온라인 API를 사용하고 있으며 위에서 언급 한 (위치/위치/포함) 엔티티들 간의 최대 3 레벨 거리가 필요하다고 말하게한다. 나는 th 엔티티의 GUID를 가지고 있으므로 GUID로 검색 할 수 있습니다. – user2831355

관련 문제