Neptune SPARQLexplain运营商 - Amazon Neptune
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

Neptune SPARQLexplain运营商

以下部分介绍 SPARQL 的运算符和参数。explainAmazon Neptune 目前可用的功能。

重要

SPARQL explain 功能仍在不断优化中。此处记录的运算符和参数可能会在未来版本中发生更改。

Aggregation 运算符

执行一个或多个聚合,同时实现 SPARQL 聚合运算符(如 countmaxminsum 等)的语义。

Aggregation 带有使用 groupBy 子句的可选分组和可选 having 约束。

Arguments

  • groupBy— (可选) 提供groupBy子句,该子句指定将传入解的分组依据的表达式顺序。

  • aggregates— (必需) 指定聚合表达式的排序列表。

  • having— (可选) 添加约束以对组进行筛选,如havingSPARQL 查询中的子句。

ConditionalRouting 运算符

根据某个给定条件路由传入解。满足该条件的解将会路由到 Out #1 引用的运算符 ID,而未满足该条件的解将不会路由到 Out #2 引用的运算符。

Arguments

  • condition— (必需) 路由条件。

Copy 运算符

根据指定模式指定的方式委派解流。

Modes

  • forward— 将解转发到由标识的下游运算符Out #1.

  • duplicate— 复制解决方案并将其转发至由以下标识的两个运算符中的每一个。Out #1Out #2.

Copy 没有任何参数。

DFENode 运算符

此运算符是由 DFE 替代查询引擎运行的计划的抽象。该运营商的论点中概述了详细的 DFE 计划。该参数目前已超载,以包含 DFE 计划的详细运行时统计信息。它包含 DFE 执行查询的各个步骤所花费的时间。

DFE 查询计划的逻辑优化抽象语法树 (AST) 打印出来了有关规划时考虑的运算符类型以及运行运算符的相关最佳和最坏情况成本的信息。目前 AST 由以下类型的节点组成:

  • DFEJoinGroupNode— 表示一个或多个的连接DFEPatternNodes.

  • DFEPatternNode— 封装底层模式,使用该模式将匹配的元组从底层数据库中投影出来。

该子节,Statistics & Operator histogram,包含有关执行时间的详细信息。DataflowOp计划以及每个操作员使用的 CPU 时间细分。下面有一个表格,它打印了 DFE 执行的计划的详细运行时统计信息。

注意

由于 DFE 是在实验室模式下发布的实验功能,所以它的确切格式explain输出可能会改变。

Distinct 运算符

计算变量子集上的不同投影,从而消除重复项。因此,流入的解的数量大于或等于流出的解的数量。

Arguments

  • vars— (必需) 要将其应用于的变量Distinct投影。

Federation 运算符

将指定的查询传递到指定的远程 SPARQL 终端节点。

Arguments

  • endpoint— (必需) SPARQL 中的终端节点 URLSERVICE网页。这可以是常量字符串,或者如果查询终端节点是基于相同查询中的变量确定的,这也可以是变量名。

  • query— (必需) 要发送到远程终端节点的重构查询字符串。即使客户端未指定任何前缀,引擎也会向该查询添加默认前缀。

  • silent— (必需) 一个布尔值,指示是否SILENT关键字出现在关键字之后。SILENT即使远程设备也不要使整个查询失败。SERVICE部分失败。

Filter 运算符

筛选传入解。只有这些满足筛选条件的解才会转发至上游运算符,而所有其他解将被删除。

Arguments

  • condition— (必需) 筛选条件。

HashIndexBuild 运算符

将绑定和假脱机的列表置于其名称由 solutionSet 参数定义的哈希索引中。通常情况下,后续运算符将针对此解集(根据名称引用)执行联接。

Arguments

  • solutionSet— (必需) 哈希索引解的名称。

  • sourceType— (必需) 从中获取要存储在哈希索引中的绑定的源的类型:

    • pipeline— 将来自运算符管道中的下游运算符的传入解假脱机到哈希索引中。

    • binding set— 假脱机指定的固定绑定集。sourceBindingSet参数到哈希索引中。

  • sourceBindingSet— (可选) 如果sourceType参数值是binding set,此参数指定要假脱机到哈希索引中的静态绑定集。

