ActivityStreams vocabulary says about Places:
The Place object is intentionally flexible. It can, for instance, be used to identify a location simply by name […] or, by
longitude
andlatitude
[…]
While publishers are not required to use these specific properties and MAY make use of other mechanisms for describing locations, consuming implementations that support the
Place
object MUST support the use of these properties.
For instance, Honk seems to use this.
"location": {
"latitude": 39.95,
"longitude": -75.17,
"name": "Joe Rittenhouse",
"type": "Place"
},
In that specific case Mobilizon needs to specify address data (street, locality, …) which are not covered by basic AS Place
type. Mobilizon replaces AS Place
type with Schema.org Place
type (and specifies it in @context
).
"location": {
"address": {
"addressCountry": "France",
"addressLocality": "Lyon",
"addressRegion": "Auvergne-Rhône-Alpes",
"postalCode": "69007",
"streetAddress": "10 Rue Jangot",
"type": "PostalAddress"
},
"geo": {
"latitude": 4.8425657,
"longitude": 45.7517141,
"type": "GeoCoordinates"
},
"id": "http://mobilizon2.com/address/bdf7fb53-7177-46f3-8fb3-93c25a802522",
"name": "10 Rue Jangot",
"type": "Place"
},
However, it might not be the best way. Maybe adding needed Schema.org Place
properties (in our case: address) on top of the AS Place
type is better. It would at least allow implementations that don’t support everything to grab a subset of the data, such as geographic coordinates for instance.
What do you think ?