2013-12-20 4 views

ответ

1

Для начала, вы можете получить количество всех влияния узлов на Freebase через this query:

{ 
    "type": "/influence/influence_node", 
    "return": "count" 
} 

(который возвращает 50856 для меня только сейчас)

Чтобы получить структуру графа, вы будете необходимо сначала запросить узлы влияния и их соседей, как this:

[{ 
    "mid": null, 
    "name": null, 
    "type": "/influence/influence_node", 
    "influenced": [{ 
    "mid": null, 
    "name": null, 
    "optional": true 
    }], 
    "influenced_by": [{ 
    "mid": null, 
    "name": null, 
    "optional": true 
    }] 
}] 

затем преобразовать полученный список узлов к краям, используя поле mid (идентификатор машины, один из нескольких уникальных идентификаторов на Freebase). Обратите внимание, в то время как Freebase возвращает только первые 100 узлов, вы можете просмотреть результат с помощью параметра cursor в API mqlread. Также обратите внимание, что "option": true удерживайте узлы без влияния или влияющих на результат.

+0

Это хорошо, но проблема заключается в трудности Freebase в получении данных, подготовленных для анализа. DBPedia намного проще запрашивать и возвращать данные в правильном формате, простота для анализа данных. Freebase возвращает JSON, а затем его сбивает с толку, кто влияет на кого, кроме того, что JSON конвертируется в формат таблицы. –

+0

Да, формат ответа Freebase API сейчас довольно ограничен. Я думаю, что «влияние» - это именованное обратное отношение 'влияний_by' (т. Е.« Влияние »B, если B« влияет на », так что ответ на мой примерный запрос содержит избыточную информацию).Вы также можете рассмотреть возможность работы непосредственно с дампом RDF Freebase: http://stackoverflow.com/questions/17760747/import-freebase-to-triplestore – Falcon

+0

Правильно, два свойства являются обратными друг другу. Вы можете видеть в схеме, обозначенной как «ведущий», а другой - как «обратный» https://www.freebase.com/influence/influence_node/influenced_by?schema= Если JSON «запутанный», я не уверен, что RDF будет улучшением. :-) –

1

Хорошим началом было бы щелкнуть по вкладке «Экземпляры» по указанному вами URL-адресу, а затем нажать «Построить запрос» в раскрывающемся списке передач в крайнем правом углу результирующей страницы.

Это даст вам доступ к сети влиятельных лиц и влияний, но вам нужно выяснить, как весовые результаты, потому что не все влияющие создаются равными. Некоторые из них являются кандидатами на пост магистра, другие «влияют» на некоторые неопределенные стили художника, и я уверен, что вы можете представить себе еще много вариантов - каждый из которых имеет более или менее вес в зависимости от ценностей, которые важны для вашего конкретного исследования ,

Еще один фактор, который вы можете включить (или нет), - это то, что Google имеет отношение к ранжированию определенных объектов с точки зрения важности или релевантности. Поиск в Freebase с соответствующими настройками параметров был бы одним из способов включить это, хотя и в виде черного ящика, без какого-либо доступа к тому, почему они что-то более или менее важно.

+0

Да, я согласен, но этот запрос дает только список в JSON, мне нужна таблица, таблица с двумя столбцами с влиянием и влиянием. Как мне это сделать? Спасибо Тому за вашу помощь. Более того, результат очень маленький, 30-40, я ожидал тысячи. http://www.freebase.com/query?autorun=1&q=%5B%7B%22id%22:null,%22name%22:null,%22type%22:%22/influence/influence_node%22%7D% 5D –

+0

Вкладка «Экземпляры» содержит более 50 000 тем, поэтому я подозреваю, что есть проблемы с вашим запросом. JSON - это собственный (и только) формат API, но тривиально превращать результаты в таблицу. https://www.freebase.com/influence/influence_node?instances= –

+0

Мой запрос - это тот, который вы поручили мне сделать раньше, перейдя к функции «Построить запрос». Какой запрос вы использовали? Спасибо и извините, если я сталкиваюсь с невежеством, я здесь новый и учился. –