The SERVICE clause can include any clauses you can use elsewhere in the query.
You can use a GRAPH clause inside your SERVICE clause i.e.
SERVICE
<http://jena.int.microbiomestudio.fr:8080/jena-fuseki-war-4.7.0/demo>
{
GRAPH ?g { ?protein biolink:provided_by ?soft . }
}
If the results might be in the default graph or a named graph you can use UNION
and GRAPH within your SERVICE clause i.e.
SERVICE
<http://jena.int.microbiomestudio.fr:8080/jena-fuseki-war-4.7.0/demo>
{
{ GRAPH ?g { ?protein biolink:provided_by ?soft . } } UNION { ?protein
biolink:provided_by ?soft }
}
Hope this helps,
Rob
From: Steven Blanchard <[email protected]>
Date: Friday, 3 February 2023 at 08:32
To: users <[email protected]>
Subject: from a named graph in a federated query
Dear Jena users,
I would like to do a federated query (with SERVICE) but on a named
graph and not on the default graph. How it is possible?
This query works if data are in the default graph :
query = """
PREFIX biolink: <<https://w3id.org/biolink/vocab/>>
PREFIX up: <<http://purl.uniprot.org/uniprot/>>
PREFIX reaction: <<http://sparql.microbiome.studio/reaction/>>
SELECT DISTINCT
?reaction
(COUNT(DISTINCT ?soft) AS ?NSOFT)
FROM <urn:x-arq:UnionGraph>
WHERE {
SERVICE
<<http://jena.int.microbiomestudio.fr:8080/jena-fuseki-war-4.7.0/demo>>
{
?protein biolink:provided_by ?soft .
}
?protein biolink:category biolink:Protein .
?reaction biolink:has_catalyst ?protein .
}
GROUP BY ?reaction
"""
But i have no results if data are in a named graph:
query = """
PREFIX biolink: <<https://w3id.org/biolink/vocab/>>
PREFIX up: <<http://purl.uniprot.org/uniprot/>>
PREFIX reaction: <<http://sparql.microbiome.studio/reaction/>>
SELECT DISTINCT
?reaction
(COUNT(DISTINCT ?soft) AS ?NSOFT)
FROM <urn:x-arq:UnionGraph>
WHERE {
SERVICE
<<http://jena.int.microbiomestudio.fr:8080/jena-fuseki-war-4.7.0/demo2?graph=http://sparql.microbiome.studio/graph/SampleName>>
{
?protein biolink:provided_by ?soft .
}
?protein biolink:category biolink:Protein .
?reaction biolink:has_catalyst ?protein .
}
GROUP BY ?reaction
"""
What is the synthax to query a named graph by SERVICE ?
Thanks in advance,
Steven