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

Address hierarchy construction: from AVRO to FIBO or from FTS to FIBO #30

Open DramaticallyDecayed opened 6 years ago

DramaticallyDecayed commented 6 years ago

Цель: поддержать в онтологии на основе FIBO иерархию адресов таким образом, чтобы не тянуть полностью онтологию FTS Проблема: строить ли иерархию адресов на основе онтологии FTS или генерировать по AVRO через AddressProcessor.kt

Варианты:

  1. Оставить все как есть - см. ветку dev-fts-fibo-address. Решение использует SPARQL CONSTRUCT запросы для отображения элементов онтологии FTS на элементы новой онтологии с использованием пространства имен FIBO. Запросы добавлены в кучу к FIBOPipeline_LE.kt;
  2. То же, что и первый вариант, но создать отдельный пайплайн для адресов. Т.е. решение реализуется аналогично FIBOPipeline_LE.kt, но только с использование своих SPARQL CONSTRUCT запросов;
  3. На основе AVRO файлов генерировать иерархию адресов отдельно для FTS и отдельно для FIBO, использую AddressProcessor.kt.

Предложение: Считаю, второй вариант оптимальным: среднее число переделок; отделение логики работы с адресами от юридических лиц; но при сохранении однообразия перехода от FTS к FIBO. Под вопросом может быть конкретные отображения - это решается в issue #26 . В частности, меняется и насколько сильно описание структуры адресов. По третьему варианту. Реализация может быть такая: на вход подается онтология FIBO, в которую пишутся адреса, извлеченные из AVRO. Вижу следующие проблемы:

ehlyzov commented 6 years ago

А какие минусы в первом варианте? Особенно, учитывая, что он уже реализован.

ehlyzov commented 6 years ago

Я вижу общий подход в том, что из низкоуровневых онтологий, мы посредством CONSTRUCT переходим к более высокоуровневым. Соответственно, если мы в #26 определили, как выглядят адреса в FTS, то на первый взгляд кажется логичным в общем пайплайне перевести их в адреса для FIBO.

DramaticallyDecayed commented 6 years ago

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