Add a triple pattern statement to a query
Arguments
- .query
query
- .triple_pattern
the triple pattern statement (replaces arguments subject verb and object)
- .subject
an anonymous variable (for instance, and by default, "?subject") or item (for instance "wd:Q456"))
- .verb
the property (for instance "wdt:P190")
- .object
an anonymous variable (for instance, and by default, "?object") or item (for instance "wd:Q456"))
- .prefixes
Custom prefixes
- .required
whether the existence of a value for the triple is required or not (defaults to TRUE). If set to FALSE, then other triples in the query are returned even if this particular triple is missing)
- .label
See
spq_label()
.- .within_box
if provided, rectangular bounding box for the triple query. Provided as list(southwest=c(long=...,lat=...),northeast=c(long=...,lat=...))
- .within_distance
if provided, circular bounding box for the triple query. Provided as list(center=c(long=...,lat=...), radius=...), with radius in kilometers. The center can also be provided as a variable (for instance, "?location") for the center coordinates to be retrieved directly from the query.
- .filter
Filter for the triple. Only use this with
.required=FALSE
- .sibling_triple_pattern
Triple this triple is to be grouped with, especially (only?) useful if the sibling triple is optional.
Details
The arguments .subject
, .verb
, .object
are most useful for programmatic
usage, they are actually used within glitter code itself.
Examples
# find the cities
spq_init() %>%
spq_add("?city wdt:P31/wdt:P279* wd:Q486972") %>%
spq_label(city) %>%
spq_mutate(coords = wdt::P625(city),
.within_distance=list(center=c(long=4.84,lat=45.76),
radius=5)) %>%
spq_perform()
# find the individuals of the species
spq_init() %>%
spq_add("?mayor wdt:P31 ?species") %>%
# dog, cat or chicken
spq_set(species = c('wd:Q144','wd:Q146', 'wd:Q780')) %>%
# who occupy the function
spq_add("?mayor p:P39 ?node") %>%
# of mayor
spq_add("?node ps:P39 wd:Q30185") %>%
# of some places
spq_add("?node pq:P642 ?place") %>%
spq_perform()