HashIndexJoin 运算符

将传入解与由 solutionSet 参数标识的哈希索引解集进行联接。

Arguments

  • solutionSet— (必需) 要进行联接的解集的名称。这必须是已在之前某一步中使用 HashIndexBuild 运算符构建的哈希索引。

  • joinType— (必需) 要执行的联接的类型:

    • join— 一个常规联接,要求所有共享变量之间的完全匹配。

    • optional— 一optional加入该联接使用 SPARQLOPTIONAL运算符语义。

    • minus— Aminus运算使用 SPARQL 保留不存在任何联接合作伙伴的映射MINUS运算符语义。

    • existence check— 检查是否有联接合作伙伴,并绑定existenceCheckResultVar变量为此检查的结果。

  • constraints— (可选) 联接期间要考虑的其他联接约束。不满足这些约束的联接将被丢弃。

  • existenceCheckResultVar— (可选) 仅用于在哪里的连接joinType等于existence check(请参阅joinType早些时候的论点)。

MergeJoin 运算符

针对多个解集的合并联接,由 solutionSets 参数标识。

Arguments

  • solutionSets— (必需)该解决方案将联接在一起。

NamedSubquery 运算符

触发由 subQuery 参数标识的子查询的评估并将结果假脱机到由 solutionSet 参数指定的解集中。该运算符的传入解将转发至子查询,然后转发至下一个运算符。

Arguments

  • subQuery— (必需) 要评估的子查询的名称。子查询将在输出中明确显示。

  • solutionSet— (必需) 要在其中存储子查询结果的名称。

PipelineJoin 运算符

接收上一个运算符的输出作为输入并将它与 pattern 参数定义的元组模式进行联接。

Arguments

  • pattern— (必需) 采用主-谓-对象的形式且可选择采用作为联接的基础的图元组形式的模式。如果为该模式指定 distinct,联接将仅从由 projectionVars 参数指定的投影变量中提取不同的解,而不是所有匹配的解。

  • inlineFilters— (可选) 要应用于模式中的变量的一组筛选条件。将结合这些筛选条件对模式进行评估。

  • joinType— (必需) 要执行的联接的类型:

    • join— 一个常规联接,要求所有共享变量之间的完全匹配。

    • optional— 一optional加入该联接使用 SPARQLOPTIONAL运算符语义。

    • minus— Aminus运算使用 SPARQL 保留不存在任何联接合作伙伴的映射MINUS运算符语义。

    • existence check— 检查是否有联接合作伙伴,并绑定existenceCheckResultVar变量为此检查的结果。

  • constraints— (可选) 联接期间要考虑的其他联接约束。不满足这些约束的联接将被丢弃。

  • projectionVars— (可选) 投影变量。与 distinct := true 结合使用以强制提取某指定变量集中的不同投影。

  • cutoffLimit— (可选)提取的联接合作伙伴的数量的截止限制。尽管默认情况下没有任何限制,但您可以在执行联接时将此值设置为 1 以实施 FILTER (NOT) EXISTS 子句,这样可足以证明或反证是否有联接合作伙伴。

PipelineCountJoin 运算符

PipelineJoin 的变体。它仅对匹配的联接合作伙伴进行计数并将计数绑定到由 countVar 参数指定的变量,而不是进行联接。

