前页 | 后页 |
设置加入
相交
相交(左:设置,右:设置)
“相交”联接将返回一个集合,其中包含左右集合中同时存在的所有节点。此联接相当于按位与运算。在集合论中,这种连接称为“交集”。
{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”)
)