Я пытаюсь реплицировать пример кода в https://developers.google.com/freebase/v1/rdf-overview#rdf-documentation, чтобы получить RDF для определенной темы и сохранить результат в rdflib. После настройки URL-адрес составляет https://www.googleapis.com/freebase/v1/rdf/m/02h40lc?key=XXXXX. Однако при выполнении кода, я получаю следующее сообщение об ошибке:Извлечение RDF для темы из Freebase
"BadSyntax: at line 7 of <>:
Bad syntax (EOF found in middle of path syntax) at^in:
"@prefix key: <http://rdf.freebase.com/key/>.
@prefix ns: <http://rdf.freebase.com/ns/>.
@prefix owl: <http://www.w3.org/2002/07/owl#>.
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>.
@prefix xsd: <http://www.w3.org/2001/XMLSchema#>.
ns:m.02h40lc
ns:base.database.database_topic.database_s_for_this_topic ns:m.0861s;
ns:base.rosetta.languoid.document ns:m.05tq40j;
ns:base.rosetta.languoid.document ns:m.05tqsrm;
и т.д., с последней линии бытия:
rdfs:label "Inglise keel"@et^..."
Фактическая последняя строка файла:
rdfs:label "Inglise keel"@et.
Я пропустил некоторые шаги, чтобы привести пример к работе? Спасибо!
Спасибо Том. Я надеялся использовать библиотеки Python, загружая (или часть) RDF-дамп из Freebase в rdflib для некоторой предварительной обработки. Похоже, что нет простого способа сделать это, если мне придется вручную вводить входные файлы в парсер. Мне любопытно узнать, как вы и другие подошли к этой проблеме. – user1748083
Я не очень много работаю с дампами, но когда я это делаю, я стараюсь использовать zgrep, cut и другие инструменты командной строки Unix, в отличие от инструментов RDF. Преобразование, которое я описываю, будет работать на пару минут с sed, awk или Python, поэтому на самом деле это не должно быть обременительным (хотя я согласен, что это не обязательно). –