Consolidating documents requires a means of defining the relationships
between these documents. To do so, the Consolidation Server uses an object
graph, in which each node corresponds to a document.
The node identifier is the document URI. Arcs represent document relationships by linking the
nodes with one another.
Note:
In this section, document refers to a Exalead CloudView document.
Using an object graph, a set of document modifications, and aggregation rules, the
Consolidation Server determines which documents have been impacted by changes to update the
Exalead CloudView index incrementally. By doing so, the Consolidation Server is able to limit the graph
traversal and only parse relevant relationships.
The Consolidation Server is able to:
Enrich a node with "related" data coming from related nodes.
Aggregate many related nodes' attributes into a single node.
Correctly handle incremental updates and recompute nodes whose "related"
data have been modified (that is to say, added, deleted, updated).
Object Graph as Displayed in the Consolidation >
Introspect Tab
Object Graph Node
An object graph node is made of the following string properties:
A unique identifier – the Exalead CloudView document URI.
A set of types, ordered from the most specific to the most generic type. For example,
Cat > Animal > Living Form. The node type is used to determine which rules are
going to be applied (transform, aggregate or forward).
Finally, when pushing a document (node) to the index, you can define the type explicitly.
If not, the default data model class associated to the connector will be used.
Inside transformation processors, it is also possible to create nodes
explicitly. See Manage Documents Explicitly.
Object Graph Arcs
An object graph arc requires three String properties:
The source node URI, which is the key of this object
The destination node URI
The relationship name of the arc indicating the arc direction
Object graph arcs represent document relationships specified by transformation processors.
However, several connectors with specific schemes (ENOVIA, SalesForce, etc.) specify both nodes and arcs using custom directives. Therefore, the
Consolidation Server supports custom directives directly sent by source connectors.
Recommendation:
To use custom directives, use the new
com.exalead.cloudview.consolidationapi.PUSHAPITransformationHelpers.java
documented in the javadoc.
Object Graph Matching Expressions
In the aggregation phase, processors can benefit from the object graph
arcs to access objects linked to the processed document, using any path
connecting the objects together.
The Consolidation Server provides a dedicated grammar to build complex
path expressions.
Once a matching rule is used inside an aggregation processor, it can be also used for the
impact detection step. It ensures that when updating document A used by document B inside an
aggregation processor, document B is processed again to ensure that the change is correctly
reflected. For more information, see Impact Detection.