Разработки по семантическим технологиям в openstreetmap

В чем суть?

Семантический веб развивается всё больше и нынче на большом количестве сайтов можно обнаружить либо RDFa разметку, либо данные в формате RDF по отдельным URL’ам. Появляются системы типа wolframalpha, которые могут использовать такие данные. В мейнстримовых поисковиках типа Google пока что набор поддерживаемых типов семантических данных ограничен, но всё идет к тому что они будут пользоваться ими в полном объеме, и не просто искать текст на страницах, а понимать смысл. Гугл купил freebase.com, крупнейшую базу данных структурированных данных, наполняемую пользователями (и импортами с других сайтов).

И дело не только в поисковиках и других роботах, ходящих по страницам. Выгрузки данных в структурированном виде, в стандартном формате могут быть очень полезны для разных целей. Особенностью RDF, основного семантического формата, являются связи с данными на разных источниках. Например, можно будет узнать что Москва на Википедии, в OSM и еще где-нибудь — это одно и то же.

В Википедии сейчас находится гигантское количество данных, но они теряются среди словесного описания и разных видов таблиц, шаблонов и прочей разметки. Поэтому есть планы по структурированию и сторонний сайт, экстрагирующий данные из шаблонов.

В Openstreetmap данные являются структурированными, но структурированными странно. Всё-таки основной целью было сделать карту, которая бы отрисовывалась и которую бы можно было загрузить в навигаторы, где бы она тоже отрисоывалась и использовалась для роутинга. Цели сделать справочник и базу данных наверно не было.

Все описания, как ставить теги чтобы изобразить такой-то объект, сейчас только словесные в wiki. Тот кто разрабатывает софт, использующий данные OSM, вынужден читать эти словесные описания и реализовывать сложную логику, чтобы привести данные, созданные пользователями по этим пропозалам, в нужный ему вид. Например, чтобы просто получить контуры зданий, нужно сделать обработчик мультиполигонов, а если понадобится определить, где целое здание, а где его части, тут придется определять по адресам и т.д.

Другой пример — POI. Чтобы просто узнать адрес магазина из базы OSM, надо определить, внутри какого замкнутого вея с тегом building=* стоит точка и прочитать у него адрес. А еще это может быть не вей, а релейшен-мультиполигон. И тут тоже два варианта, когда теги адреса стоят на внешнем вее, и когда на релейшене — пропозалы это разрешают. Кроме того, магазин может быть отмечен не точкой, а тегами прямо на вее или релейшене здания. Населенный пункт у адреса придется определять тоже по вхождению в границы.

И не существует программ, которые бы переводили данные из OSM в промежуточный формат, где всё уже нормализовано, здания имеют готовую геометрию в свойствах, магазины имеют связь с объектом адреса, улицы имеют связи со всеми дорогами и зданиями, которые в них входят. Разве что есть osm2pgsql, который вычисляет геометрию у мультиполигонов.

И как раз удобно было бы, если бы такая программа выдавала данные в RDF.

Что бы это всё дало?

  • Возможность более просто использовать данные OSM в различных проектах.
  • Если создать правила для перевода данных OSM в RDF, то они будут служить формальным описанием всех этих релейшенов и тегов.
  • Продвинутые валидаторы.
  • Представление осмысленных объектов в редакторах.
  • Связь с данными на других проектах. Например, можно будет тянуть дополнительные данные об объекте с Википедии. Вовсе необязательно импортировать их в базу OSM, сторонние программы, например, конвертеры для навигаторов, смогут джойнить дейтасеты с OSM и Википедии сами. Более того, если семантический веб получит распространение, можно будет тянуть данные напрямую с официальных сайтов объектов (если они там будут), например часы работы магазинов.
  • Поиск с использованием SPARQL, или user-friendly поиски поверх SPARQL (например, искать только магазины)
  • Замена Nominatim

См. также объектно-ориентированный осм.

Что найдено на данный момент:

1. LinkedGeoData

http://linkedgeodata.org/

База OSM, переведенная в RDF. Есть поднятый сайт с этой базой, доступной для запросов с помощью SPARQL.

Онтология у них, судя по всему, генерируется автоматически и содержит все самые распространенные возможные ключи тегов. Некоторые объекты фильтруются и не включаются в базу — это, как я понял, все дороги и веи с более чем 20 нодами. И еще много что. Вызвано это, видимо, тем что в базе OSM слишком много данных и существующие технологии хранения и обработки семантических данных не справляются с такими объемами.

Структура данных — малообработанные данные OSM, что не очень хорошо. Это не “человеческие” классы, полученные из данных OSM.

Исходники: http://code.google.com/p/linkedgeodata/

Зато есть связи с dbpedia, формирующиеся из тега wikipedia.

2. OSMSemanticNetwork

http://wiki.openstreetmap.org/wiki/OSMSemanticNetwork

Описание пропозалов в RDF, экстрагированное из wiki.openstreetmap.org.

Особо не смотрел, но формальная схема для описания пропозалов из полученных данных не получается. Скорее только некоторые данные из вики и взаимосвязь между тегами.

3. OSMonto

http://wiki.openstreetmap.org/wiki/OSMonto

Еще один перевод базы OSM в RDF. Опять же в человеческие понятия “дорога”, “здание”, “улица” и т.д. они базу OSM не переводят, а дампят теги один-в-один, как есть. Правда вот дальнейшие правила (например, описанные прямо в онтологии) наверно могут это сделать.

Про проект мало известно, из всего что можно посмотреть есть только pdf. Используется на http://planning.do-roam.org/, который лежит.

4. Семантическая вики для OSM

http://wiki.openstreetmap.org/wiki/Machine-readable_Map_Feature_list/OWL_Semantic_Wiki_and_more

Если в вики OSM добавить семантическую разметку, то при правильном использовании получим формальные описания тегов и пропозалов. Записанные прямо “между строк” обычного текста в описаниях этих самых пропозалов. Что-то типа RDFa. См. http://ru.wikipedia.org/wiki/%D0%A1%D0%B5%D0%BC%D0%B0%D0%BD%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B0%D1%8F_%D0%B2%D0%B8%D0%BA%D0%B8

За ликбез, спасибо. А к чему призыв?

Я просто надеялся что прилитит вдруг волшебник стивен wolfram alpha магически проиндексирует osm и мы возьмем все готовенькое

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

http://oegdev.dia.fi.upm.es/projects/map4rdf/