pygraphistry
pygraphistry copied to clipboard
Schema: Typed topology
Most property graph systems follow a typed topology, which is useful information for a path query synthesizer
- The method should extract for the connected database(s) a description of typed & directed connectivities. Using cypher syntax, this might look like:
(s:T1)-[e:T2]->(d:T3)
(s:T1)-[e:T2]->(d:T4)
(s:T1)-[e:T5]->(d:T6)
...
To simplify manipulation, this should be represented with some sort of typed representation vs a big string:
@dataclass
class TypedTriple
directed: bool
source_type: str
edge_type: str
destination_type: str
async def infer_typed_topology(...) -> List[TypedTriple]
- Databases may be large, e.g., billion scale, so a strategy or controls should be in place to support working with large systems
Note that node/edge attributes are not represented, nor are details like path lengths