MQL에서 하나의 쿼리를 수행하여 Freebase에서 특정 언어의 이름과 위키 피 디아 ID를 얻을 수 있습니까? 가능한 경우 여러 언어 (예 : 독일어 & 영어)에 대해이 작업을 수행 할 수 있습니까?Freebase : 특정 언어로 하나의 쿼리로 이름과 위키 피 디아 ID 가져 오기
2
A
답변
6
은 질문과 대답, 그러나 여기에서 쿼리의 약간 더 나은 형태입니다 :
[{
"id": "/en/white_house",
"mid": null,
"de:name": {
"lang": "/lang/de",
"value": null
},
"en:name": null,
"wiki_de:key": {
"/type/key/namespace": "/wikipedia/de_id",
"value": null,
"optional": True,
},
"wiki_en:key": {
"/type/key/namespace": "/wikipedia/en_id",
"value": null,
"optional": True,
}
}]
특수 문자가 포함 된 위키 피 디아 키는 이스케이프 처리되므로 이스케이프 해제 방법은 http://wiki.freebase.com/wiki/MQL_key_escaping과 상담해야합니다.
이 쿼리가 더 나은 이유의 일부
은 다음과 같습니다- 기본 언어는 영어입니다, 그래서 이름
- 는 네임 스페이스 조회의 모호성을 제거하기위한 지정할 필요가 없습니다. 원래 쿼리는 실제로 네임 스페이스에서 "white_house"키를 찾고 "/ en/white_house"와 동일한 "/ en"에서 찾을 수 있습니다.
ID별로 조회를 수행합니다. 위키 피 디아 키 중 하나를 찾거나 "name ~ =": "white house"를 사용하여 MQL이 제공하는 조회 기능을 사용하여 해당 문자열을 포함하는 모든 항목 또는 시작 데이터 및 사용에 적합한 기타 항목을 찾을 수 있습니다 케이스.
0
MQL 놀아 후 나는 마지막으로 (white_house
에 대한) 다음 쿼리를 내놓았다 :
[{
"id": null,
"mid": null,
"de:name": {
"lang": "/lang/de",
"value": null
},
"en:name": {
"lang": "/lang/en",
"value": null
},
"key": {
"value": "white_house"
},
"wiki_de:key": {
"/type/key/namespace": "/wikipedia/de_id",
"value": null
},
"wiki_en:key": {
"/type/key/namespace": "/wikipedia/en_id",
"value": null
}
}]
그래, 고마워, 오늘 오후에 내가 알아 낸 것도 이거 야 :)하지만 필자가 빠져있는 한 가지, 필자에게있어 필수적인 것으로 판명 된 것은 "선택 사항"을 포함하는 것이다. 이름과 위키 섹션. 그렇지 않으면 주어진 언어의 어떤 것이 존재하지 않으면 결과가 반환되지 않을 것이다! –
좋은 지적. 제안에 따라 쿼리를 업데이트했습니다. "optional"을 사용할 수도 있습니다 : True 또는 "Optional": "true"어떤 프로그래밍 언어/JSON 라이브러리를 사용하고 있는지에 따라 다릅니다. –