Объединенный запрос SPARQL для подграфа конечной точки SPARQL
Я хотел бы спросить, как выполнить федеративный запрос SPARQL для подграфа конечной точки SPARQL (а не всей удаленной конечной точки SPARQL).
Я получил свои данные в Virtuoso v7, в то время как конечная точка SPARQL - " http://localhost:8890/sparql", я хотел бы сделать удаленный запрос к подграфу этой конечной точки, который " http://localhost:8890/TC", и я попробовал
SELECT *
WHERE
{ SERVICE <http://localhost:8890/sparql>
{ SELECT ?subject ?predicate ?object
FROM <http://localhost:8890/TC>
WHERE
{ ?subject ?predicate ?object }
}
} LIMIT 50
И я получил ошибку, что "ОТ" неправильно используется, поэтому у меня есть два вопроса:
1) я могу сделать удаленный запрос на подграфе конечной точки SPARQL?
2) можно ли иметь конечную точку SPARQL для каждого графика в Virtuoso v7?
Большое спасибо за вашу помощь.
1 ответ
Вы можете использовать график вместо.
В вашем примере:
SELECT *
WHERE
{
SERVICE <http://localhost:8890/sparql>
{
SELECT ?subject ?predicate ?object
WHERE
{ graph <http://localhost:8890/TC> { ?subject ?predicate ?object } }
}
} LIMIT 50
Я протестировал этот синтаксис с помощью следующего запроса в конечной точке Uniprot SPARQL (Virtuoso) во время интеграции с dbpedia (Virtuoso):
SELECT *
WHERE
{ SERVICE <http://dbpedia.org/sparql>
{select distinct ?activity where { graph <http://dbpedia.org> {?activity a <http://www.ontologydesignpatterns.org/ont/d0.owl#Activity>} } LIMIT 10
}
} LIMIT 50