Input RDF graph.
Basic triple patterns
A candidate graph whose vertex attribute is a set of match candidates for each vertex.
Create an RDD of vertices that set the vertex attributes as a set of match candidates.
Create an RDD of vertices that set the vertex attributes as a set of match candidates.
Input RDF graph
Basic triple patterns
RDD for vertices. Each vertex has an attribute that is a set of match candidate for this vertex.
Produce this final results that match the triple patterns in RDF graph.
Based on the candidate graph, for each vertex in graph, merging the candidates of its neighbours to a set and then add it to its vertex attribute.
Based on the candidate graph, for each vertex in graph, merging the candidates of its neighbours to a set and then add it to its vertex attribute.
Graph has messages of each vertex's match candidates.
New graph that, for a vertex, contains both the candidates of its local match and neighbours'(call them remote candidates). The vertex attribute is a tuple2 that the first one is local candidates and the second one is remote candidates.
Filter match candidates.
Filter match candidates. If a match candidate (?var, mapping, pattern) for variable ?var in vertex v is local matched, it must have a match candidate regarding ?var for all triple patterns that contain ?var. Furthermore, the mappings of all these match candidates must be compatible. We will remove candidate that don't have local match from the attributes.
A graph whose vertex attribute is a set of match candidates for a vertex v.
Basic triple patterns
A graph whose vertex attributes a set of match candidates after removing those have no local match.
Filter match candidates.
Filter match candidates. If a match candidate (?var, mapping, pattern) for variable ?var in vertex v is remote matched, it must have a match candidate regarding another ?var2(!= ?var, ?var2 in pattern) in the remote candidates. Furthermore, the mappings of all these match candidates must be compatible. We will remove candidate that don't have remote match from the attributes.
A graph whose vertex attribute is a tuple of its local and remote candidates for a vertex v.
A graph whose vertex attributes a set of match candidates after removing those have no local match.
A match set of vertex v is the set of all candidates of the target vertex matching triple patterns from basic graph pattern.