Sends a SPARQL query to the Data Commons SPARQL endpoint using a POST request.
dc_post_sparql(
query,
api_key = Sys.getenv("DATACOMMONS_API_KEY"),
base_url = Sys.getenv("DATACOMMONS_BASE_URL", unset =
"https://api.datacommons.org/v2/"),
return_type = "json"
)A character string containing a valid SPARQL query.
Your Data Commons API key. If not provided, uses the
environment variable DATACOMMONS_API_KEY.
The base URL of the Data Commons API. Defaults to the public
endpoint. For custom deployments, must end with /core/api/v2/.
Return format: either "list" (parsed R object) or
"json" (JSON string).
A list or JSON string, depending on return_type.
# Get a list of all cities with a particular property
query <- c(
paste0(
"SELECT DISTINCT ?subject ",
"WHERE {?subject unDataLabel ?object . ?subject typeOf City} LIMIT 10"
)
)
dc_post_sparql(query)
#> [1] "{\"header\":[\"?subject\"],\"rows\":[{\"cells\":[{\"value\":\"wikidataId/Q92212\"}]},{\"cells\":[{\"value\":\"undata-geo/C23400001\"}]},{\"cells\":[{\"value\":\"undata-geo/C16801979\"}]},{\"cells\":[{\"value\":\"undata-geo/C16800786\"}]},{\"cells\":[{\"value\":\"undata-geo/C26500024\"}]},{\"cells\":[{\"value\":\"undata-geo/C07500807\"}]},{\"cells\":[{\"value\":\"undata-geo/C16800843\"}]},{\"cells\":[{\"value\":\"undata-geo/C16800676\"}]},{\"cells\":[{\"value\":\"wikidataId/Q208149\"}]},{\"cells\":[{\"value\":\"wikidataId/Q2933\"}]}]}"
# Get a list of biological specimens
query <- c(
paste0(
"SELECT DISTINCT ?name ",
"WHERE {?biologicalSpecimen typeOf BiologicalSpecimen . ",
"?biologicalSpecimen name ?name} ",
"ORDER BY DESC(?name)",
"LIMIT 10"
)
)
dc_post_sparql(query)
#> iterating ■■■ 5% | ETA: 23s
#> [1] "{\"header\":[\"?name\"],\"rows\":[{\"cells\":[{\"value\":\"x Triticosecale\"}]},{\"cells\":[{\"value\":\"x Silene\"}]},{\"cells\":[{\"value\":\"x Pseudelymus saxicola (Scribn. & J.G.Sm.) Barkworth & D.R.Dewey\"}]},{\"cells\":[{\"value\":\"x Pleopodium leucosporum (Klotzsch) Mickel & Beitel\"}]},{\"cells\":[{\"value\":\"x Grindelia\"}]},{\"cells\":[{\"value\":\"x Elyleymus ungavensis (Louis-Marie) Barkworth\"}]},{\"cells\":[{\"value\":\"x Elyleymus aristatus (Merr.) Barkworth & D.R.Dewey\"}]},{\"cells\":[{\"value\":\"x Elyhordeum stebbinsianum (Bowden) Bowden\"}]},{\"cells\":[{\"value\":\"x Elyhordeum schaackianum (Bowden) Bowden\"}]},{\"cells\":[{\"value\":\"x Elyhordeum pilosilemma (W.W.Mitch. & H.J.Hodgs.) Barkworth\"}]}]}"