前页 后页

设置加入

相交

相交(左:设置,右:设置)

“相交”联接将返回一个集合,其中包含左右集合中同时存在的所有节点。此联接相当于按位与运算。在集合论中,这种连接称为“交集”。

{1,2,3}与{2,3,4}相交的结果是{2,3}

本示例返回一个集合,该集合包含具有单个属性的所有节点,这些属性的名称为“ TYPE”,值为“ int”。

   相交(

getByValue(“ int”),

getByName(“ TYPE”)

联盟

union(左:设置,右:设置[,右:设置])

“联合”联接返回一个集合,其中包括在左侧或右侧集合中找到的所有节点。此联接用于将两个或多个子查询的结果合并为一个集合。 “联合”联接类似于逻辑“或”运算。在集合论中,“联合”联接称为联合。

“联合”联接可以在两个以上的集合上运行。结果是一个集合,其中包含所有提供的集合中的所有节点。 “联合”联接是唯一能够在两个以上集合上进行操作的联接。

“联合”联接的结果始终是离散集,除非其中一个源集包含重复项。这意味着将保留源集中的重复项,但是“联合”联接本身不会生成重复项。

与{2,3,4}结合的{1,2,3}得出{1,2,3,4}

该示例创建了一个集合,其中包含具有名为“ TYPE”的属性的所有节点或具有值为“ int”的单个属性。

     联盟(

getByValue(“ int”),

getByName(“ TYPE”)

除了(左:设置,右:设置)

“ except”联接返回集,其中包含两个集合中未出现的任何节点。此联接类似于按位XOR操作。在集合论中,这种连接称为“对称差异”连接。

{1,2,3}除{2,3,4}以外的结果为{1,4}

有关“对称差异”加入集合理论的更多信息,请参见http://en.wikipedia.org/wiki/Symmetric_difference

此示例返回一组所有具有名为“ TYPE”的属性但没有单个属性值为“ int”的节点,以及所有具有未命名为“ TYPE”的属性为“ int”的节点。

除(

getByValue(“ int”),

getByName(“ TYPE”)

排除

排除(左:设置,右:设置)

“排除”联接返回一个集合,该集合包含左集合中未出现在右集合中的所有节点。在集合论中,这种连接称为相对互补连接。

{1、2、3}与{2、3、4}互补,得到{1}

此示例返回一组所有值为“ int”的节点,这些节点不是“ TYPE”节点:

排除(

getByValue(“ int”),

getByName(“ TYPE”)

偏移相交

offsetIntersect(count:数字,左:设置,右:设置)

offsetIntersect(值:字符串,左:设置,右:设置)

offsetIntersect(count:数字,value:字符串,left:设置,right:设置)

offsetIntersect函数可在一次操作中执行无损树遍历和相交联接。根据提供的参数遍历左侧集合中的每个节点,然后将遍历的结果与右侧集合相交。如果相交通过,则将原始节点添加到结果集中。如果相交失败,则从结果集中排除该节点。

offsetIntersect的遍历参数与“ move”和“ filter”相同。有关遍历参数的更多信息,请参见“ 设置遍历帮助”主题中描述的“移动”功能。

此示例获取所有“ NAME”节点,将其遍历为一个父节点,然后与一组所有“ CLASS”节点相交。如果“ NAME”节点同时通过遍历和相交,则将其添加到结果集中。结果是一组所有“ NAME”节点,其直接父级是“ CLASS”节点。

offsetIntesect(1,

getByNode(“ NAME”),

getByNode(“ CLASS”)