发明名称 一种RDF的数据存储方法和查询方法
摘要 本发明涉及一种RDF的数据存储方法和查询方法,其是通过设计面向实体的RDF数据的存储结构和存储映射,将RDF数据的URI和字面量转化为64位二进制数据后按照设计的存储结构进行存储,在查询方法中对SPARQL查询语句进行解析和转化,将SPARQL语句中的多个每个查询三元组根据对整个数据集的分析结果和各个查询间的连接关系,估算单个询代价,最终生成最小代价查询流程,本发明可以极大的提升数据间比较的速度以及降低存储空间,相比传统的直接将SPARQL转化为SQL进行查询,大幅度提升查询效率,可用于Web数据管理、Web语义检索等领域。
申请公布号 CN105630881A 申请公布日期 2016.06.01
申请号 CN201510955821.5 申请日期 2015.12.18
申请人 陕西师范大学 发明人 袁柳;张鸿洋;翟梅
分类号 G06F17/30(2006.01)I 主分类号 G06F17/30(2006.01)I
代理机构 西安永生专利代理有限责任公司 61201 代理人 曹宇飞
主权项 一种RDF数据存储方法,其特征在于由以下步骤组成:(1)设计面向实体的RDF数据的存储结构(1.1)采用面向实体的方式,将数据存到关系型数据库n行的k列中,其中k为RDF数据中所有主语的谓词数量的平均值,n为所有主语需要的行数line的和,当单个主语的谓词数量sum≤k时,则所需行数line=1;当sum>k时,则进行多行存储,则所需行数line=(sum/k)+1;(1.2)确定k值以后,根据谓词映射算法,将谓词转为列下标,得到一个n行k列的表结构;(2)设计用于RDF数据的存储映射采用hash算法将RDF数据的URI和字面量分别转化为64位二进制数据,URI取hash算法的高64位,字面量取hash算法的低64位,将转换的二进制数据存储到hash索引表中并对hash索引表中的行进行升序排列,以便查找时通过二分查找算法快速进行映射与转化;(3)RDF数据存储将RDF数据按照步骤(2)的方法进行映射与转换之后,第一次存储到步骤(1)的表结构中,对存储到表结构中数据进行分析,创建分析表S,记录每个Subject和Object包含的三元组个数以及出现频率最高的20个URI和频率最高的20个字面量对应的频率,再按照步骤(1)的表结构,将Object作为存储实体,对存储到表结构中的数据经过步骤(2)的映射与转换之后再进行第二次存储,即完成RDF的数据存储。
地址 710062 陕西省西安市长安南路199号