Skip to main content

Graph Concepts

Conscia syncs data and content from external content and data repositories to create an experience graph that provides a 360 view of all business entities involved in building a customer experience.

The DX Graph can be used for the following use cases:

  • Content Graph - A unified view of content from multiple CMSs
  • Customer Identity Graph
  • Master Data Management - A connected view of data from multiple source systems
  • Product Information Management

Having both customer data and content in one connected graph allows digital teams to build personalized content experiences.

Relationships

Without the ability to connect entities to each other, a "Graph" would be meaningless. The data within a Data Collection may have relationships between them. There are three types of relationships in Conscia:

  1. 1-to-1 Lookup Relationship
  2. 1-to-Many Lookup Relationship
  3. Dynamic Relationships

Lookup Relationships

Lookup Releationships map a Data Record in a Data Collection to either one (One-to-One Lookup) or more (One-to-Many Lookup) Data Records in another Data Collection. When a Lookup Relationship is defined for a Data Collection, the following must be specified:

  • Lookup Data Collection - The Data Collection from which users can select one ore more records
  • One-to-One or One-to-Many - If One-to-One, users can select, at most, one Data Record. If One-to-Many, users can select one or more Data Records.
  • Display Field - In Studio, the field in the Lookup Data Collection whose value will be displayed in the Studio Admin (instead of showing the underlying identifier of the Data Record)

Dynamic Relationships

Dynamic Relationships are defined using a Join Expression that relates the Data Records in one Data Collection to those that reside in another Data Collection.

  • A Join Expression can be as simple as relating IDs in one Data Collection to the same IDs in another Data Collection.
  • A more complex Join Expression could relate Data Records in one Data Collection to Data Records in another Data Collection that have the same first 4 characters in a specific field (e.g. name field) while while satisfying a filter (e.g. age > 21).

When a Dynamic Relationship is defined for a Data Collection, the following must be specified:

  • Relationship Code - The unique identifier for this relationship on the Data Collection. It must be unique within a single Data Collection.
  • Target Data Collection - The Data Collection this relationship points to. The Source Data Collection is the Data Collection that the relationship is being defined on.

Relationships between Data are managed within the Admin section of Control Center:

alt-text In this example, we look at a Product collection and the different relationship configurations. Brand is an attribute on the product and thus is setup as a one-to-one (1:1) mapping between the product and the brand.

alt-text A product can belong to many categories and so using a 1-to-Many Lookup supports this. The product above is given a both lookup collection and the field on that collection to display. Multiple values of categories will appear on the product using either the one-line template or large template depending on the page rendering it.

alt-text Product showcasing multiple categories it belongs to

alt-text

Dynamic relationships provide the flexibilty to bridge separate sources of information based on common attributes. In the above illustration, Products are being connected to SKUs through their common key (master_key).

alt-text

As a real-world example, dynamic relationships can interconnect a multitude of data elements to form a graph like structure. Starting from one element, users have the ability to see all the connected elements, drill down through them and connect to other elements in turn. In the illustration above, the left portion showcases all the different elemnets connected to this movie. Clicking on them (i.e. Live Action Genre), will show a set of all movies connected with that Genre.