专利名称:基于语义的数据查询装置和基于语义的数据查询方法
技术领域:
本发明涉及计算机技术领域,具体而言涉及基于语义的数据查询装置和基于语义的数据查询方法。
背景技术:
企业的业务人员或决策人员对业务信息系统进行报表查询分析的时候,在明确分析指标的前提下,需要基于业务系统的数据构建出查询模型,然后执行取数进行分析。在查询模型构建的过程中,往往会遇到以下几种困难和挑战I.由于企业信息化是一个长期过程,其中数据的存储方式,数据结构往往前后差异较大。例如对于同一张人员信息记录表,前后可能分别存储在格式化文件和关系数据库中;对于同一名称列,前后可能分别被定义为mingcheng和name等。不同的数据来源和数据定义,这些数据入口不一致的情况对构建查询分析造成了不少困难。2.即便对数据入口进行了统一,但是在面对物理数据结构相关技术性很强的概念和理解数据结构与业务实体关联关系时,对大部分使用者来说都是一个挑战。3.各次的查询分析整体上看都是离散的,不同的查询分析之间很难为彼此提供直接的知识。例如,一次查询中所建立的实体关联关系很难为下一次涉及到相关实体查询建模时所用。面对查询建模中的问题,现有的解决思路大体是通过数据的转换存储到关系数据库来解决数据的不一致性,通过在建模过程中利用查询语句把物理数据映射转译为具有业务意义别名,从而完成查询模型的创建。这种实现方式的不足之处在于针对不同数据来源进行数据抓取具有技术实现上的复杂性,而对于查询建模所面向的业务逻辑来讲,并不需要关心这些。另外由于直接针对物理数据进行查询设计,很难使其具有查询设计者的专业业务背景,这样会造成在使用上的歧义和困难;而且在创建新的查询模型时,很难对已有的查询模型进行利用,查询模型之间很难达成知识的共享。因此,需要一种新的数据查询的方案,可以屏蔽底层数据的差异性。
发明内容
基于上述背景技术的考虑,本发明的一个目的是提供一种基于语义的数据查询装置,本发明的另一目的是提供一种基于语义的数据查询方法,以降低查询建模的难度,提高建模效率,同时又易于扩展。根据本发明的一个方面,提供了一种基于语义的数据查询装置,包括获取单元, 获取数据源的语义元数据作为查询语义元数据;语义数据关联单元,根据配置规则生成与所述语义元数据相关联的关联关系,基于所述关联关系和所述语义元数据的数据结构查找出与获取的语义元数据相关联的语义元数据;构建单元,将多个所述语义元数据之间的关联关系构建成语义关联关系树;以及查询单元,从所述构建单元构建的所述语义关联关系树上选取查询字段,根据所述查询字段在所述语义关系树上的路径关系构建查询表达式,从而实现数据的查询。在该技术方案中,以元数据为媒介,将现实业务与数据源对应起来, 屏蔽了数据源的差异性,避免了使用者在使用时需要接触各种不同数据结构所带来的困难,降低了查询建模的难度,提高了系统的效率。在上述技术方案中,优选地,基于语义的数据查询装置,还包括元数据驱动器,用于建立数据源到所述语义元数据之间的映射关系,不同类型的所述数据源与不同的元数据驱动器一一对应。在该技术方案中,通过建立数据源与元数据的对应,可以将不同类数据结构中的表示同一种实体业务的数据进行统一,避免了使用者在使用时需要接触各种不同数据结构所带来的困难,提高了系统的效率,此外,每个元数据都可以定位到相应的数据驱动其来完成相应的操作。另外,可以提供数据驱动的扩展接口,如果需要增加新的外部数据源,则只需要实现对应的数据驱动即可。在上述技术方案中,优选地,所述查询单元根据所述查询表达式调用相应的元数据驱动器,在与所述元数据驱动器对应的数据源中进行取数,以加载查询数据。在该技术方案中,通过选择实体业务内容就可以实现对不同数据结构中的源数据进行查询,而不需要用户直接面对不同的数据结构,大大方便了用户的使用。在上述技术方案中,优选地,所述构建单元将所述获取的语义元数据作为所述语义关联关系树上的第一级节点,将与所述获取的语义元数据相关联的语义元数据作为所述语义关联关系树上的第二级节点。在该技术方案中,通过建立语义关联关系树,保证了数据查询模型的可扩展性。在上述技术方案中,优选地,所述的基于语义的数据查询装置,还包括自定义单元,对所述获取的语义元数据自定义关联关系,选择需建立关联关系的多个语义元数据,触发关联知识挖掘,以生成所述自定义关联关系。在该技术方案中,用户可以根据需要进行自定义关联关系,而且通过关联知识挖掘,有助于特定领域的建模分析,提高了建模效率。根据本发明的另一个方面,还提供了一种基于语义的数据查询方法,包括步骤 202,获取数据源的语义元数据作为查询语义元数据;步骤204,根据配置规则生成与所述语义元数据相关联的关联关系,基于所述关联关系和所述语义元数据的数据结构查找出与获取的语义元数据相关联的语义元数据;步骤206,将多个所述语义元数据之间的关联关系构建成语义关联关系树,从所述语义关联关系树上选取查询字段,根据所述查询字段在所述语义关系树上的路径关系构建查询表达式,从而实现数据的查询。在该技术方案中,以元数据为媒介,将现实业务与数据源对应起来,屏蔽了数据源的差异性,避免了使用者在使用时需要接触各种不同数据结构所带来的困难,降低了查询建模的难度,提高了系统的效率。在上述技术方案中,优选地,所述的基于语义的数据查询方法,还包括,建立数据源到所述语义元数据之间的映射关系,不同类型的所述数据源与不同的元数据驱动一一对应。在该技术方案中,通过建立数据源与元数据的对应,可以将不同类数据结构中的表示同一种实体业务的数据进行统一,避免了使用者在使用时需要接触各种不同数据结构所带来的困难,提高了系统的效率。在上述技术方案中,优选地,所述步骤206还包括根据所述查询表达式调用相应的元数据驱动,在与所述元数据驱动对应的数据源中进行取数,以加载查询数据。在该技术方案中,通过选择实体业务内容就可以实现对不同数据结构中的源数据进行查询,而不需要用户直接面对不同的数据结构,大大方便了用户的使用。在上述技术方案中,优选地,所述的基于语义的数据查询方法,还包括,将所述获取的语义元数据作为所述语义关联关系树上的第一级节点,将与所述获取的语义元数据相关联的语义元数据作为所述语义关联关系树上的第二级节点。在该技术方案中,通过建立语义关联关系树,保证了数据查询模型的可扩展性。在上述技术方案中,优选地,所述的基于语义的数据查询方法,还包括,对所述获取的语义元数据自定义关联关系,选择需建立关联关系的多个语义元数据,触发关联知识挖掘,以生成所述自定义关联关系。在该技术方案中,用户可以根据需要进行自定义关联关系,而且通过关联知识挖掘,有助于特定领域的建模分析,提高了建模效率。综上所述,通过本发明中的技术方案,实现了以元数据为媒介,将现实业务与数据源对应起来,屏蔽了数据源的差异性,避免了使用者在使用时需要接触各种不同数据结构所带来的困难,降低了查询建模的难度,提高了系统的效率;通过建立语义关联关系树,保证了数据查询模型的可扩展性;另外,用户可以根据需要进行自定义关联关系,而且通过关联知识挖掘,有助于特定领域的建模分析,提高了建模效率。
图I是根据本发明一个实施例的基于语义的数据查询装置的框图;图2是根据本发明一个实施例的基于语义的数据查询方法的流程图;图3是根据本发明一个实施例的基于语义的数据查询装置的框架示意图;图4是根据本发明一个实施例的元数据驱动器与数据源的关系示意图;图5是根据本发明一个实施例的建立语义元数据关联关系的示意图;图6是根据本发明一个实施例的语义元数据实体之间的关联关系示意图;图7是根据本发明一个实施例的查询数据的流程图;图8是根据本发明一个实施例的基于语义的数据查询装置的应用场景的截图;图9是根据图8的应用场景实现了元数据关联关系的示意图。
具体实施例方式为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式
对本发明进行进一步的详细描述。在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明并不限于下面公开的具体实施例的限制。以下是一些专业术语解释语义,业务语义即对象所具有的特定专业领域的具体含义。例如一个名为extl 的数据库字段,可以看成公司编码也可以被看成是客商编码,可以说其在公司管理和销售管理中具有不同的语义。元数据即对数据的结构和意义进行描述的数据,在本发明的实施例中,元数据可以理解为在某一特定领域的语义化的数据。图I是根据本发明一个实施例的基于语义的数据查询装置的框图。
如图I所示,根据本发明的实施例的基于语义的数据查询装置100,包括获取单元102,获取数据源的语义元数据作为查询语义元数据;语义数据关联单元104,根据配置规则生成与语义元数据相关联的关联关系,基于关联关系和语义元数据的数据结构查找出与获取的语义元数据相关联的语义元数据;构建单元106,将多个语义元数据之间的关联关系构建成语义关联关系树;以及查询单元108,从构建单元构建的语义关联关系树上选取查询字段,根据查询字段在语义关系树上的路径关系构建查询表达式,从而实现数据的查询。在该技术方案中,以元数据为媒介,将现实业务与数据源对应起来,屏蔽了数据源的差异性,避免了使用者在使用时需要接触各种不同数据结构所带来的困难,降低了查询建模的难度,提高了系统的效率。在上述技术方案中,基于语义的数据查询装置100,还包括元数据驱动器110, 用于建立数据源到语义元数据之间的映射关系,不同类型的数据源与不同的元数据驱动器一一对应。在该技术方案中,通过建立数据源与元数据的对应,可以将不同类数据结构中的表示同一种实体业务的数据进行统一,避免了使用者在使用时需要接触各种不同数据结构所带来的困难,提高了系统的效率,此外,每个元数据都可以定位到相应的数据驱动其来完成相应的操作。另外,可以提供数据驱动的扩展接口,如果需要增加新的外部数据源,则只需要实现对应的数据驱动即可。在上述技术方案中,查询单元108根据查询表达式调用相应的元数据驱动器110, 在与元数据驱动器对应的数据源中进行取数,以加载查询数据。在该技术方案中,通过选择实体业务内容就可以实现对不同数据结构中的源数据进行查询,而不需要用户直接面对不同的数据结构,大大方便了用户的使用。在上述技术方案中,构建单元108将获取的语义元数据作为语义关联关系树上的第一级节点,将与获取的语义元数据相关联的语义元数据作为语义关联关系树上的第二级节点。在该技术方案中,通过建立语义关联关系树,保证了数据查询模型的可扩展性。在上述技术方案中,基于语义的数据查询装置100,还包括自定义单元112,对获取的语义元数据自定义关联关系,选择需建立关联关系的多个语义元数据,触发关联知识挖掘,以生成自定义关联关系。在该技术方案中,用户可以根据需要进行自定义关联关系, 而且通过关联知识挖掘,有助于特定领域的建模分析,提高了建模效率。图2是根据本发明一个实施例的基于语义的数据查询方法的流程图。根据本发明的另一个方面,还提供了一种基于语义的数据查询方法,如图2所示, 包括步骤202,获取数据源的语义元数据作为查询语义元数据;步骤204,根据配置规则生成与语义元数据相关联的关联关系,基于关联关系和语义元数据的数据结构查找出与获取的语义元数据相关联的语义元数据;步骤206,将多个语义元数据之间的关联关系构建成语义关联关系树,从语义关联关系树上选取查询字段,根据查询字段在语义关系树上的路径关系构建查询表达式,从而实现数据的查询。在该技术方案中,以元数据为媒介,将现实业务与数据源对应起来,屏蔽了数据源的差异性,避免了使用者在使用时需要接触各种不同数据结构所带来的困难,降低了查询建模的难度,提高了系统的效率。在上述技术方案中,基于语义的数据查询方法,还包括,建立数据源到语义元数据之间的映射关系,不同类型的数据源与不同的元数据驱动一一对应。在该技术方案中,通过建立数据源与元数据的对应,可以将不同类数据结构中的表示同一种实体业务的数据进行
权利要求
1.一种基于语义的数据查询装置,其特征在于,包括获取单元,获取数据源的语义元数据作为查询语义元数据;语义数据关联单元,根据配置规则生成与所述语义元数据相关联的关联关系,基于所述关联关系和所述语义元数据的数据结构查找出与获取的语义元数据相关联的语义元数据;构建单元,将多个所述语义元数据之间的关联关系构建成语义关联关系树;以及查询单元,从所述构建单元构建的所述语义关联关系树上选取查询字段,根据所述查询字段在所述语义关系树上的路径关系构建查询表达式,从而实现数据的查询。
2.根据权利要求I所述的基于语义的数据查询装置,其特征在于,还包括元数据驱动器,用于建立数据源到所述语义元数据之间的映射关系,不同类型的所述数据源与不同的元数据驱动器一一对应。
3.根据权利要求2所述的基于语义的数据查询装置,其特征在于,所述查询单元根据所述查询表达式调用相应的元数据驱动器,在与所述元数据驱动器对应的数据源中进行取数,以加载查询数据。
4.根据权利要求I所述的基于语义的数据查询装置,其特征在于,所述构建单元将所述获取的语义元数据作为所述语义关联关系树上的第一级节点,将与所述获取的语义元数据相关联的语义元数据作为所述语义关联关系树上的第二级节点。
5.根据权利要求I至4中任一项所述的基于语义的数据查询装置,其特征在于,还包括自定义单元,对所述获取的语义元数据自定义关联关系,选择需建立关联关系的多个语义元数据,触发关联知识挖掘,以生成所述自定义关联关系。
6.一种基于语义的数据查询方法,其特征在于,包括步骤202,获取数据源的语义元数据作为查询语义元数据;步骤204,根据配置规则生成与所述语义元数据相关联的关联关系,基于所述关联关系和所述语义元数据的数据结构查找出与获取的语义元数据相关联的语义元数据;步骤206,将多个所述语义元数据之间的关联关系构建成语义关联关系树,从所述语义关联关系树上选取查询字段,根据所述查询字段在所述语义关系树上的路径关系构建查询表达式,从而实现数据的查询。
7.根据权利要求6所述的基于语义的数据查询方法,其特征在于,建立数据源到所述语义元数据之间的映射关系,不同类型的所述数据源与不同的元数据驱动一一对应。
8.根据权利要求7所述的基于语义的数据查询方法,其特征在于,所述步骤206还包括根据所述查询表达式调用相应的元数据驱动,在与所述元数据驱动对应的数据源中进行取数,以加载查询数据。
9.根据权利要求6所述的基于语义的数据查询方法,其特征在于,将所述获取的语义元数据作为所述语义关联关系树上的第一级节点,将与所述获取的语义元数据相关联的语义元数据作为所述语义关联关系树上的第二级节点。
10.根据权利要求6至9中任一项所述的基于语义的数据查询方法,其特征在于,对所述获取的语义元数据自定义关联关系,选择需建立关联关系的多个语义元数据,触发关联知识挖掘,以生成所述自定义关联关系。
全文摘要
本发明提供了一种基于语义的数据查询装置,包括获取单元,获取数据源的语义元数据作为查询语义元数据;语义数据关联单元,根据配置规则生成与语义元数据相关联的关联关系,基于关联关系和语义元数据的数据结构查找出与获取的语义元数据相关联的语义元数据;构建单元,将多个语义元数据之间的关联关系构建成语义关联关系树;以及查询单元,从构建单元构建的语义关联关系树上选取查询字段,根据查询字段在语义关系树上的路径关系构建查询表达式,从而实现数据的查询。相应的,本发明还提高了一种基于语义的数据查询方法。通过该技术方案,屏蔽了底层数据的差异性,降低了查询建模的难度,提高了建模效率,同时又保证了其可扩展性。
文档编号G06F17/30GK102591952SQ20111044827
公开日2012年7月18日 申请日期2011年12月28日 优先权日2011年12月28日
发明者李长山 申请人:用友软件股份有限公司