Arguments

  • countVar— (必需) 应将计数结果(即联接合作伙伴的数量)绑定到的变量。

  • pattern— (必需) 采用主-谓-对象的形式且可选择采用作为联接的基础的图元组形式的模式。如果为该模式指定 distinct,联接将仅从由 projectionVars 参数指定的投影变量中提取不同的解,而不是所有匹配的解。

  • inlineFilters— (可选) 要应用于模式中的变量的一组筛选条件。将结合这些筛选条件对模式进行评估。

  • joinType— (必需) 要执行的联接的类型:

    • join— 一个常规联接,要求所有共享变量之间的完全匹配。

    • optional— 一optional加入该联接使用 SPARQLOPTIONAL运算符语义。

    • minus— Aminus运算使用 SPARQL 保留不存在任何联接合作伙伴的映射MINUS运算符语义。

    • existence check— 检查是否有联接合作伙伴,并绑定existenceCheckResultVar变量为此检查的结果。

  • constraints— (可选) 联接期间要考虑的其他联接约束。不满足这些约束的联接将被丢弃。

  • projectionVars— (可选) 投影变量。与 distinct := true 结合使用以强制提取某指定变量集中的不同投影。

  • cutoffLimit— (可选)提取的联接合作伙伴的数量的截止限制。尽管默认情况下没有任何限制,但您可以在执行联接时将此值设置为 1 以实施 FILTER (NOT) EXISTS 子句,这样可足以证明或反证是否有联接合作伙伴。

Projection 运算符

针对变量子集投影。流入的解数量等于流出的解数量,但解的形状有所不同,具体取决于模式设置。

Modes

  • retain— 仅保留解中由vars参数。

  • drop— 删除由vars参数。

Arguments

  • vars— (必需) 要保留或删除的变量(取决于模式设置)。

PropertyPath 运算符

启用递归属性路径,例如+要么*. Neptune 基于由iterationTemplate参数。已知的左侧或右侧变量将在每次固定点迭代中绑定到模板中,直到再也找不到新解。

Arguments

  • iterationTemplate— (必需) 用于实施定点迭代的子查询模板的名称。

  • leftTerm— (必需) 属性路径左侧的术语(变量或常量)。

  • rightTerm— (必需) 属性路径右侧的术语(变量或常量)。

  • lowerBound— (必需) 定点迭代的下限(任何一个)0为了*查询,或1为了+查询)。

TermResolution 运算符

将内部字符串标识符值转换回其相应的外部字符串,或将外部字符串转换为内部字符串标识符值,具体取决于模式。

Modes

  • value2id— 将文本和 URI 等术语映射到相应的内部 ID 值(编码为内部值)。

  • id2value— 将内部 ID 值映射到相应的术语(如文本和 URI)(解码为内部值)。

Arguments

  • vars— (必需) 指定其字符串或内部字符串 ID 应进行映射的变量。

Slice 运算符

在传入解流中使用 SPARQL 的 LIMITOFFSET 子句的语义实施切片。

Arguments

  • limit— (可选) 要转发的解的限制。

  • offset— (可选) 用于评估解的转发的偏移。

SolutionInjection 运算符

未接收输入。将解静态注入查询计划中并将其记录在 solutions 参数中。

查询计划始终以此静态注入开始。如果要注入的静态解可通过组合各种来源的静态绑定(例如,来自 VALUESBIND 子句)从查询本身进行派生,则 SolutionInjection 运算符将注入这些派生的静态解。在最简单的情况下,这些反映了外部 VALUES 子句所隐含的绑定。

如果没有任何静态解可从查询派生,SolutionInjection 将注入空的所谓的通用解,它将在整个查询-评估过程中进行扩展和增加。

Arguments

  • solutions— (必需) 运算符注入的解的序列。

Sort 运算符

使用指定的排序条件对解集排序。

Arguments

  • sortOrder— (必需) 变量的有序列表,每个变量都包含ASC(升序)或DESC(降序)标识符,用于对解集排序。

VariableAlignment 运算符

逐个检查解,同时对两个变量中的每个变量执行对齐:指定的 sourceVar 和指定的 targetVar

如果解中的 sourceVartargetVar 具有相同的值,则这些变量将被视为对齐并将转发解,同时会投影出多余的 sourceVar

如果这些变量绑定到不同的值,则将完全筛选出该解。

Arguments

  • sourceVar— (必需) 要与目标变量比较的源变量。如果解中的对齐成功,则表示这两个变量具有相同的值,将投影出源变量。

  • targetVar— (必需) 与源变量进行比较的目标变量。即使在对齐成功时也将保留。