app.certified.location
Schema Diff
+28 -6
Compatibility Analysis
Breaking Changes Detected
2 breaking changes, 5 non-breaking changes.
Breaking Changes (2)
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "app.certified.location#string", src: "app.certified.location#string", tgt: "app.certified.location#string.string", kind: "prop", name: Some("string") }
- ConstraintTightened ConstraintTightened { vertex_id: "app.certified.location:body.locationType", sort: "knownValues", old_value: "[\"coordinate-decimal\",\"geojson-point\"]", new_value: "[\"coordinate-decimal\",\"geojson-point\",\"geojson\",\"h3\",\"geohash\",\"wkt\",\"address\",\"scaledCoordinates\"]" }
Non-Breaking Changes (5)
- AddedVertex AddedVertex { vertex_id: "app.certified.location#string" }
- AddedVertex AddedVertex { vertex_id: "app.certified.location#string.string" }
- AddedVertex AddedVertex { vertex_id: "app.certified.location:body.location:variant2" }
- AddedEdge AddedEdge { src: "app.certified.location:body.location", tgt: "app.certified.location:body.location:variant2", kind: "variant", name: Some("#string") }
- AddedEdge AddedEdge { src: "app.certified.location:body.location:variant2", tgt: "app.certified.location#string", kind: "ref", name: None }
Migration Guidance
Added Elements
AddedVertex { vertex_id: "app.certified.location#string" }AddedVertex { vertex_id: "app.certified.location#string.string" }AddedVertex { vertex_id: "app.certified.location:body.location:variant2" }
Constraint Changes
- ConstraintTightened ConstraintTightened { vertex_id: "app.certified.location:body.locationType", sort: "knownValues", old_value: "[\"coordinate-decimal\",\"geojson-point\"]", new_value: "[\"coordinate-decimal\",\"geojson-point\",\"geojson\",\"h3\",\"geohash\",\"wkt\",\"address\",\"scaledCoordinates\"]" }
Additional Notes
- Breaking: RequiredEdgeAdded { vertex_id: "app.certified.location#string", src: "app.certified.location#string", tgt: "app.certified.location#string.string", kind: "prop", name: Some("string") }
- Non-breaking: AddedEdge { src: "app.certified.location:body.location", tgt: "app.certified.location:body.location:variant2", kind: "variant", name: Some("#string") }
- Non-breaking: AddedEdge { src: "app.certified.location:body.location:variant2", tgt: "app.certified.location#string", kind: "ref", name: None }
1
1
{
2
2
"$type": "com.atproto.lexicon.schema",
3
3
"defs": {
4
4
"main": {
5
5
"description": "A location reference",
6
6
"key": "tid",
7
7
"record": {
8
8
"properties": {
9
9
"createdAt": {
10
10
"description": "Client-declared timestamp when this record was originally created",
11
11
"format": "datetime",
12
12
"type": "string"
13
13
},
14
14
"description": {
15
-
"description": "Optional description for this location",
15
+
"description": "Additional context about this location, such as its significance to the work or specific boundaries",
16
16
"maxGraphemes": 500,
17
17
"maxLength": 2000,
18
18
"type": "string"
19
19
},
20
20
"location": {
21
-
"description": "The location of where the work was performed as a URI or blob.",
21
+
"description": "The location of where the work was performed as a URI, blob, or inline string.",
22
22
"refs": [
23
23
"org.hypercerts.defs#uri",
24
-
"org.hypercerts.defs#smallBlob"
24
+
"org.hypercerts.defs#smallBlob",
25
+
"#string"
25
26
],
26
27
"type": "union"
27
28
},
28
29
"locationType": {
29
-
"description": "An identifier for the format of the location data (e.g., coordinate-decimal, geojson-point)",
30
+
"description": "An identifier for the format of the location data (e.g., coordinate-decimal, geojson-point). See the Location Protocol spec for the full registry: https://spec.decentralizedgeo.org/specification/location-types/#location-type-registry",
30
31
"knownValues": [
31
32
"coordinate-decimal",
32
-
"geojson-point"
33
+
"geojson-point",
34
+
"geojson",
35
+
"h3",
36
+
"geohash",
37
+
"wkt",
38
+
"address",
39
+
"scaledCoordinates"
33
40
],
34
41
"maxLength": 20,
35
42
"type": "string"
36
43
},
37
44
"lpVersion": {
38
45
"description": "The version of the Location Protocol",
39
46
"maxLength": 10,
40
47
"type": "string"
41
48
},
42
49
"name": {
43
-
"description": "Optional name for this location",
50
+
"description": "Human-readable name for this location (e.g. 'Golden Gate Park', 'San Francisco Bay Area')",
44
51
"maxGraphemes": 100,
45
52
"maxLength": 1000,
46
53
"type": "string"
47
54
},
48
55
"srs": {
49
56
"description": "The Spatial Reference System URI (e.g., http://www.opengis.net/def/crs/OGC/1.3/CRS84) that defines the coordinate system.",
50
57
"format": "uri",
51
58
"maxLength": 100,
52
59
"type": "string"
53
60
}
54
61
},
55
62
"required": [
56
63
"lpVersion",
57
64
"srs",
58
65
"locationType",
59
66
"location",
60
67
"createdAt"
61
68
],
62
69
"type": "object"
63
70
},
64
71
"type": "record"
72
+
},
73
+
"string": {
74
+
"description": "A location represented as a string, e.g. coordinates or a small GeoJSON string.",
75
+
"properties": {
76
+
"string": {
77
+
"description": "The location string value",
78
+
"maxGraphemes": 1000,
79
+
"maxLength": 10000,
80
+
"type": "string"
81
+
}
82
+
},
83
+
"required": [
84
+
"string"
85
+
],
86
+
"type": "object"
65
87
}
66
88
},
67
89
"id": "app.certified.location",
68
90
"lexicon": 1
69
91
}