[parent].[child].[extension] can be read as “ child is linked to parent , and its content type is extension .” For instance:
def parse_filedot(filedot: str): """ Parses a Filedot string into a list of (parent, child, edge_type) tuples. Edge type is 'owns' for local parents, 'references' for URL parents. """ # Split on '.' but keep the first token (which may be a URL) parts = filedot.split('.') graph_edges = [] # Detect URL parent url_regex = re.compile(r'^(https?://[^/]+)') parent = parts[0] edge_type = 'owns' if url_regex.match(parent): edge_type = 'references' parent = url_regex.match(parent).group(1) # Walk through the remaining parts for child in parts[1:]: graph_edges.append((parent, child, edge_type)) parent = child edge_type = 'owns' # after first step everything is local ownership return graph_edges Filedot Folder Link Bailey Model Com txt
# Show edges with labels for u, v, data in G.edges(data=True): print(f"u --data['label']--> v") [parent]
These operations give a canonical way to reason about file manipulation, versioning, and provenance. 4.1 The “.com” Domain as a Node In most corporate settings, the root of a knowledge repository is a commercial web presence ( *.com ). By treating the domain itself as a graph node, we can embed the entire web‑site hierarchy into the same structure used for local files. data in G.edges(data=True): print(f"u --data['label']-->