2012-07-27 1 views
1

나는 출생지 장소에 대한 문자 그대로가 아니라 freebase 리소스 URI를 얻으려고합니다. 자원 URI를 :rdf : resource uri를 반환 할 Freebase 쿼리

내 GET은 ... 이런 식으로이 결과를 반환

https://www.googleapis.com/freebase/v1/mqlread?query={%22/people/person/place_of_birth%22:null,%22id%22:%22/en/bob_dylan%22} 

...

{ 
"result": { 
"/people/person/place_of_birth": "Duluth", 
"id": "/en/bob_dylan" 
} 
} 

는 RDF를 반환하는 get PARAMS을 변경 할 수 있습니다 보인다?

{ 
    "id": "/en/bob_dylan", 
    "/people/person/place_of_birth": { 
    "id": null 
    } 
}​ 

에 쿼리를 변경 사전

+0

두 가지 다른 예를 잘라 붙였습니까? Tilden과 Duluth는 같은 장소가 아닙니다. –

답변

3

에서

<fb:people.person.place_of_birth rdf:resource="http://rdf.freebase.com/ns/en.tilden"/> 

덕분에 오히려 이름이 "덜 루스"보다 다시 /en/duluth를 얻을 의미합니다. googleapis.com에서 호스팅되는 새로운 Freebase API를 사용하면 /en/duluth이 아닌 /m/0h1k6이됩니다. 그러나 이것들은 동일하다.

거기에서부터 RDF 리소스 URI 로의 이동은 매우 쉬워야합니다. 그러나 Freebase 팀은 RDF URI를 더 이상 사용하지 않으며 정식으로 교체 할 것을 공식적으로 약속하지 않았으므로이 서비스에 의존하기 전에주의해야합니다.

+0

MID를 다시 가져 오지 않는 경우 안정된 외부 식별자로 사용하기를 권장하므로 ID 대신 요청하도록 쿼리를 변경해야합니다. http://rdf.freebase.com/ns/m.0h1k6 –

+0

명확히하기 위해 모든/현재 ID가 계속 작동하지만 Freebase에서 강조 표시되지 않는다는 것을 의미하는/en ID가 더 이상 사용되지 않습니다. UI 및 새로운/en ID가 생성되지 않습니다./en URI와/m URI 사이의 매핑은 sameas.org에서 모두 사용할 수 있으므로 두 가지 명명 체계로 쉽게 이동할 수 있습니다. –

+0

감사합니다. 필립 - 완벽한 – AttikAttak