我需要将 SNOMED CT 本体导入到图形数据库中,在本例中是 Neo4J,但它最终可能是另一种选择。
但是,为了实现这一点,我找不到对 SNOMED CT 底层关系数据模型的清晰描述。或者至少,简化的 SQL 视图以可以映射到图形数据库的方式公开实体关系。
我将不胜感激任何有关此问题的指导或以前的经验。
我需要将 SNOMED CT 本体导入到图形数据库中,在本例中是 Neo4J,但它最终可能是另一种选择。
但是,为了实现这一点,我找不到对 SNOMED CT 底层关系数据模型的清晰描述。或者至少,简化的 SQL 视图以可以映射到图形数据库的方式公开实体关系。
我将不胜感激任何有关此问题的指导或以前的经验。
直接尝试序列化关系数据模型可能会非常困难,并且会让您离目标更远。
值得注意的是,SNOMED 数据实际上已经以 RDF 格式提供。所以你得到一个“免费”的图形结构。
例如,这个项目以 RDF 格式提供数据,无论您选择 Titan 还是 Neo4j,将 RDF 数据放入图表都非常简单。
边注:
我的一位同事实际上致力于将 SNOMED 数据导入Grakn Graph,这是我们都在研究的语义图系统。如果您有兴趣,可以在这里查看他的作品。Grakn 是一个运行在 Titan 之上的语义图解决方案。
如果您正在寻找有关如何将概念、描述和关系建模到图形数据库中的示例。我在 Github 中有一个示例项目,可以将 Snomed 数据上传到 Neo4j 数据库中。
https://github.com/pradeepvemulakonda/Snomed
在您进入实现细节之前,我建议您尝试以下 Snomed 数据浏览器:
http://ontoserver.csiro.au/shrimp/
一旦你了解了概念和关系,你就可以完成实现。您可以使用以下要点来了解如何在 Neo4j 中查询上传的概念和关系。
实际上有三个表,概念,描述和关系
您会在此处找到它们的描述: https ://confluence.ihtsdotools.org/display/DOCTIG/3.1.+Components
最重要的是关系和概念以及描述和概念之间的关系。