Schema Lineage Reference
Complete reference for schema lineage tracking, covering the SchemaFieldLineage interface, model-first field mapping, multiple entries, lineage overrides, and Intent Graph integration.
Schema lineage maps schema fields to entity properties in the data model (model.neoarc). This reference covers the full lineage interface, all available fields, override behaviour, and how lineage integrates with the Intent Graph.
SchemaFieldLineage Interface
Each lineage entry on a schema field conforms to the following structure:
interface SchemaFieldLineage {
sourceType: "graph";
graphFilePath: string; // Path to the model file, e.g. "model.neoarc"
nodeName: string; // Entity name, e.g. "Customer"
nodeId: string; // UUID of the entity node
propertyName: string; // Property name, e.g. "Email"
notes?: string; // Optional transformation notes
}
Field Reference
Example Lineage Entry
{
"sourceType": "graph",
"graphFilePath": "model.neoarc",
"nodeName": "Customer",
"nodeId": "a1b2c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d",
"propertyName": "Email"
}
Multiple Lineage Entries
A single schema field can have 0 or more lineage entries. Each entry maps to one model property.
[
{
"sourceType": "graph",
"graphFilePath": "model.neoarc",
"nodeName": "Customer",
"nodeId": "a1b2c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d",
"propertyName": "FirstName",
"notes": "Concatenated with LastName, separated by a space"
},
{
"sourceType": "graph",
"graphFilePath": "model.neoarc",
"nodeName": "Customer",
"nodeId": "a1b2c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d",
"propertyName": "LastName",
"notes": "Concatenated with FirstName, separated by a space"
}
]
Lineage Notes
Each lineage entry supports an optional notes field for documenting transformations or business rules applied to the data.
Lineage Overrides
Lineage overrides allow child schemas to replace inherited lineage with mappings specific to their context.
Inheritance Override Scenario
Object Field Overrides
When a schema uses an Object field that references another schema, you can override lineage for individual fields within that referenced schema. This is useful when the same schema type is reused in different contexts that map to different model entities.
Lineage in the Intent Graph
Each lineage mapping creates a maps-to edge in the Intent Graph:
These edges enable querying in both directions: