dblp.xml是一个简单的,普通ASCIIXML文件,使用附带的dblp.dtd文件中给定的命名实体。可以在dblp web服务器上找到每日更新(但未版本化)的XML转储:
此外,每个月都会存档一个持久快照版本:
我们强烈建议您在实验中使用这些快照版本,并在已发布的文章中通过其持久URL引用它们。这将使你的实验在未来可以重复。
dblp记录的XML结构的详细信息以下是几个设计决策:
dblp.xml文件基本上可以由任何现成的xml解析器解析。
- 注意,由于引用的dblp.dtd是一个“私有”SYSTEM资源,您还需要下载dtd文件,并使其在本地可供应用程序使用
还要注意,由于dblp.xml中包含大量实体,您可能需要提高解析软件中允许实体数量的安全限制。例如,在Java中,您需要提供如下命令行参数,以便将限制增加到足够大的数字。
java-DenityExpansionLimit=2000000 SomeDblpParser.java
或者,您可以通过调用以下命令以编程方式设置此参数:
System.setProperty(“实体扩展限制”,“2000000”);
- 此外,请注意,由于dblp.xml的大小,在文档对象模型(DOM)。请考虑使用XML简单API(SAX)或aXML流API(StAX)而是接近。
示例解析器
例如,我们提供了一个简单的主存数据结构来解析和查询用Java编写的整个dblp数据。本节中的代码已使用以下环境进行了测试:
- Ubuntu 16.04.6 LTS
- Java 8(openjdk版本“1.8.0_191”)
- gunzip(gzip)1.6
- 请注意,运行示例解析器需要Java8+。该代码不能用于早期的Java版本。
- 还请注意
dblp.xml文件
必须增长到不再适合JVM分配的标准4GB内存。尝试跑步java语言
具有更大的分配,如-Xmx8G(X×8G)
.
运行解析器
请加载文件
从我们的web服务器到本地目录。例如,您可以运行以下命令:
wget公司https://dblp.org/src/DblpExampleParser.java \https://dblp.org/src/mmdb-2019-04-29.jar \https://dblp.org/xml/release/dblp-2019-04-01.xml.gz \https://dblp.org/xml/release/dblp-2017-08-29.dtd
使用以下命令解压缩dblp.xml.gz文件:
gunzip dblp-2019-04-01.xml.gz
编译分析器:
javac-cp mmdb-2019-04-29.jar DblpExampleParser.java
运行示例应用程序:
java-Xmx8G-cp mmdb-2019-04-29.jar:。dblp示例分析器dblp-2019-04-01.xml dblp-2017-08-29.dtd
JavaDoc和源代码
还可以下载JavaDoc页面和org.dblp.mmdb包的源代码:
服务