LUBM数据的生成

数据的生成主要参考这位仁兄 [lubm的生成]
主要强调生成数据中的两个坑
(1)编译过程中,一直报错。要删掉每个c++文件中的那一行package 什么的,否则一直报错。
(2)关于参数的输入,上面的那个博文讲的很清楚了。但是要注意的一点是,如果链接是这个

onto -http://swat.cse.lehigh.edu/onto/univ-bench.owl

则查询会出错,查询中的owl都是

http://www.lehigh.edu/~zhp2/2004/0401/univ-bench.owl

所以根据提供的14 SPARQL 1.0 queries查询,生成语句应该是

java Generator -univ 10 -index 0 -seed 0 -onto http://www.lehigh.edu/~zhp2/2004/0401/univ-bench.owl

本人还写了该生成数据转化为nt的程序等(主要用到rdflib库),如果有需要可以联系。
以下为使用rdflib库,对xml数据转换为.nt格式的数据。

# -*- coding: utf-8 -*-
import rdflib
import os
import logging
logging.basicConfig()


path="/home/memsouthlake/uba/classes/data"//XML对应的文件夹
files = os.listdir(path)
g = rdflib.Graph()
for file in files:
	if not os.path.isdir(file):
		filePath=path+'/'+file
		g.parse(filePath,format='xml')
g.serialize(destination="/home/memsouthlake/LUBM/lubm2/lubm2.nt",format="nt")//生成的.nt数据
print(len(g))

猜你喜欢

转载自blog.csdn.net/liujiang0529/article/details/86567828