Open carlosmanri opened 4 years ago
For the people outside of our team (en2a), we were currently discussing how to store the media content, at this moment we consider a list. If you have any suggestion feel free to comment it :D
A simpler version could be created with the use of ShEx.
A route must contain a name, optionally it can have a description. Its composed by at least one waypoint and may or not have a list of comments and media.
The GeoCoordinates must have latitude, longitude and position. They can have as optional properties a name, altitude and a physical address.
A userComment must contain the text of the comment, the time it was published and the author, being the last one a IRI to a pod profile shape.
And finally, an Image or a Video must have an IRI to te resource, another IRI to the pod profile of the author and the time it was published
PREFIX : <http://example.org/>
PREFIX schema: <http://schema.org/>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
# Node Constraint
:Route {
# Triple constraint
schema:name xsd:string ;
schema:description xsd:string? ;
schema:containsGeoPoint IRI @:GeoCoordinates+;
schema:hasComments IRI @:UserComment*;
schema:hasMediaAttached [IRI @:Image IRI @:Video]*;
}
:GeoCoordinates {
schema:name xsd:string? ;
schema:address xsd:string? ;
schema:elevation xsd:integer? ;
schema:latitude xsd:float ;
schema:longitude xsd:float ;
schema:position xsd:integer ;
}
:UserComment {
schema:text xsd:string;
schema:publishedDate xsd:datetime;
schema:author URI @:PodProfile;
}
:Image {
schema:contentUrl IRI;
schema:publishedDate xsd:datetime;
schema:author URI @:PodProfile;
}
:Video {
schema:contentUrl IRI;
schema:publishedDate xsd:datetime;
schema:author URI @:PodProfile;
}
Team en_3a considers following this proposal so we can provide interoperability to our applications.
The XML standard in this area is GPX https://en.wikipedia.org/wiki/GPS_Exchange_Format You should make sure you interoperate with that. People will be able to upload and download routes to their GPS devices (like Garmin) and tracking Apps (like Strava) with that.
I played with this many years ago.
For example a quick hack to get GPX into turtle is a sed
file: https://github.com/linkeddata/swap/blob/master/pim/gpx2n3.sed
This used a namespace http://hackdiary.com/ns/gps#
which Matt Biddulph had been using but he never supported it with a namespace document.
One possibility is we could ask W3C to give us namespace like
https://www.w3.org/ns/pim/gpx#
and deem it to have all the GPX terms in it,
and populate a file there it by adding all the fields in the GPX standard.
What you cannot do is just use the fields as though they are in the Schema.org namespace when they are not.
We can go and ask them to put them in as a suggestion, but they would probably make up their own names for things in their own style.
@timbl, thanks for the comments.
About GPX, I agree that it would be great to support it. I added this specific issue to discuss how to support GPX in viadeSpec.
Another decision is the namespace for the properties and entities employed, I think we should define our own namespace for new properties and maybe ask for the creation of a gpx namespace at W3C. I created another issue about this topic here
Finally, I also agree about not inventing new schema.org properties. We changed the properties that we found that didn't appear in schema.org by properties in a viade namespace and also repaired the Shape Expression. We also created a simple Turtle example of a route and added a link to show how it can be validated with ShEx.
@UO258425 @luispc1998 Most of the mandatory information looks good to me but, is it really necessary to have as a mandatory property the description?
@MiguelRodriguezHuerta It may not be mandatory, what do you think @UO258425 @luispc1998 ?
I think that with the name being mandatory it is enough, so the description can be optional.
People don't usually fill the descriptions when uploading things, making them mandatory would be like asking people to make "asdasda" alike descriptions. I also support them being optional. My team right now is working with an object route with optional descriptions.
In the shape expression the schema:description
appears with a question mark which means that it is an optional field. So they are already optional.
Proposal for a route format
The use of a subset of the existing "Trip" scheme from schema.org is proposed to structure the route data
I have tried to reduce the number of properties to the minimum possible, but always with the future in mind in order to extend it in the future if changes arise that would make us require more information
Next, the schemes used that will make up the route are broken down. At the end of the document you can see two examples of routes
Already existing schemas and fields in use
As the web Schema.org says:
To define the route, existing schema.org schemes have been used. This allows us to create a format that is compatible with existing structured data.
A property name in bold means that it is mandatory to define the route
Trip
GeoCoordinates
ImageObject
ItemList
Example of a complete route
Example of a minimum route
An example of a route in RDF Triples
The minimum route from the examples in n-triples