DataFabricRus / ontology-fts

Unofficial ontologies for Official Registers of Russian Federal Tax Service
http://datafabricrus.github.io/ontology-fts
10 stars 3 forks source link

Обновление онтологии FTS в части представления адресов #28

Closed DramaticallyDecayed closed 6 years ago

DramaticallyDecayed commented 6 years ago

Цель измнений:

  1. Унифицировать адреса так, чтобы фирмы располагающиеся в одном здании ссылались на один и тот же экземпляр адреса;
  2. Избавиться от адресов-дубликатов. Например, несколько городов Новосибирск.

Решение:

  1. Ввести класс C1001_House_Element для представления дом+блок. Идентификаторы для экземпляров этого класса создаются следующим образом: UUID(КЛАДР + unify(дом, блок));
  2. Отношение fts:p98_located_atоставить только для связи C39_Address_Entity и C1001_House_Element;
  3. Элементы адресной структуры (субъект, район и т.п.) создаются на оснвове КЛАДРА. Элементы объединяются в иерархическую структуру отношениемfts:p113_part_of элементы. Например: ?regionUri = <http://example.com/resource/61> fts:p113_part_of ?districtUri = <http://example.com/resource/61016> fts:p113_part_of localityUri = <http://example.com/resource/61016000087> fts:p113_part_of ?streetUri = <http://example.com/resource/610160000870027> Идентификатор - это КЛАДР-код. Каждый экземпляр иерархии адресных элементов включает свойства p19_region_code, p6_name, p25_element_type.

Итого, предлагаемые изменения:

  1. Новый класс C1001_House_Element. Надо только номер выбрать;
  2. Переименовать p19_region_code в p19_kladr_code

Примечание: если есть необходимость могу нарисовать схему

ehlyzov commented 6 years ago

Мы позже переделаем всё на ФИАС, когда он будет непосредственно в ЕГРЮЛ. Сейчас у нас есть ошибки при генерации RDF для адресов и избыточность в OWL (по крайней мере в рамках FTS).

KMax commented 6 years ago

?regionUri = <http://example.com/resource/61> fts:p113_part_of ?districtUri = <http://example.com/resource/61016> fts:p113_part_of localityUri = <http://example.com/resource/61016000087> fts:p113_part_of ?streetUri = <http://example.com/resource/610160000870027>

Тут как я понимаю, слева на право связи идут. Наверное лучше наоборот, например, ?districtUri fts:p113_part_of ?regionUri. @DramaticallyDecayed что думаешь?

Переименовать p19_region_code в p19_kladr_code

Еще есть связь p20_address_code, как насчет того чтобы эту связь тоже на p19_kladr_code заменить?

DramaticallyDecayed commented 6 years ago

Тут как я понимаю, слева на право связи идут. Наверное лучше наоборот, например, ?districtUri fts:p113_part_of ?regionUri. @DramaticallyDecayed что думаешь?

@KMax, про связи все верно. Направление связей зависит от интерпретации. Я рассудил так, что если говорить об адресе как о структуре данных, то такое направление более логично: именно 61 является частью 610160000870027, но не наоборот. Так же как в строке адреса КРАЙ,КРАСНОЯРСКИЙ,,,ГОРОД,КРАСНОЯРСК,,,улица,Высотная, ДОМ 2, СТРОЕНИЕ 8, ОФИС 302 Красноярский край - это только часть адреса. Если бы речь шла об административных единицах, то должна быть обратной. А так как речь идет о КЛАДР, т.е. о структуре, то выбран первый вариант.

Еще есть связь p20_address_code, как насчет того чтобы эту связь тоже на p19_kladr_code заменить?

Согласен. Спасибо.