2015-09-27 4 views
0

Предположим, мне нужно загрузить все данные, относящиеся к/лекарства/лекарства и от Freebase, чтобы хранить в моей собственной базе данных. Могу ли я это сделать с помощью API?Freebase: Можно ли загружать определенный тип данных из freebase с помощью API?

Я нашел их свалки RDF, но они довольно огромные. Мне нужен только сегмент. Как это можно эффективно использовать с помощью API?

ответ

0

Вы можете, но API на самом деле не предназначен для массовых загрузок. В Freebase есть 8,974 drugs, так что это не совсем невозможно. Вы могли бы начать с чем-то вроде this query:

[{ 
    "type": "/medicine/drug", 
    "id": null, 
    "name": null, 
    "*": { 
    } 
}] 

и приукрасить, чтобы удовлетворить ваши потребности. В частности, вам, вероятно, понадобится использовать курсор и добавить поддержку обработки курсора в ваше приложение-запрос.

В качестве альтернативы вы можете получить список идентификаторов с API-интерфейсом MQLread и затем запросить их, используя API-интерфейс темы, например. /en/aspirin

Наконец, многие данные Freebase поступают из наборов данных FDA, таких как Structured Product Labels, поэтому вы можете просто загрузить соответствующие наборы данных непосредственно из FDA и использовать их. Это имеет дополнительное преимущество, что они будут оставаться актуальными с течением времени, в отличие от Freebase, которая была заморожена более 6 месяцев и никогда не будет обновляться снова.