Coverage for src / lilbee / retrieval / concepts / schema.py: 100%

8 statements  

« prev     ^ index     » next       coverage.py v7.13.4, created at 2026-05-15 20:55 +0000

1"""Arrow schemas for the concept graph LanceDB tables.""" 

2 

3from __future__ import annotations 

4 

5import pyarrow as pa 

6 

7 

8def _concept_nodes_schema() -> pa.Schema: 

9 return pa.schema( 

10 [ 

11 pa.field("concept", pa.utf8()), 

12 pa.field("cluster_id", pa.int32()), 

13 pa.field("degree", pa.int32()), 

14 ] 

15 ) 

16 

17 

18def _concept_edges_schema() -> pa.Schema: 

19 return pa.schema( 

20 [ 

21 pa.field("source", pa.utf8()), 

22 pa.field("target", pa.utf8()), 

23 pa.field("weight", pa.float32()), 

24 ] 

25 ) 

26 

27 

28def _chunk_concepts_schema() -> pa.Schema: 

29 return pa.schema( 

30 [ 

31 pa.field("chunk_source", pa.utf8()), 

32 pa.field("chunk_index", pa.int32()), 

33 pa.field("concept", pa.utf8()), 

34 ] 

35 )