Импорт SNOMED CT в Neo4J

Мне нужно импортировать онтологию SNOMED CT в графическую базу данных, в данном случае Neo4J, но в конечном итоге это может быть другой выбор.

Однако я не смог найти четкого описания SNOMED CT, лежащего в основе реляционной модели данных, для достижения этой цели. Или, по крайней мере, упрощенные представления SQL, которые раскрывают взаимосвязь сущностей таким образом, который может быть сопоставлен с базой данных графа.

Я был бы очень признателен за любые рекомендации или предыдущий опыт в этом вопросе.

4 ответа

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

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

Например, этот проект предоставляет данные в формате RDF, и поместить данные RDF в график довольно просто, независимо от того, какой вы выбрали Titan или Neo4j.

Примечание:

Мой коллега фактически работал над импортом данных SNOMED в Grakn Graph, семантическую систему графов, над которой мы оба работаем. Если вы заинтересованы, вы можете проверить его работу здесь. Grakn - это семантическое графическое решение, которое работает поверх Titan.

SNOMED может быть загружен в MySQL с помощью UMLS (унифицированной системы медицинского языка), выпущенной NIH. После загрузки таблица MRREL содержит все отношения между узлами SNOMED. Если вы хотите загрузить его сразу в Neo4j, вы можете полностью пропустить шаг MySQL и работать непосредственно с файлами UMLS RRF. Формат документации RRF не велик, но файлы легко разбираются в табличном виде.

На самом деле есть три таблицы, концепции, описания и отношения

Вы найдете их описание здесь: https://confluence.ihtsdotools.org/display/DOCTIG/3.1.+Components

Наиболее важными являются отношения между отношениями и понятиями, а также описаниями и понятиями.

Если вы ищете образец того, как смоделировать Концепции, Описания и Отношения в базе данных Graph. У меня есть пример проекта в Github, который может загрузить данные Snomed в базу данных Neo4j.

https://github.com/pradeepvemulakonda/Snomed

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

http://ontoserver.csiro.au/shrimp/

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

https://neo4j.com/graphgist/95f4f165-0172-4b3d-981b-edcbab2e0a4b

Другие вопросы по тегам