OSM Planet: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
|||
| Line 64: | Line 64: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
== Example | == Sophox Example Queries == | ||
<source lang='bash' highlight='1'> | <source lang='bash' highlight='1'> | ||
sparqlquery -qp osmplanet.yaml -qn RelationStats -en osm-sophox --param relid=6843452 -f mediawiki | sparqlquery -qp osmplanet.yaml -qn RelationStats -en osm-sophox --param relid=6843452 -f mediawiki | ||
| Line 142: | Line 141: | ||
|- | |- | ||
| https://www.openstreetmap.org/meta/has || https://www.openstreetmap.org/node/6767844278 | | https://www.openstreetmap.org/meta/has || https://www.openstreetmap.org/node/6767844278 | ||
|} | |||
== QLever example queries == | |||
<source lang='bash' highighlight='1'> | |||
sparqlquery -d -qp osmplanet.yaml -en osm-qlever -p -qn RelationRoleHistogram -f mediawiki --param relid=10492086 | |||
</source> | |||
named query RelationRoleHistogram: | |||
sparql: | |||
PREFIX osmrel: <https://www.openstreetmap.org/relation/> | |||
PREFIX osm2rdfmember: <https://osm2rdf.cs.uni-freiburg.de/rdf/member#> | |||
SELECT ?role (COUNT(?member) as ?count) | |||
WHERE { | |||
osmrel:10492086 osmrel:member ?member . | |||
?member osm2rdfmember:role ?role . | |||
} | |||
GROUP BY ?role | |||
ORDER BY DESC(?count) | |||
== RelationRoleHistogram == | |||
=== query === | |||
<source lang='sparql'> | |||
PREFIX osmrel: <https://www.openstreetmap.org/relation/> | |||
PREFIX osm2rdfmember: <https://osm2rdf.cs.uni-freiburg.de/rdf/member#> | |||
SELECT ?role (COUNT(?member) as ?count) | |||
WHERE { | |||
osmrel:10492086 osmrel:member ?member . | |||
?member osm2rdfmember:role ?role . | |||
} | |||
GROUP BY ?role | |||
ORDER BY DESC(?count) | |||
</source> | |||
[https://qlever.cs.uni-freiburg.de/osm-planet?query=PREFIX%20osmrel%3A%20%3Chttps%3A//www.openstreetmap.org/relation/%3E%0APREFIX%20osm2rdfmember%3A%20%3Chttps%3A//osm2rdf.cs.uni-freiburg.de/rdf/member%23%3E%0ASELECT%20%3Frole%20%28COUNT%28%3Fmember%29%20as%20%3Fcount%29%0AWHERE%20%7B%0A%20%20osmrel%3A10492086%20osmrel%3Amember%20%3Fmember%20.%0A%20%20%3Fmember%20osm2rdfmember%3Arole%20%3Frole%20.%0A%7D%0AGROUP%20BY%20%3Frole%0AORDER%20BY%20DESC%28%3Fcount%29%0A try it!] | |||
=== result === | |||
{| class="wikitable" style="text-align: left;" | |||
|+ <!-- caption --> | |||
|- | |||
! role !! align="right"| count | |||
|- | |||
| member || align="right"| 624 | |||
|- | |||
| platform || align="right"| 31 | |||
|- | |||
| stop || align="right"| 26 | |||
|} | |} | ||
Revision as of 11:13, 20 January 2025
Links
- https://wiki.openstreetmap.org/wiki/Sophox
- https://qlever.cs.uni-freiburg.de/osm
- https://wiki.bitplan.com/index.php?title=OSM_Planet
- https://wiki.openstreetmap.org/wiki/Sophox/Example_queries
- https://wiki.openstreetmap.org/wiki/OpenTripPlanner
OSM Planet SPARQL Queries with pylodstorage query tool
Configuration for pylodstorage sparqlquery tool
see https://pypi.org/project/pyLodStorage/
installation
pip install pylodstorage
The configuration files need to be in $HOME/.pylodstorage or you have to explicitly give the path with the -ep and -qp options
endpoints.yaml
osm-sophox:
endpoint: https://sophox.org/sparql
website: https://sophox.org
database: blazegraph
method: POST
lang: sparql
prefixes: |
PREFIX osmrel: <https://www.openstreetmap.org/relation/>
PREFIX osmt: <https://wiki.openstreetmap.org/wiki/Key:>
PREFIX osmm: <https://www.openstreetmap.org/meta/>
PREFIX geo: <http://www.opengis.net/ont/geosparql#>
osm-qlever:
endpoint: https://qlever.cs.uni-freiburg.de/api/osm-planet
website: https://qlever.cs.uni-freiburg.de/osm-planet
database: qlever
method: POST
lang: sparql
prefixes: |
PREFIX osmrel: <https://www.openstreetmap.org/relation/>
PREFIX osmt: <https://wiki.openstreetmap.org/wiki/Key:>
PREFIX osmm: <https://www.openstreetmap.org/meta/>
PREFIX geo: <http://www.opengis.net/ont/geosparql#>
PREFIX osm2rdfmember: <https://osm2rdf.cs.uni-freiburg.de/rdf/member#>
PREFIX osmway: <https://www.openstreetmap.org/way/>
osmplanet.yaml (or queries.yaml as default)
RelationStats:
endpoint: osm-qlever
param_list:
- name: relid
type: str
default_value: "6843452"
sparql: |
# Get statistics about predicates used in an OSM relation
SELECT ?p (COUNT(?o) as ?count)
WHERE {
osmrel:{{relid}} ?p ?o .
}
GROUP BY ?p
HAVING (?count > 1)
ORDER BY DESC(?count)
Sophox Example Queries
sparqlquery -qp osmplanet.yaml -qn RelationStats -en osm-sophox --param relid=6843452 -f mediawiki
RelationStats
query
# Get statistics about predicates used in an OSM relation
PREFIX osmrel: <https://www.openstreetmap.org/relation/>
SELECT ?p (COUNT(?o) as ?count)
WHERE {
osmrel:6843452 ?p ?o .
}
GROUP BY ?p
HAVING (?count > 1)
ORDER BY DESC(?count)
result
| p | count |
|---|---|
| https://www.openstreetmap.org/meta/has | 186 |
sparqlquery -qp osmplanet.yaml -qn RelationNodes -en osm-sophox --param relid=6843452 -f mediawiki
RelationNodes
query
# Get all nodes for an OSM relation
PREFIX osmrel: <https://www.openstreetmap.org/relation/>
SELECT *
WHERE {
osmrel:6843452 ?p ?o .
FILTER(STRSTARTS(STR(?o), "https://www.openstreetmap.org/node/"))
}
result
QLever example queries
sparqlquery -d -qp osmplanet.yaml -en osm-qlever -p -qn RelationRoleHistogram -f mediawiki --param relid=10492086
named query RelationRoleHistogram:
sparql: PREFIX osmrel: <https://www.openstreetmap.org/relation/> PREFIX osm2rdfmember: <https://osm2rdf.cs.uni-freiburg.de/rdf/member#> SELECT ?role (COUNT(?member) as ?count) WHERE {
osmrel:10492086 osmrel:member ?member . ?member osm2rdfmember:role ?role .
} GROUP BY ?role ORDER BY DESC(?count)
RelationRoleHistogram
query
PREFIX osmrel: <https://www.openstreetmap.org/relation/>
PREFIX osm2rdfmember: <https://osm2rdf.cs.uni-freiburg.de/rdf/member#>
SELECT ?role (COUNT(?member) as ?count)
WHERE {
osmrel:10492086 osmrel:member ?member .
?member osm2rdfmember:role ?role .
}
GROUP BY ?role
ORDER BY DESC(?count)
result
| role | count |
|---|---|
| member | 624 |
| platform | 31 |
| stop | 26 |