Capabilities¶
Product features at a glance — schema abstraction, inference, connectors, and ingestion patterns.
Schema and abstraction¶
- Declarative LPG schema —
Schemadefines vertices, edges, identity rules, and edgepropertiesin YAML or Python; the single source of truth for graph structure. Transforms/resources are defined inIngestionModel. - Database abstraction — one logical schema, multiple backends; each target uses its own
Connectiontype behindConnectionManager/DBWriter, with DB-specific behavior applied in DB-aware projection (Schema.resolve_db_aware(...),VertexConfigDBAware,EdgeConfigDBAware). - Resource abstraction — each
Resourceis a reusable actor pipeline that maps raw records to graph elements, decoupled from data retrieval. - DataSourceRegistry — pluggable
AbstractDataSourceadapters (FILE,SQL,API,SPARQL,IN_MEMORY) bound to Resources by name.
Schema features¶
- Flexible identity and indexing — logical identity plus DB-specific secondary indexes (
schema.db_profile.vertex_indexes,edge_specs, …). See Vertex identity modes. - Typed properties — optional type information on vertex and edge
properties(INT, FLOAT, STRING, DATETIME, BOOL). - Hierarchical edge definition — define edges at any level of nested documents (via resource edge steps and actors).
- Relationship payload — logical edges declare
properties; additional payload from vertices or row shape is wired in edge actors (vertex_weights, maps, etc.) with optional types. - Blank vertices — create intermediate vertices for complex relationships.
- Actor pipeline — process documents through a sequence of specialised actors (descend, transform, vertex, edge).
- Reusable transforms — define and reference transformations by name across Resources. See Transforms.
- Vertex filtering — filter vertices based on custom conditions.
- PostgreSQL schema inference — infer schemas from normalised PostgreSQL databases (3NF) with PK/FK constraints.
- Graph export and migration — introspect Neo4j or ArangoDB (or a file backend) and
migrate_graph()to any supported target (graph→graph, graph→PostgreSQL); optional file backend for large exports. See Graph export and migration and Graph DB migration guide. - RDF / OWL schema inference — infer schemas from OWL/RDFS ontologies:
owl:Class→ vertices,owl:ObjectProperty→ edges,owl:DatatypeProperty→ vertex properties. - SelectSpec — declarative SQL view on top of
TableConnector(viewfield):kind="type_lookup"for polymorphic relation rows joined to type lookup table(s), orkind="select"for fullfrom/joins/select/where. See Table connector views and SelectSpec. - Bindings SQL filters —
TableConnector.filtersandview.whereuse the same YAML logical-operator shorthand as vertexfilters(OR:,AND:,NOT:,IF_THEN:), validated when Bindings load and rendered to SQLWHERE(includingIF_THENas(NOT … OR …)). See Bindings filter cookbook.