2014-02-10 1 views
1

Допустим, у вас есть документ, в котором упоминаются «Турция» и «Стамбул», и вы хотите извлечь эти ключевые слова и сопоставить их с статьей Википедии. Но для «индейки» это могло означать, например, либо Турцию, либо птицу. Можно ли использовать второе ключевое слово, Стамбул, для измерения «дистанции» между этой и правой «Турцией». Итак:Измерение расстояния между темами с использованием SPARQL и DBPedia

Стамбул -> Турция страна -> закрыть.

Стамбул -> индейка птица -> удаленная.

Чтобы понять, что я имею в виду с дальнейшим расстоянием: поскольку я понимаю, что SPARQL может пересекать графики, а DBPedia - это тип (знания), поэтому расстояние, которое я ищу, возможно, находится на графике.

ответ

2

Вы можете найти длину пути между двумя ресурсами в SPARQL, если есть уникальный путь между ресурсами. (Это теперь описано в нескольких местах, например, this answer - Calculate length of path between nodes?.) Однако вы не можете использовать эту технику, если есть несколько путей, соединяющих конечные точки, поскольку они работают путем подсчета узлов на пути (-ях) между ресурсами , поэтому, если есть несколько путей, это будет не очень полезно.

В DBpedia может существовать множество путей между любыми парами ресурсов, поэтому довольно сложно использовать эту метрику. Альтернативой, которую вы могли бы использовать, является поиск ближайшего общего суперкласса и использование на нем метрики. Этот подход обсуждался в this answer - finding common superclass and length of path in class hierarchies.

+0

Хорошо, это, вероятно, то, что я могу использовать. У меня возникла странная проблема с использованием SPARQLWrapper. Возможно, вы не в тему, но у вас есть идея, почему точно такой же запрос отображается в Виртуозе: [ссылка] (http://screencast.com/t/aCSkqkdQZ) Затем в SPARQLWrapper: [ссылка] (http: //screencast.com/t/Rs2dy1uGtT) –

+0

@MariusLian Хм, нет, я этого не делаю. Иногда конечная точка Virtuoso налагает тайм-ауты и ограничения памяти, поэтому это может быть причиной получения разных результатов в разное время. –