{"action":"created","issue":{"url":"https://api.github.com/repos/geojson/geojson-ld/issues/32","labels_url":"https://api.github.com/repos/geojson/geojson-ld/issues/32/labels{/name}","comments_url":"https://api.github.com/repos/geojson/geojson-ld/issues/32/comments","events_url":"https://api.github.com/repos/geojson/geojson-ld/issues/32/events","html_url":"https://github.com/geojson/geojson-ld/issues/32","id":103497916,"number":32,"title":"Coordinates to RDF doesn't work","user":{"login":"pietercolpaert","id":347073,"avatar_url":"https://avatars.githubusercontent.com/u/347073?v=3","gravatar_id":"","url":"https://api.github.com/users/pietercolpaert","html_url":"https://github.com/pietercolpaert","followers_url":"https://api.github.com/users/pietercolpaert/followers","following_url":"https://api.github.com/users/pietercolpaert/following{/other_user}","gists_url":"https://api.github.com/users/pietercolpaert/gists{/gist_id}","starred_url":"https://api.github.com/users/pietercolpaert/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pietercolpaert/subscriptions","organizations_url":"https://api.github.com/users/pietercolpaert/orgs","repos_url":"https://api.github.com/users/pietercolpaert/repos","events_url":"https://api.github.com/users/pietercolpaert/events{/privacy}","received_events_url":"https://api.github.com/users/pietercolpaert/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":6,"created_at":"2015-08-27T12:33:20Z","updated_at":"2015-08-27T18:13:47Z","closed_at":"2015-08-27T16:50:15Z","body":"Take for instance this example:\r\n\r\n```json\r\n{\r\n  \"@context\": {\r\n    \"geojson\": \"http://ld.geojson.org/vocab#\",\r\n    \"Feature\": \"geojson:Feature\", \r\n    \"features\": {\r\n        \"@id\": \"geojson:features\", \r\n        \"@container\": \"@set\"\r\n      }, \r\n      \"title\": \"http://purl.org/dc/terms/title\", \r\n      \"coordinates\": {\r\n        \"@id\": \"geojson:coordinates\",\r\n        \"@container\" : \"@list\"\r\n      }, \r\n      \"type\": \"@type\", \r\n      \"description\": \"http://purl.org/dc/terms/description\",\r\n      \"properties\": \"geojson:properties\", \r\n      \"geometry\": \"geojson:geometry\", \r\n      \"FeatureCollection\": \"geojson:FeatureCollection\", \r\n      \"LineString\": \"geojson:LineString\",\r\n      \"gtfs\": \"http://vocab.gtfs.org/terms#\",\r\n      \"stop\": {\r\n          \"@id\": \"gtfs:Stop\",\r\n          \"@type\": \"@id\"\r\n      }\r\n    },\r\n  \r\n    \"@id\" : \"http://example.org/shapes/shape1\",\r\n  \t\"type\": \"FeatureCollection\", \r\n  \t\"features\": [\r\n      {\r\n      \t\"type\": \"Feature\",\r\n        \"properties\": {\r\n          \"description\": \"Torhout - Lichtervelde\",\r\n          \"stop\": [ \"http://irail.be/stations/NMBS/008891314\",\"http://irail.be/stations/NMBS/008892205\"]\r\n        },\r\n        \"geometry\": {\r\n        \"type\": \"LineString\", \r\n        \"coordinates\": [\r\n          [\r\n            3.1057405471801753,\r\n            51.064216229943476\r\n          ],\r\n          [\r\n            3.1056976318359375,\r\n            51.063434090307574\r\n          ]\r\n        ]\r\n      }\r\n    } \r\n  ]\r\n}\r\n```\r\n\r\nConverted to RDF triples, this gives \r\n```turtle\r\n<http://example.org/shapes/shape1> <http://ld.geojson.org/vocab#features> _:b0 .\r\n<http://example.org/shapes/shape1> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://ld.geojson.org/vocab#FeatureCollection> .\r\n_:b0 <http://ld.geojson.org/vocab#geometry> _:b1 .\r\n_:b0 <http://ld.geojson.org/vocab#properties> _:b2 .\r\n_:b0 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://ld.geojson.org/vocab#Feature> .\r\n_:b1 <http://ld.geojson.org/vocab#coordinates> \"3.105697631835938E0\"^^<http://www.w3.org/2001/XMLSchema#double> .\r\n_:b1 <http://ld.geojson.org/vocab#coordinates> \"3.105740547180175E0\"^^<http://www.w3.org/2001/XMLSchema#double> .\r\n_:b1 <http://ld.geojson.org/vocab#coordinates> \"5.106343409030757E1\"^^<http://www.w3.org/2001/XMLSchema#double> .\r\n_:b1 <http://ld.geojson.org/vocab#coordinates> \"5.106421622994348E1\"^^<http://www.w3.org/2001/XMLSchema#double> .\r\n_:b1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://ld.geojson.org/vocab#LineString> .\r\n_:b2 <http://purl.org/dc/terms/description> \"Torhout - Lichtervelde\" .\r\n_:b2 <http://vocab.gtfs.org/terms#Stop> <http://irail.be/stations/NMBS/008891314> .\r\n_:b2 <http://vocab.gtfs.org/terms#Stop> <http://irail.be/stations/NMBS/008892205> .\r\n```\r\n\r\nThese coordinates are not usable in this form as I have no idea which lon and lat has to be used together to form a coordinate"},"comment":{"url":"https://api.github.com/repos/geojson/geojson-ld/issues/comments/135511194","html_url":"https://github.com/geojson/geojson-ld/issues/32#issuecomment-135511194","issue_url":"https://api.github.com/repos/geojson/geojson-ld/issues/32","id":135511194,"user":{"login":"dret","id":1848612,"avatar_url":"https://avatars.githubusercontent.com/u/1848612?v=3","gravatar_id":"","url":"https://api.github.com/users/dret","html_url":"https://github.com/dret","followers_url":"https://api.github.com/users/dret/followers","following_url":"https://api.github.com/users/dret/following{/other_user}","gists_url":"https://api.github.com/users/dret/gists{/gist_id}","starred_url":"https://api.github.com/users/dret/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dret/subscriptions","organizations_url":"https://api.github.com/users/dret/orgs","repos_url":"https://api.github.com/users/dret/repos","events_url":"https://api.github.com/users/dret/events{/privacy}","received_events_url":"https://api.github.com/users/dret/received_events","type":"User","site_admin":false},"created_at":"2015-08-27T18:13:46Z","updated_at":"2015-08-27T18:13:46Z","body":"On 2015-08-27 10:39 , Pieter Colpaert wrote:\n> @dret <https://github.com/dret> I follow you completely, yet GIS people\n> looking for a pragmatic solution to leverage the semantic\n> interoperability within their geojson structures, are going to keep\n> looking at GeoJSON-LD and this repository.\n\none of the key questions is: will people just/mainly be interested to \nget access to the \"upper GeoJSON structures\" (features/collections), in \nwhich case just reflecting those into RDF would be sufficient, or will \nthey also want to work with the geometries, in which case not reflecting \nthat information might be an issue.\n\n> I thus want a very pragmatic\n> solution to bridge the gap between geojson and RDF, and I think adding a\n> keyword |@coordinates| to the JSON-LD is the perfect solution for this:\n> |  A JSON-LD parser should convert the JSON structure of an object with key `\"coordinates\"` towards 1 RDF literal (a WKT string)\n\ni think there is precedent for \"hacking RDF\" in this way where people \nchoose to serialize sequences into RDF strings, because RDF's missing \nsupport for sequences.\n\nhowever, this is a bit tricky. it essentially means that now people have \nto parse two levels: first the RDF itself, and then the structure \nembedded in the string (the \"WKT string\"). in the case of GeoJSON, this \ngets particularly tricky because of GeoJSON's extensibility: coordinates \ncan have more than just lat/long values. would those additional values \nget dropped?\n\n- if no, this means all implementations would need to make sure that \nthey correctly implement the string parsing to accommodate GeoJSON's \nextension model.\n\n- if yes, then this means GeoJSON-LD is effectively dropping information \nfrom GeoJSON and thus is not as expressive as GeoJSON itself.\n\npersonally, i think this is where JSON-LD (and any data binding techs in \ngeneral) show their limitations and potential problems. it's usually not \nthat hard to solve this kind of mapping between metamodels in tightly \ncoupled settings where all parts of the data model are known in advance, \nbut when you look at the bigger picture of extensibility and openness in \ndecentralized settings, things get tricky pretty fast.\n\ni cannot think of a simple good solution here, but i would recommend to \ncarefully think about all possible uses of GeoJSON, including all \nextension points, before making a decision.\n"}}