26.10.5.6 フィルタ式の結合
サブグラフのフィルタリングに使用されるフィルタ式を他のフィルタ式と組み合せて、新しいフィルタ式を作成できます。
フィルタは、次の操作を使用して組み合せることができます。
- 交差
- 結合
2つのフィルタの交差では、両方のフィルタで受け入れられる場合にのみ、頂点またはエッジが保持されます。
ノート:
2つのフィルタの交差は、フィルタ式のAND
として動作しません。
2つのフィルタの結合では、いずれかのフィルタで受け入れられる場合に、頂点またはエッジが保持されます。
ノート:
フィルタの結合は、フィルタ式のOR
として動作しません。
次の例では、エッジ・フィルタは頂点フィルタと交差しています。作成されるサブグラフには、PGX
という名前を持つ頂点と、コストが5
より大きいエッジのみが含められます。
opg4j> var edgeFilter = EdgeFilter.fromExpression("edge.cost > 5")
opg4j> var vertexFilter = VertexFilter.fromExpression("vertex.name = 'PGX'")
opg4j> var combinedFilter = edgeFilter.intersect(vertexFilter)
EdgeFilter edgeFilter = EdgeFilter.fromExpression("edge.cost > 5");
VertexFilter vertexFilter = VertexFilter.fromExpression("vertex.name = 'PGX'");
GraphFilter combinedFilter = edgeFilter.intersect(vertexFilter);
edge_filter = EdgeFilter("edge.cost > 5")
vertex_filter = VertexFilter("vertex.name = 'PGX'")
combined_filter = edge_filter.intersect(vertex_filter)
一方、これらのフィルタの結合で作成されるサブグラフには、PGX
という名前を持つ頂点、またはコストが5
より大きい入力エッジまたは出力エッジを持つ頂点が含められます。また、コストが5
より大きいエッジと、出力および入力頂点の名前がPGX
であるエッジも含められます。
親トピック: フィルタ式の操作