Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Select an option

  • Save thisisaaronland/576b014218548123f6ae147cee12c059 to your computer and use it in GitHub Desktop.

Select an option

Save thisisaaronland/576b014218548123f6ae147cee12c059 to your computer and use it in GitHub Desktop.
Example "standard places result" ATProto lexicon for places. This is for demonstration/discussion purposes only.
{
"$schema": "https://atproto.com/lexicon/1.0/schema",
"id": "app.bsky.place#standardPlacesResult",
"name": "StandardPlacesResult",
"description": "A record that contains common metadata associated with a place.",
"defs": {
"app.bsky.place#standardPlacesResult": {
"type": "object",
"required": [
"id",
"parentId",
"name",
"label",
"placetype",
"country",
"inception",
"cessation",
"latitude",
"longitude",
"minLatitude",
"minLongitude",
"maxLatitude",
"maxLongitude",
"isCurrent",
"isCeased",
"isDeprecated",
"isSuperseded",
"isSuperseding",
"supersededBy",
"supersedes",
"belongsTo",
"lastModified"
],
"properties": {
"id": {
"type": "string",
"description": "The unique ID of the place."
},
"parentId": {
"type": "string",
"description": "The unique parent ID of the place."
},
"name": {
"type": "string",
"description": "The name of the place. For example \"Montreal\"."
},
"label": {
"type": "string",
"description": "The long-form label of the place. For example \"Montreal QC, Canada\"."
},
"placetype": {
"type": "string",
"description": "The placetype label of the place."
},
"country": {
"type": "string",
"description": "The two‑letter ISO‑3166 country code of the place.",
"maxLength": 2,
"minLength": 2
},
"inception": {
"type": "string",
"format": "edtf",
"description": "The EDTF inception date of the place."
},
"cessation": {
"type": "string",
"format": "edtf",
"description": "The EDTF cessation date of the place."
},
"latitude": {
"type": "number",
"format": "double",
"description": "The latitude for the principal centroid of the place."
},
"longitude": {
"type": "number",
"format": "double",
"description": "The longitude for the principal centroid of the place. For example, the location where you might place a label."
},
"minLatitude": {
"type": "number",
"format": "double",
"description": "The minimum latitude of the bounding box of the place. For example, the location where you might place a label."
},
"minLongitude": {
"type": "number",
"format": "double",
"description": "The minimum longitude of the bounding box of the place."
},
"maxLatitude": {
"type": "number",
"format": "double",
"description": "The maximum latitude of the bounding box of the place."
},
"maxLongitude": {
"type": "number",
"format": "double",
"description": "The maximum longitude of the bounding box of the place."
},
"isCurrent": {
"type": "string",
"enum": ["TRUE", "FALSE", "UNKNOWN"],
"description": "Existential flag indicating whether the place is current."
},
"isCeased": {
"type": "string",
"enum": ["TRUE", "FALSE", "UNKNOWN"],
"description": "Existential flag indicating whether the place has ceased."
},
"isDeprecated": {
"type": "string",
"enum": ["TRUE", "FALSE", "UNKNOWN"],
"description": "Existential flag indicating whether the place is deprecated."
},
"isSuperseded": {
"type": "string",
"enum": ["TRUE", "FALSE", "UNKNOWN"],
"description": "Existential flag indicating whether the place has been superseded."
},
"isSuperseding": {
"type": "string",
"enum": ["TRUE", "NOT_FALSE", "UNKNOWN"],
"description": "Existential flag indicating whether the place supersedes other records."
},
"supersededBy": {
"type": "array",
"items": {
"type": "strings"
},
"description": "List of place IDs that supersede this record."
},
"supersedes": {
"type": "array",
"items": {
"type": "string"
},
"description": "List of place IDs that are superseded by this record."
},
"belongsTo": {
"type": "array",
"items": {
"type": "string"
},
"description": "List of place ancestor IDs."
},
"lastModified": {
"type": "integer",
"format": "int64",
"description": "Unix epoch timestamp (seconds) when the record was last modified."
}
}
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment