Использование sprintf
должно помочь в этом случае.
var_1 <-'?birthday'
query <- sprintf('PREFIX ex: <http://mypersonality.ddm.cs.umu.se/0.1/>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
PREFIX fn: <http://www.w3.org/2005/xpath-functions#>
PREFIX op: <http://environment.data.gov.au/def/op#>
SELECT ?userid %s
WHERE {
?contributor ex:userid ?userid .
?contributor ex:birthday ?birthday .
}limit 30',var_1)
Возможно, вы захотите попробовать другой тип вместо %s
в зависимости от того, что вы будете вводить.Попробуйте запустить ?sprintf
, который должен объяснить все о различных типах.
В другом примечании:
gsub
также может быть хорошей идеей:
var_1 <-'?birthday'
query <- 'PREFIX ex: <http://mypersonality.ddm.cs.umu.se/0.1/>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
PREFIX fn: <http://www.w3.org/2005/xpath-functions#>
PREFIX op: <http://environment.data.gov.au/def/op#>
SELECT ?userid ?birthday
WHERE {
?contributor ex:userid ?userid .
?contributor ex:birthday ?birthday .
}limit 30'
query <- gsub("?birthday",var_1, query,fixed = TRUE)
Он ищет ?birthday
ссылок в запросе и заменяет их переменной var_1
.Фиксированный аргумент используется для того, чтобы убедиться, что ex:birthday
также не заменяется, поскольку ?
является подстановочным знаком в регулярных выражениях.