ERM Layer
Introduction
In modern data-driven enterprises, connecting fragmented data across structured, unstructured, and semi-structured formats is critical. At the heart of Rox's Unified Knowledge Graph (UKG) is a powerful entity relationship mapping framework that bridges diverse data sources and maps to entities and relationships.
This framework leverages a three-layer approach to create a cohesive view of revenue operations data, empowering AI agents and analytics tools to answer complex queries seamlessly.
The Three Layers of Entity Relationship Mapping
Rox Entity Layer
The Rox Entity Layer represents the logical abstraction of real-world entities in the UKG. It simplifies multimodal data by defining a universal schema for common entities, such as:
Organization: An organization which sells to other Companies
User: Includes roles like sales reps, AEs, AMs and RevOps personas, linking them to organizations and accounts they own (/companies they sell to)
Company: Links organizational data from CRM systems, product usage logs, and other sources.
Person: Maps individuals to their associated companies, opportunities, and interactions.
Opportunity: Represents revenue-generating events tied to companies and users.
Each of this entity also will have attributes, for ex: Company entity has a name, domain, Person has email and phone etc...
Key Features:
Logical representation ensures compatibility across diverse data sources.
Supports attributes like size, industry, or domain for companies, and email or name for persons.
The Entity Layer provides the foundation for connecting structured and unstructured data, creating a unified starting point for relationship mapping.
ERD Mapping Layer
The Entity Relationship Mapping (ERM) Layer is the bridge between the abstract Rox Entity Layer and the underlying Physical Data Layer. If we think of the entire platform as new Revenue OS, the ER Mapping layer is page table(s) which knows how to reach physical data.
This layer:
Defines Mappings: Connects Rox entities to specific fields in external systems, like Salesforce accounts or Zendesk organizations.
Tracks Relationships: Establishes how entities relate across systems (e.g., a Zendesk organization maps to a Salesforce account via an external ID).
Adapts Dynamically: Supports schema evolution by using flexible metadata for column mappings, enabling users to validate and adjust mappings dynamically.
ERM Components:
Schema Mapping: Defines default field mappings (e.g.,
account_id
in Salesforce tocompany_id
in Rox) and also data types specific to Rox.Attribute Mapping: Links attributes of entities to their physical data fields. (ex: Company revenue to field called Annual Revenue in Salesforce)
Relationship Mapping: Tracks relationships between fields across systems, such as joins or fuzzy matches. (An user is owner of Salesforce Account, An email was sent between seller and champion in the company). in real world relationships can take multiple forms.
This layer ensures that Rox entities are correctly linked to physical data, enabling seamless querying and resolution of complex relationships.
Given the underlying physical data, this layer acts as a translation layer which can help answer which are the entities and how they might be related to each other
Physical Data Layer
The Physical Data Layer represents the raw data storage, integrating relational data from customer systems (e.g., Salesforce, Zendesk) and unstructured sources like emails or blogs.
The data here could be from analytical data warehouses like Snowflake, Redshift, Delta Lake or Big Query or blog storage systems like S3 or relation or no sql databases
It serves as the foundation for all entity relationships and ensures scalability for growing datasets.
Core Functions:
Data Ingestion: Ingests multimodal data into a unified data lakehouse.
Real-Time Updates: Supports dynamic changes via event-driven pipelines.
By managing data at scale, the Physical Data Layer ensures that the UKG can store and process TB+ of structured and unstructured data effectively.
Walking Through the Layers: A Query Example
To walk through a query we need a materialized UKG where entities are resolved and relationships are formed. We can read more about how entities and relationships are extracted on Entity Graph Builder here
Imagine a query: “Find all Companies with high product usage metric(lets say CPU)"
Here’s how the UKG resolves this query:
Entity Layer: Given the above question, Rox first understands that the query is against Company Entity and is interested in 1 attributes CPU usage
ER Mapping Layer: Then using 1 above, it understand it needs to find the .
Physical Data Layer: It retrieves the raw metrics and sentiment data, combining them into a unified response.
Conclusion
The three-layer framework—Entity Layer, ER Mapping Layer, and Physical Data Layer—represents the backbone of the Rox Unified Knowledge Graph. By harmonizing fragmented data across formats and systems, it enables a powerful, scalable, and adaptive architecture for modern revenue operations.
Whether resolving complex relationships or answering natural language queries, this architecture ensures the right data is always accessible in the right context.
Last updated