2

我已经搜索了网络,似乎找不到合适的例子,所以我想我会问......(顺便说一句,这对我来说大部分是新的 - 不是全部,只是大多数。)

问题:尝试将已发布的引文数据的 bio/python 嵌套字典(或 xml)转换为平面(标准化)结构,例如 sqlite。引文数据是使用 biopython 从 pubmed 获取的,并被解析为字典,但如果需要,也可以作为 xml 检索。

并非所有引文都具有所有字段/键,并且并非所有字段/键都具有相同数量的项目(作者、网格术语、参考文献等),并且理解这是规范化过程的一部分。

这就是我的实际理解结束的地方。

也就是说,我认为这个过程应该是这样的:首先删除/规范化所有唯一字段(每篇论文有 1 个字段,例如标题、摘要、日期、引文等......,但不要说从属关系,因为那将是链接到第一作者)。没有摘要的论文可以填空吗?

然后继续说,作者并再次使用 PMID 作为 fk 创建一个单独的表,然后对单独表中的各种其他字段/键/项目执行相同的操作,例如网格标题、EC 编号、参考等...

有没有办法从主字典中删除(弹出?)键/项目,以便我可以直观地看到已完成/需要完成的操作(显然离开 PMID)?

再次,如果我要向初学者提出一个明显的问题,请提前道歉-我确实理解您不能将嵌套结构放入平坦的空间中-只是寻找解决此问题的最不愚蠢的方法,并希望有一个这将使我能够确保正确捕获所有内容。

非常感谢,克里斯

4

1 回答 1

0

一个简单的问题——如果您已经拥有 XML 格式的数据,为什么要将其规范化为 SQL 格式?为什么不直接使用原始 XML?Berkeley DB XML是一个链接到您的应用程序的库(如 SQLite)。无需安装或维护单独的服务器。该库允许您使用XPath 或 XQuery存储和查询 XML 数据。它非常快,占用空间小。是事务性的、可恢复的和高度可靠的。如果需要,它还具有 HA 功能。

将数据保存在 XML 中应该可以简化整个数据导入过程,并且仍然允许您查询半结构化数据。

于 2011-03-01T05:56:39.647 回答