使用多个引擎来进行图查询处理的制作方法_2

文档序号:9457675阅读:来源:国知局
分地由图片段100来进行建模的书目网络数据集的图数据库的用户 可将可包括多个查询分量的复杂图查询提交给数据库。现在将描述例示该情况的各图查询 场景。
[0040] 再次参考图1,用户可提交寻求找到两个作者X和Y的名称的图查询,其中X和Y 通过任何长度的路径(任何数目的边)连接,作者X隶属于新南威尔士大学(UNSW),作者Y 隶属于微软,并且这两个作者都在2012年的超大型数据库会议(VLDB'12)上发表了论文。 将领会,该特定图查询包括模式匹配分量和可达性分量。用户还可提交寻求找到两个作者X 和Y的名称的图查询,其中X和Y通过任何长度的路径连接,作者X隶属于UNSW,作者Y隶 属于微软,这两个作者都在VLDB'12作为第一作者(例如,114)发表了论文,并且这两个作 者都具有大于或等于35岁的年龄。将领会,该特定图查询包括模式匹配分量和可达性分量 两者,其中模式匹配分量对图片段100中的节点和边的属性有条件。
[0041] 再次参考图1,用户还可提交寻求找到两个作者X和Y的名称以及其间的连接路径 的图查询,其中X和Y通过具有小于或等于三条边的长度的路径连接,作者X隶属于UNSW, 作者Y隶属于微软,并且这两个作者都在VLDB' 12作为第一作者(例如,114)发表了论文。 将领会,该特定图查询包括模式匹配分量和可达性分量两者,其中可达性分量受路径过滤 条件约束并将指定连接路径的数据作为该图查询结果的一部分来返回。
[0042] 再次参考图1,用户还可提交寻求找到两个作者X和Y的名称和年龄以及其间 的最短路径的图查询,其中作者X隶属于UNSW,作者Y隶属于微软,并且这两个作者都在 VLDB' 12发表了论文。将领会,该特定图查询包括模式匹配分量和最短路径分量两者。用户 还可提供寻址找到两篇论文P1和P2的标题以及其间的路径的图查询,其中路径中的每一 条边表示"被引用(citedby)"关系,最大路径长度是三条边,P1的第一作者隶属于UNSW, 且P2的第一作者隶属于微软。将领会,该特定图查询包括模式匹配分量和受约束可达性分 量两者,其中模式匹配分量对图片段100中的边的属性有条件。
[0043] 将领会,前述图查询场景是示例性的,并且各种其他场景也是可能的。
[0044] L2G-SPARQL图查询语言和支持的查询类型
[0045] 这一节描述用于查询属性图的图查询语言(在本文中被称为 图-SPARQL(G-SPARQL))的示例性实施例。出于包括但不限于以下的各种原因,G-SPARQL是 有益的。如将从后面的更详细描述中领会的,G-SPARQL支持允许在其中编程者具有很少或 没有关于底层的属性图的特性的知识的情况下对图查询处理的效率进行优化的声明性查 询编程接口。G-SPARQL还能够表达关于属性图中的任意路径结构的图查询。由此并如此前 所述,G-SPARQL支持包括多个不同类型的查询分量(诸如,模式匹配分量、可达性分量和最 短路径分量、以及其他、以及其任何组合)的复杂图查询。G-SPARQL还有充分的表达力来满 足各种各样的用户查询需求。G-SPARQL中的句法表达式也是清楚且简明的。
[0046] 图2示出了G-SPARQL的句法。如图2中所例示的,非终止查询定义G-SPARQL查 询并且是该语法的开始符号。此后更详细描述了G-SPARQL的句法和语义。
[0047] 如图数据库领域中所领会的,常规的资源描述框架(RDF)是定义用于对在web资 源中实现的数据对象进行建模的数据格式的万维网联盟(W3C)规范族。在RDF数据模型 (本文中有时被简称为RDF图)中,指定主语、谓语和宾语的表达式可用于形成与RDF图中 的资源有关的语句。这样的表达式在RDF术语集中被称为的三元组(或三元组模式),并且 将在此后被更详细地描述。
[0048] -般来说,RDF图数据模型可被认为是属性图数据模型的变型。RDF和属性图数据 模型之间的一个区别如下。在RDF图中,图中的边不可能标记有描述这些边的属性(只RDF 图中的节点可标记有属性)。相反并且如此后所描述的,在属性图中,图中的节点和边两者 都可标记有任意属性集。RDF和属性图数据模型之间的另一个区别如下。在RDF图中,图中 的边被用来表示图中的数据(例如,RDF图中的各节点的属性)以及该图的各节点之间存 在的结构关系(例如,RDF图的拓扑结构)两者。RDF图中的边通过将各节点连接到其属性 来表示该图中的数据。因此,RDF图中的数据被表示成图拓扑结构的一部分,其导致图拓扑 结构的大小显著增加。相反并如此后所描述的,在属性图中,图中的数据(例如,图中的各 节点和边的属性)与图的拓扑结构分开表示。
[0049] 如数据库查询语言的领域中所领会的,SPARQL(SPARQL协议和RDF查询语言的递 归缩写)是用于查询由一个或多个RDF图来建模的图数据库的工业标准查询语言。SPARQL 是由W3C制定的工业标准。
[0050] 1. 2. 1使用G-SPARQL来查询节点和边的属性
[0051] SPARQL采用允许将变量绑定到正被查询的RDF图中的分量的强有力图模式匹配 工具。给定的SPARQL查询定义针对RDF图G来匹配的图模式P,其中P中的每一个变量均 被G的匹配元素替换使得得到的图模式被包括在G(例如,图模式匹配)中。在图数据库领 域中,构建P的主要结构被称为三元组模式。三元组模式表示前述RDF三元组(主语、谓语、 宾语)。三元组模式的主语表示G中的实体示例(例如,节点)。三元组模式中的谓语表示 G中到宾语的连接(例如,边),其中该宾语可表示G中的另一实体示例(例如,另一节点) 或G中的属性。主语、谓语和宾语可各自表示常数值或变量(在本文中被表示为?var(变 量))。因此,通过AND(.)运算符串接的不同三元组模式的集合可用于表示SPARQL查询的 期望图模式。以下是寻求找到隶属于(affiliatedat)UNSW并且年龄(age)至少42岁的 所有人的示例性SPARQL查询:
[0052] SELECT?X
[0053] WHERE{?XaffiliatedAtUNSff?Xage?age.
[0054] FILTER(?age> = 42)}
[0055] G-SPARQL是可用于查询属性图的SPARQL类图查询语言。G-SPARQL采用SPARQL 的通用图模式匹配工具,但还以包括但不限于以下的各种方式来增强SPARQL。如将从后面 的更详细描述中领会的,G-SPARQL引入了还查询刚刚描述的RDF和属性图数据模型之间的 区别的新结构。G-SPARQL支持对属性图中定义的结构模式的查询,并且允许指定对作为该 模式的一部分的节点和/或边的属性的过滤条件。G-SPARQL还支持对连接属性图中的节 点的定义的路径的查询,其中该定义的路径可具有未知的长度。更具体的,G-SPARQL允许 表达节点之间的可达性和最短路径图查询,其中这样的查询可包括对定义的路径的过滤条 件(诸如,这样的查询可放置对路径长度或边和节点的类型和属性的约束)。G-SPARQL为 用于优化图查询处理的逻辑查询计划采用强有力的代数编译和重写框架。由此,G-SPARQL 可被高效地实现并且能够高效地查询属性图。
[0056] G-SPARQL能够在两个不同类型的查询谓语(即,结构谓语和基于值的谓语)的表 示之间进行区分。如此后将更消息描述的,结构谓语指定关于属性图中的各节点之间的结 构关系的条件,其中三元组模式的主语和宾语指定节点,并且三元组模式的谓语指定边。基 于值的谓语指定关于属性图中的属性的值的条件,其中三元组模式的主语指定节点或边, 三元组模式的谓语指定属性名,并且三元组模式的宾语指定属性值。
[0057] G-SPARQL的句法按以下方式将基于值的谓语与结构谓语区分开。在三元组模式的 谓语部分表示基于值的谓语时,G-SPARQL在该谓语部分的前面加上符号@(不在结构谓语 的前面加上该符号)。以下是示出基于值的谓语和结构谓语之间的这一区别的两个示例性 三元组模式:
[0058] T1-> ?PersonaffiliatedByUNSff〇
[0059] T2-> ?PersonOage42
[0060] 三元组模式T1表示指定由变量?Person(人)表示的节点被通过 affiliatedBy(隶属于)边连接到标记有值UNSW的属性的节点的结构谓语。相反,三元组 模式T2表示其中指定由变量?Person表示的节点标记有具有值42的年龄属性的条件的 基于值的谓语。
[0061] 与RDF图数据模型不同,属性图数据模型允许属性图中的每一条边都标记有任何 一个或多个属性的集合。因此,G-SPARQL能够在两个不同类型的基于值的谓语(S卩,节点 谓语和边谓语)的表示之间进行区分。节点谓语指定关于属性图中的节点的属性的条件。 边谓语指定关于属性图中的边的属性的条件。G-SPARQL使用标准三元组模式来表示基于值 的谓语。G-SPARQL可将变量分配给将用更多谓语来进行限定的边。以下是示出关于节点和 边属性的谓语的两个示例性三元组模式:
[0062] T3_> ?Person?E(affiliatedBy)UNSW〇
[0063] T4-> ?E@Role"Professor"〇
[0064] T2-> ?PersoniofficeNumber518〇
[0065] 三元组模式T3表示其中指定其中由变量?Person表示的节点通过 affiliatedBy(隶属于)关系连接到标记有具有值UNSW的属性的节点的条件的结构谓 语。affiliatedBy边具有被称为Role(角色)的属性。因此,三元组模式T4表示指定 其中affiliatedBy关系的Role属性(其中该边表示该关系被绑定到变量?E)具有值 Professor(教授)的条件的边谓语。Person节点具有被称为officeNumber(工号)的属 性。三元组模式T5表示指定其中Person(人)标记有具有值518的officeNumber属性的 条件的节点谓语。
[0066] 1. 2. 2使用S-SPARQL来查询路径模式
[0067] G-SPARQL以两种主要方式来支持表达任意长度路径和路径模式的能力。第一种方 式是通过使用显式关系。以下是示出这种显式关系使用的两个示例性三元组模式:
[0068] T6一>?Personknows+John〇
[0069] T7一> ?Personknows+ ?X〇
[0070] 三元组模式T6表示指示验证被分配?Person的节点通过knows(认识)边的任 何路径被连接到标记了John的节点的可达性测试条件的结构谓语。符号+指示该路径可 具有大于1的长度,其中该路径中的每一边都需要表示knows关系。三元组模式T7将可通 过knows边的所有路径从变量?Person所表示的节点到达的全部节点都分配给变量?X。
[0071] G-SPARQL支持表达任意长度路径和路径模式的能力的第二种方式是通过在三元 组模式的谓语部分中允许路径变量。更具体地,G-SPARQL支持用于以路径模式来绑定各路 径变量的各个选项。以下是示出这些选项的四个示例性三元组模式:
[0072] T8_>subject??Pobject。
[0073] T9_>subject?*Pobject。
[0074] T10_>subject??P(predicate) object。
[0075] Tll_>subject?*P(predicate) object。
[0076] 三元组模式T8将路径变量??P绑定到subject(主语)节点和object(宾语) 节点之间的连接路径。符号??指定subject节点和object节点之间的匹配路径可具有任 何任意长度。在三元组模式T9中,符号? *指定将使变量??P与subject节点和object节点之间的最短路径匹配。三元组模式T10确保匹配路径中的每一边都表示指定的关系 predicate(谓语)。类似地,三元组模式T11确保匹配的最短路径中的每一边都表示关系 predicate(谓语)。
[0077] -般来说,将领会,属性图中的任何两个节点可通过多个不同的路径连接。因 此,G-SPARQL允许关于被绑定到路径变量的匹配路径的节点和边的、可指定Boolean(布 尔)谓语的过滤条件的表达式。更具体地,G-SPARQL支持关于匹配路径的节点和边的各 种过滤条件,包括但不限于,Length(PV,
当前第2页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1