2015-06-27 25 views
0

我正在使用本地MySQL副本中的統一醫療語言系統(UMLS)數據庫。我目前正試圖通過這個網頁瞭解數據結構:http://www.ncbi.nlm.nih.gov/books/NBK9685/MRREL上的NIH UMLS數據模型

我試圖識別CUI2中的概念。然而,我很困惑這個結果:

SELECT y.* FROM mrrel r INNER JOIN mrconso y ON r.cui2 = y.CUI; 

只有1個結果。而不是瘋狂地猜測 - 它是我的sql嗎?這是表格上的錯誤嗎?我誤解了這個模式嗎? - 我真的很感謝UMLS社區的一些反饋。如何正確地將MRREL.cui2鏈接到數據庫中的其他表?有沒有發佈完整的數據模型?

謝謝!

+0

對於後人,我發現了一條線索。 MRREL,MRSTY和MRSCONSO表在CUI字段中都有前導「\ n」字符。在MRREL中只在CUI1中,而不在CUI2中。如果解決了問題,我會再次發表評論。我通過使用http://stackoverflow.com/questions/1504962/how-to-remove-new-line-characters-from-data-rows-in-mysql –

回答

1

布賴恩,

不知道你是如何創建子什麼,我修改您的查詢了一下,跑了反對從2015AA發佈全Metathesaurus子集。 SELECT count(DISTINCT y.cui) FROM mrrel r INNER JOIN mrconso y ON r.cui2 = y.CUI ; 我收回了3074046個獨特的CUI。也許你可以給我發送你的mmsys.log文件,以確保你的子集正確完成?此外,您可以使用幾個ER圖和sample queries on our website,這可以幫助理解RRF數據模型。另外,您的MRREL表中有多少行總數?

+0

解決了這個問題,我在2015AA上運行。 mrrel中有27,612,106。這個查詢仍然沒有帶來什麼,但我確保我沒有更多的前導/尾隨字符。 –

+0

另一個線索,MRCONSO表除了一個CUI外,都是bit_length 56,其中只有一個MRSTY的CUI2大於56. select count(*) from mrrel where bit_length(cui2) > 56;與之一起玩的只有MRCONSO.CUI中的一個與MRSTY.CUI2匹配。恐怕我不瞭解數據模型。 –

+0

在user3653270的幫助下,我做了一個完整的重新安裝。換行符和位長問題已得到糾正。 –