Концепции организации программной библиотеки libIM
Цель разработки открытой программной библиотеки
Цель разработки открытой программной библиотеки обеспечить строительную отрасль открытым инструментом информационного взаимодействия в рамках применения технологий информационного моделирования, одинаково реализующим возможность работы с национальной схемой данных в части:
- обеспечение возможности информационного обмена на всех этапах жизненного цикла территории и ОКС
- сопровождение градостроительной деятельности, включая проектную и строительную деятельность для обеспечения управления требованиями, конфиграцией и замечаниями
- обеспечение метрологического сопровождения градостроительной деятельности
- формирование и сопровождение взаимосвязанной машиноинтерпретируемой терминологической системы (с поддержанием семантического смысла) для обеспечения градостроительной деятельности
- формирование инструментов автоматизированного сопоставления форматов обмена данными с национальной схемой данных
- разработка, сопровождение и развитие открытой программной библиотеки обеспечивающей реализацию национальной схемы данных и возможность преобразования из/в национальную схему данных сществующих стандартов (в первую очередь IFC и STEP)
Отличие данной библиотеки от решения ODA заключается в предоставлении всем желающим возможность обеспечить доступ к работе с национальной схемой данных в области информационного моделирования.
Задачи бибилиотеки libIM
Библиотека libIM разматывается для решения нескольких задач:
- Обеспечение трансформации данных одного формата в другой
- Формирование стандартного интерфейса к национальной модели данных строительной отрасли
- Обеспечение возможность чтения данных из форматов xml (в соответствии со схемой МИНСТРОЯ), ifc, step
- Обеспечение возможность экспорта в форматы step, ifc, xml (в соответствии со схемой МИНСТРОЯ), sql
- Обеспечение стандартного программного интерфейса api для использования различным по на различных Языка программирования.
- Обеспечение поддержки языков программирования: Julia, Python, C, C#
- Предоставление инструментов для работы в качестве элементов скриптов и просмотра модели
- Обеспечение возможности редактирования модели данных национального формата
- Обеспечение возможности формирования наборов данных в соотвествии со сценариями, этапами жизненного цикла
- Обеспечение возможности проверки на соответствие требованиям
- Обеспечение использования в различных программных средах
- Поддержка Операционных систем Linux, windows
- Обеспечение возможности донасыщения данными в соотвествии с требованиями заказчика
- Предоставление возможности обращения к онтологии гражданского строительства через стандартный интерфейс sparql и gremlin (графовой базы)
- Создания инструмента а-ля Jupiter notebook для формирования интерактивной проектной документации и пояснительных записок
Прообразом данной библиотеки является открытый инструмент ifcOpenShell одним из вариантов использования библиотеки видится возможность подключения этой библиотеки к ifcOpenShell для использования уже существующих возможностей blenderBIM Addon
Принципы построения библиотеки
Ядром работы библиотеки является единая модель данных строительной отрасли. Все другие модели данных приводятся к этой модели и после этого преобразовываются в другие модели данных, что позволяет добиться однозначного преобразования моделей данных и при этом постоянно называть единую модель данных. Чтобы единая модель данных могла решать обозначенные задачи в настоящее время существует возможность описания модели данных на основе онтологии. В качестве прототипа онтологии рассматривался международный опыт:
- онтология для гражданского строительства, разработанная финскими коллегами: https://digitalconstruction.github.io/v/0.5/index.html
- SNOMED International determines global standards for health terms, an essential part of improving the health of humankind.
- DATAtourisme национальный ресурс, управляемый ADN tourisme в сотрудничестве с правительством Франции
SNOMED
SNOMED поддерживается International Health Terminology Standards Development Organization (IHTSDO)
SNOMED CT (Систематизированная номенклатура медицины - Клинические термины) - это стандартизированный многоязычный словарь клинической терминологии, который используется врачами и другими поставщиками медицинских услуг для электронного обмена клинической медицинской информацией.
Согласно Международной организации по разработке стандартов медицинской терминологии (IHTSDO), которая распространяет стандарт, SNOMED CT в настоящее время содержит более 300 000 медицинских концепций, разделенных на иерархии, столь же разнообразные, как структура тела, клинические данные, географическое местоположение и фармацевтический / биологический продукт. Каждое понятие представлено отдельным номером, и несколько понятий могут использоваться одновременно для описания сложного состояния.
Используя цифры для представления медицинских концепций, SNOMED CT обеспечивает стандарт, с помощью которого можно ссылаться на медицинские состояния и симптомы, устраняя путаницу, которая может возникнуть в результате использования региональных или разговорных терминов. Цифровая справочная система также облегчает обмен клинической информацией между различными поставщиками медицинских услуг и системами электронных медицинских записей (EMR).
Компьютерная томография SNOMED была первоначально разработана Колледжем американских патологоанатомов и Национальной службой здравоохранения Англии. С апреля 2007 года это входит в компетенцию IHTSDO, базирующейся в Дании. Национальная медицинская библиотека (NLM) является членом IHTSDO в Америке. NLM бесплатно распространяет SNOMED CT в США.
SNOMED CT включает в себя 19 доменов, расположенных в многоиерархической структуре. Каждая иерархия представляет собой упорядоченную организацию концепций, связанных друг с другом через отношения IS-a. У каждой концепции может быть один или несколько родителей.
Иерархическое расположение полезно для определения местоположения концепций, группировки похожих концепций и передачи смысла. Например, если мы увидим понятие "клетка" в понятии "анатомическая сущность", мы поймем предполагаемое значение иначе, чем если бы оно появилось в понятиях "комната" или "источник питания" (Рекомендации для контролируемых медицинских словарей в двадцать первом веке Дж.Дж. Чимино, опубликованные в "Методах информации в медицине" 1998: 37:394-403).
Концепции связаны с их более общими родительскими концептуальными кодами непосредственно над ними в иерархии. Понятия с более общими значениями обычно представляются как находящиеся на вершине иерархии, а затем на каждом уровне иерархии значения становятся все более конкретными или специализированными.
Домены содержат все компоненты (клинические, административные, структура базы данных, а также другие компоненты, которые выражают, как домены связаны друг с другом), необходимые для создания концепций SNOMED CT и поддержания структуры базы данных.
Степень детализации Масштаб, или уровень детализации, в терминологии называется детализацией. Понятия и значения варьируются от очень общих, или грубых, до очень специфических, или тонких. SNOMED CT имеет множество степеней детализации, что является важным компонентом многоцелевых терминологий. Более широкие значения полезны для агрегирования (например, клинические данные, Процедура и т.д.), но не предназначены для записи индивидуальных данных пациента. Прогрессивные уровни уточнения используются для удовлетворения требований к клиническим данным. Однако существуют ограничения на степень предварительной координации определенных типов сложных утверждений. В общем, понятия в SNOMED CT должны называть вещи, которые существуют в реальном мире. Понятия обычно представляют собой имена или короткие словосочетания существительных, а не полные предложения или абзацы. SNOMED CT предназначена для использования с электронными медицинскими приложениями, которые могут поддерживать полные клинические выписки, а также их атрибуции, даты, время и взаимосвязи между выписками. Может быть непросто сбалансировать содержание SNOMED CT с потребностями тех, кто использует электронные медицинские приложения. Например, для некоторых старых приложений могут потребоваться концепции, выходящие за рамки SNOMED CT. SNOMED CT старается максимально повысить свою полезность и в то же время свести к минимуму предварительную координацию.
DATAtourisme
DATAtourisme - это национальный ресурс, управляемый ADN tourisme в сотрудничестве с правительством Франции. Этот ресурс состоит из онтологии и платформы для агрегирования, стандартизации и распространения открытых данных в секторе туризма. Цель этой онтологии - структурировать данные, описывающие все элементы туристического интереса, собранные местными туристическими офисами, ведомственными органами и региональными комитетами по туризму: фестивали и мероприятия, объекты наследия, развлекательные мероприятия, маршруты, жилье, рестораны, магазины и услуги. Этот справочный формат используется, в частности, национальной платформой DATAtourisme для распространения общедоступных Открытых данных в области туризма, относящихся ко всем французским направлениям: данные поступают на платформу в различных форматах и затем структурируются, начиная с онтологии, чтобы распространять их как Открытые данные в унифицированном и совместимом формате. Документация по формату DATAtourisme. Документация доступна онлайн и может быть загружена из репозитория Gitlab. Он сопровождается документацией в формате PDF с конкретными примерами и CSV-файлами различных используемых номенклатур и глоссарием. Восстановление данных из DATAtourisme. Национальные данные доступны на открытой платформе общедоступных данных Франции и на платформе распространения DATAtourisme. Эта последняя платформа позволяет вам настроить обмен потоками данных между DATAtourisme и вашими приложениями: многокритериальные запросы, доступные форматы Json, Xml, RDF и т.д. Использование данных из DATAtourisme. Чтобы облегчить повторное использование данных, вы найдете два других хранилища в разделе DATAtourisme Gitlab. Репозиторий API предлагает вам библиотеку PHP, с помощью которой вы можете запрашивать данные из DATAtourisme. В репозитории Docker Stack вы найдете техническую среду для хранения данных, поступающих из DATAtourisme, в формате RDF. Сообщество и поддержка DATAtourisme. DATAtourisme - это совместный проект, цель которого - обогатиться за счет вклада своих пользователей. Пожалуйста, поделитесь своими комментариями и предложениями, желательно непосредственно на странице поддержки DATAtourisme.
Методология реализации
По поводу разработки программных библиотек для обработки модели данных IFC модно почитать в статье « IFC Import and Open Source» ведущего разработчика Компании Autodesk Jeremy Tammik
Обрабатываемые форматы
Условия распространения и использования программной библиотеки
Краткую информацию о сути открытых лицензий вы можете посмотреть в статье В чём разница между популярными Open Source лицензиями? Объясняет Github или на сайте GNU Как выбрать лицензию для своей собственной работы
Настоящяя библиотека распространяется по лицензии GNU Lesser General Public License v3.0