Если вы хотите только один слой (то есть ближайшие соседи), это довольно просто сделать, используя API отражения, если вы используете онлайн-версию Freebase. Если вы используете массовые загрузки, вам нужно будет работать с любым механизмом запросов, который вы используете (возможно, SPARQL, если вы не превратили RDF в другое).
Если вы хотите найти самый короткий путь, независимо от того, кто далеко друг от друга, он становится алгоритмом поиска графа.
EDIT: Если вы хотите, чтобы найти капители, вы можете заполнить ваши идентификаторы в этом запросе:
[{
"type": "/location/administrative_division_capital_relationship",
"capital": [{
"id": null
}],
"administrative_division": [{
"id": null
}],
"limit": 1
}]
Обратите внимание, что для Вашингтона, округ Колумбия, это будет возвращать нуль, поскольку данные не Freebase ,
Если вам нужно обрабатывать произвольные свойства, вам нужно будет использовать отражение. См. https://developers.google.com/freebase/mql/ch03#reflection
Вы нашли решение для этого? – Anish