Во-первых, обязательное предупреждение. Freebase был доступен только для чтения в течение многих месяцев и вскоре будет закрыт. Данные там устарели.
Я получаю счет 4189 для этого запроса, так что кажется, что вы близки ожидаемым результатам. С другой стороны, в Freebase работает более 400 тыс. Бизнес-компаний, поэтому, возможно, вы не намерены ограничивать свой запрос только теми, у кого есть информация о чистом доходе. Если это так, вы можете изменить свой запрос, добавив "optional": true
к этому предложению запроса. т.е.
"net_income": [{
"amount": null,
"valid_date": null,
"currency": null,
"optional": true
}],
Сказав это, 400K очень сложно запросить через API. Чтобы получить ту же информацию из дампа данных Freebase, просто отфильтруйте те же свойства, которые были включены в ваш запрос.
Обратите внимание, что за эти годы произошла значительная реорганизация этой схемы, поэтому некоторые из ваших запросов не являются в настоящее время предпочтительными именами свойств, а скорее старыми псевдонимами. Например, текущее имя для/business/company is/business/business_operation и/business/company/основано на самом деле просто псевдонимом для/organization/organization/date_founded, так что вы хотите искать в дампе.
В свалке, все слэши (/) заменяются точками, так что вы можете фильтровать с помощью zgrep команды, как это (.):
$ zgrep "organization\.organization.\parent" freebase-rdf-2015-04-19-00-00.gz
<http://rdf.freebase.com/ns/m.010b0njl> <http://rdf.freebase.com/ns/organization.organization.parent> <http://rdf.freebase.com/ns/m.010d_x4z> .
<http://rdf.freebase.com/ns/m.010qw9c3> <http://rdf.freebase.com/ns/organization.organization.parent> <http://rdf.freebase.com/ns/m.0110pjfc> .
$ zgrep "business\.business_operation\.industry" freebase-rdf-2015-04-19-00-00.gz
<http://rdf.freebase.com/ns/m.010b2kgs> <http://rdf.freebase.com/ns/business.business_operation.industry> <http://rdf.freebase.com/ns/m.0c5mq> .
<http://rdf.freebase.com/ns/m.010h6tq9> <http://rdf.freebase.com/ns/business.business_operation.industry> <http://rdf.freebase.com/ns/m.02y_9m3> .
Для посредников или вариаторов, будет отдельная линия для каждая часть посредника. Так, например, изменение имени может выглядеть так:
<http://rdf.freebase.com/ns/m.0q2g4kt> <http://rdf.freebase.com/ns/business.company_name_change.end_date> "2004"^^<http://www.w3.org/2001/XMLSchema#gYear> .
<http://rdf.freebase.com/ns/m.0q2g4kt> <http://rdf.freebase.com/ns/business.company_name_change.company> <http://rdf.freebase.com/ns/m.06_dbm> .
<http://rdf.freebase.com/ns/m.0q2g4kt> <http://rdf.freebase.com/ns/business.company_name_change.start_date> "1974"^^<http://www.w3.org/2001/XMLSchema#gYear> .
<http://rdf.freebase.com/ns/m.0q2g4kt> <http://rdf.freebase.com/ns/business.company_name_change.new_name> "Cinar"@en .
Спасибо, что, похоже, что будет работать с дампом. как я могу извлечь id всех компаний и сохранить в CSV-файле? – faisalbhagat
Если вы хотите сделать это из оболочки, комбинируя zgrep с разрезом и сортировкой -u, должен сделать трюк. Если вы предпочитаете использовать программу, повторите эту логику на своем любимом языке программирования. –