This repository has no description
2.4 kB
94 lines
1{
2 "lexicon": 1,
3 "id": "org.latha.island.deriveIsland",
4 "defs": {
5 "main": {
6 "type": "procedure",
7 "description": "Derive connected components (islands) from the connection graph. Sends all connections to the container for BFS traversal. Without a seed, returns all islands. With a seed vertex, returns the single island containing it.",
8 "input": {
9 "encoding": "application/json",
10 "schema": {
11 "type": "object",
12 "properties": {
13 "seed": {
14 "type": "string",
15 "description": "Optional seed vertex. If provided, returns only the island containing this vertex. If omitted, returns all islands."
16 }
17 }
18 }
19 },
20 "output": {
21 "encoding": "application/json",
22 "schema": {
23 "type": "object",
24 "required": ["islands"],
25 "properties": {
26 "islands": {
27 "type": "array",
28 "items": {
29 "type": "ref",
30 "ref": "#island"
31 }
32 }
33 }
34 }
35 }
36 },
37 "island": {
38 "type": "object",
39 "required": ["id", "lexmin", "vertices", "edges"],
40 "properties": {
41 "id": {
42 "type": "string",
43 "description": "Stable ID: truncated SHA-256 of the lexmin vertex."
44 },
45 "lexmin": {
46 "type": "string",
47 "description": "Lexicographically smallest vertex in the component — the canonical reference."
48 },
49 "vertices": {
50 "type": "array",
51 "items": {
52 "type": "string"
53 }
54 },
55 "edges": {
56 "type": "array",
57 "items": {
58 "type": "ref",
59 "ref": "#edge"
60 }
61 }
62 }
63 },
64 "edge": {
65 "type": "object",
66 "required": ["uri", "did", "source", "target", "connectionType"],
67 "properties": {
68 "uri": {
69 "type": "string",
70 "format": "at-uri"
71 },
72 "did": {
73 "type": "string",
74 "format": "did"
75 },
76 "source": {
77 "type": "string"
78 },
79 "target": {
80 "type": "string"
81 },
82 "connectionType": {
83 "type": "string"
84 },
85 "note": {
86 "type": "string"
87 },
88 "handle": {
89 "type": "string"
90 }
91 }
92 }
93 }
94}