Обновления российской геополитической онтологии (OWL)

Если кто не помнит — ранее я размещал геополитическую онтологию тут http://ivbeg.livejournal.com/252756.html

Её суть — это построение на основе онтологии FAO (тут — http://www.fao.org/countryprofiles/geoinfo.asp) онтологии административно-территориального деления Российской Федерации с учётом всех её особенностей.

Тем кто не интересовался Semantic Web, Linked Data, возможно, разобраться в этом будет сложновато, но тем кто сталкивался — думаю что будет совсем несложно.

Сейчас и далее под «онтологией» — я буду иметь в виду описание предметной области в формате OWL файла.

В частности в эту онтологию входит:

— перечень всех субъектов федерации

— группировки субъектов по военным округам, экономическим районам и федеральным округам

— иерархии регионов и групп

— классификационные коды регионов по КЛАДР, ОКАТО, ОКТМО, ISO3166, ГОСТ7.67-2003

— временные зоны регионов, русские и английские названия и так далее

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

Что есть в новой версии:

— добавлен Северо-Кавказский федеральный округ и в него из Южного перенесены относящиеся к нему субъекты федерации

— новое свойство isMemberOfMunicipal используемое для формирование иерархии муниципальных образований

— теперь классы rural_settlement и urban_settlement переподчинены от municipal_district к municipal_formation. Это сделано поскольку городские и сельские поселения входят в муниципальные районы, а не наследуют от них свойства. А вхождение объектов управляется с помощью isMemberOfMunicipal

— для всех субъектов федерации заполнена информация о том с какими другими субъектами федерации они граничат. Это внесено в поля hasBorderWith

Саму обновлённую онтологию можно скачать в zip архиве тут — ruregions.zip

Плюс ещё один пример того как я предполагаю развивать онтологию далее — это описание структур административно-территориального деления в рамках субъекта федерации. А то есть перечень муниципальных образований. Классы для описания муниципальных образований есть в корневой онтологии regions.owl, а вот объекты в импортирующих её отдельных для каждого региона.

OWL файл архиве тут —  r87.zip.

И о том чего в этих онтологиях нет:

1. Кроме свойств наличия границ между субъектами в них нет никакой географической информации — такой как географические координаты, широты, параллели, территории, статистической информации и так далее. Нет по той причине что это базовые онтологии, а то есть все остальные строятся на их основе на них ссылаясь

2. Нет информации о границах  территорий с другими странами. В принципе, это сравнительно несложно сделать и было сознательно пока отодвинуто поскольку никогда не будет поздно добавить

3. Пока ещё неполное описание внешних территорий таких как Байконур, российские военные базы зарубежом и так далее. Скорее всего их описание также будет вынесено в отдельную ветку/онтологию.

4. Для городских и сельских поселений указываются два атрибута иерархии isMemberOf — отношение к субъекту федерации и isMemberOfMunicipal — вхождение в муниципальный район. Это создаёт некоторую избыточность, но упрощает некоторые выборки.

Собственно, что дальше. Я занимаюсь этими онтологиями, в основном, из личного интереса. У нас в России Semantic Web всё ещё в таком зачаточном состоянии что привлечь гранты или спонсоров для подобной работы — ну очень маловероятно.

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

About This Author

  • http://www.facebook.com/people/Ivan-Kovalenko/100000023245430 Иван Коваленко

    Хотел бы сообщить о некоторых неточностях в файле owl.
    1. Для объекта Москва есть ряд свойств, тип которых обозначен как #string. Видимо, подразумевался http://www.w3.org/2001/XMLSchema#string.
    2. Свойство hasMember имеет ограничение на субъект — adm_region, однако более всего применяется в military_district, который disjoint с adm_region. Удаление ограничение на субъект вроде как устраняет несоответствие.
    3. Импортированные онтологии fao и dcterms не проходят валидацию.

    PS. Валидация проводилась pellet-2.2.1

    • http://ivan.begtin.name Ivan Begtin

      Иван, спасибо.
      Этот OWL файл был драфтовый, я его ещё буду обновлять и исправлять.

  • Leonid Ototsky

    А почему только Российской ?? Система должна учитавать и ближнее и дальнее зарубежье !
    А для этого нужна гораздо более универсальная гибкость между населенными пунктами и различными видами Регионов

  • http://ototsky.mgn.ru/it pater_leo

    А нужен еще более низкий уровень Онтологий — урвень ПРОДУКЦИИ — это экономический фундамент снабжения и сбыта . А геополитическая структура — это надстройка — смотрите еще такую онтологию — http://www.ototsky.mgn.ru/it/it_standards2003.htm

  • http://vasiliy.faronov.name/ Василий Фаронов

    Несколько мелких замечаний/предложений.

    — Утверждения `:federal_subject owl:sameAs dbpedia:Federal_subject` и `:federal_district owl:sameAs dbpedia:Federal_districts_of_Russia` мне кажется стоит убрать, так как эти ресурсы в DBpedia представляют собой не пойми что, но явно не классы. К тому же это фича OWL Full (для OWL DL надо использовать owl:equivalentClass).
    — Напротив, некоторые классы, например :сity, можно было бы замапить на другие онтологии, скажем `:сity rdfs:subClassOf dbpedia-owl:City` (или может где-то есть специальная онтология населённых пунктов и т. п.).
    — Для некоторых приложений было бы полезно иметь свойство типа :transitiveIsMemberOf, аналогичное :isMemberOf, но транзитивное. Как это сделано в Organization Ontology[1].
    — Может быть, стоит переименовать классы по схеме CamelCase? Например :FederalSubject и т. д. Это устоявшаяся практика в семвебе. Хотя если онтология уже реально где-то используется, то наверное не надо.

    [1] http://www.epimorphics.com/public/vocabulary/or

    • http://vasiliy.faronov.name/ Василий Фаронов

      И ещё. Если я правильно понимаю, коды ОКАТО и ОКТМО у каждого объекта уникальны. Тогда свойства :codeOKTMO и :codeOKATO можно сделать обратно-функциональными (owl:InverseFunctionalProperty).

      • http://ivan.begtin.name Ivan Begtin

        Василий, спасибо. Онтологию я публиковал как draft, в следующем её обновлении учту Ваши замечания и отвечу подробнее.

Яндекс.Метрика