The invention relates to a method of data stream real-time search keywords Storm based on RDF, which includes Storm Redis real-time processing, distributed storage and Storm real-time query; the specific content of Storm real-time processing: Spout component of Storm receiving and processing the RDF ontology and instance data file stream, the RDF ontology and examples of the data distributed storage file stream to Redis hash table; the specific content of the Storm real-time query: the client sends real-time query request, the server receives the client request, first check the query cache if there has been the query results, if there is, reuse cache the query results, perform incremental update query algorithm, return query results; if not, then the server to query the real-time computation, and returns the query result. The invention supports the real-time inquiry of the continuous RDF data stream, and satisfies the application demand of the user for the real-time inquiry of the RDF data stream.
【技术实现步骤摘要】
基于Storm的RDF流式数据关键词实时搜索方法
本专利技术涉及海量RDF数据检索
,尤其涉及一种基于Storm的RDF流式数据关键词实时搜索方法。
技术介绍
目前,国内外有关RDF语义网数据的关键词搜索问题研究大都是针对静态数据集的搜索,根据搜索处理方式的不同,可以分为两类:关键词构造结构化查询方法和关键词直接构造查询结果方法。第一类,关键词构造结构化查询方法通常包括关键词映射、构建查询语句和对查询排序。将关键词翻译成联合查询,再得到SPARQL查询语句,通过索引这些关键词可能分别对应到数据图中的顶点或边,在图上定位包含这些顶点和边的子图后,将子图映射为联合查询。LadwingG等从RDF数据中抽取结构信息,构造查询搜索图生成结构化查询,然后查询得到结果。El-Roby等实现了一个Sapphire查询系统,使用预测用户模型,根据用户的输入关键词间相似性帮助用户构造结果化查询SPARQL,使用户通过输入简单关键词就可以进行准确的SPARQL查询。先通过在元组模式图上定位包含用户查询关键词的子图,让用户在这些候选子图中选择最合适的子图,映射成结构化查询,进行查询操作并返回结果。但该策略依赖于用户的反馈和RDF模式信息的完整性。第二类,关键词直接构造查询结果方法大都是在图数据上直接匹配包含所有查询关键词的子图,利用评分函数对候选答案排序,返回top-k查询结果。李慧颖等人将RDF数据建模成顶点带标签的实体三元组关联图,构建结构索引,利用斯坦纳树近似算法实现了快速查询响应。LeW等设计一个有效的图摘要提取算法,从RDF数据图中根据类型提取RDF数据结构的摘 ...
【技术保护点】
一种基于Storm的RDF流式数据关键词实时搜索方法,其特征在于:包括Storm实时处理、Redis分布式存储和Storm实时查询;所述Storm实时处理的具体内容为:Storm的Spout组件接收并处理RDF本体和实例数据文件流,将处理后的RDF本体和实例数据文件流分布式存储至Redis哈希表中;所述Storm实时查询的具体内容为:客户端发送实时查询请求,服务端接收客户端的查询请求后,先检查查询缓存中是否已存在该查询请求的查询结果,若存在,则复用缓存历史查询结果,执行增量更新查询算法,返回查询结果;若不存在,则服务端对查询请求进行实时计算,并返回查询结果。
【技术特征摘要】
1.一种基于Storm的RDF流式数据关键词实时搜索方法,其特征在于:包括Storm实时处理、Redis分布式存储和Storm实时查询;所述Storm实时处理的具体内容为:Storm的Spout组件接收并处理RDF本体和实例数据文件流,将处理后的RDF本体和实例数据文件流分布式存储至Redis哈希表中;所述Storm实时查询的具体内容为:客户端发送实时查询请求,服务端接收客户端的查询请求后,先检查查询缓存中是否已存在该查询请求的查询结果,若存在,则复用缓存历史查询结果,执行增量更新查询算法,返回查询结果;若不存在,则服务端对查询请求进行实时计算,并返回查询结果。2.根据权利要求1所述的基于Storm的RDF流式数据关键词实时搜索方法,其特征在于:对所述RDF本体的处理过程为:OWLSpout组件解析RDF本体文件,为每个类和属性分别构建类五元组和属性五元组,用命名为Class_Tuple的哈希表存储类五元组,用命名为Property_Tuple的哈希表存储属性五元组信息。3.根据权利要求2所述的基于Storm的RDF流式数据关键词实时搜索方法,其特征在于:所述用命名为Class_Tuple的哈希表的存储结构为:Class_Tuple={C1,C2,…,Ci,…,Cn},Ci={“Rc”:[],”Dc”:[],“ParentClass”:[],“SubClass”:[]}。4.根据权利要求2所述的基于Storm的RDF流式数据关键词实时搜索方法,其特征在于:所述用命名为Property_Tuple的哈希表的存储结构为:Property_Tuple={OP1,OP2,…,OPi,…,OPn},OPi={“Domain”:[],”Range”:[],“ParentProperty”:[],“SubPropety”:[]}。5.根据权利要求1所述的基于Storm的RDF流式数据关键词实时搜索方法,其特征在于:对所述实例数据文件流的处理过程为:解析数据内容和统一数据格式,将xml或三元组格式的RDF实例输数据,按三元组中主语所属类别、属性和宾语所属类别进行分类处理,统一以<s,p,o>三元组格式存入命名为<类-属性-类>的哈希表;同时创建实例-类映射索引表Instance_Type和文本-类映射索引表Literal_Type,记录实例或文本与类之间的对应关系,以便快速定位查询关键词关联的类。6.根据权利要求1所述的基...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。