graflo.util.merge¶
Document merging utilities.
This module provides functions for merging documents based on common index keys, preserving order and handling both dict and VertexRep objects.
Key Functions
- merge_doc_basis: Merge documents based on common index keys, preserving order
merge_doc_basis(docs, index_keys)
¶
Merge documents based on common index keys, preserving order.
This function merges documents that share common index key-value combinations, preserving the order of documents based on the first occurrence of each index key combination. Documents without index keys are merged into the closest preceding document with index keys. If no documents have index keys, all documents are merged into a single document.
For VertexRep objects, the merge is performed on the vertex attribute, and
ctx dicts are merged among merged VertexReps.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
docs
|
list[dict] | list[VertexRep]
|
Homogeneous list of documents (all dict or all VertexRep) to merge |
required |
index_keys
|
tuple[str, ...]
|
Tuple of key names to use for merging |
required |
Returns:
| Type | Description |
|---|---|
list[dict] | list[VertexRep]
|
Merged documents in order of first occurrence (same type as input) |
Source code in graflo/util/merge.py
30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 | |