Thanks Martynas

I knew it was the curly brackets that I didn't get right. The SPARQL validator 
is good to have when I don't run the Fuseki.

Greetings Glenn.
________________________________
Från: Martynas Jusevičius <marty...@atomgraph.com>
Skickat: den 23 april 2020 20:26
Till: jena-users-ml <users@jena.apache.org>
Ämne: Re: Union different dataset in Fuseki

SELECT  ?s ?p ?o
WHERE
  {   { ?s  ?p  ?o }
    UNION
      { SERVICE <http://localhost:8080/fuseki/model2>
          { ?s  ?p  ?o }
      }
  }

This validates, you can check here: http://sparql.org/

Should work :)

On Thu, Apr 23, 2020 at 6:55 PM Glenn TheMan <anykeystu...@hotmail.com> wrote:
>
> Well I maybe be a newbie on SPARQL but I've bean using Jena and RDF4J 
> crunching data programmatically and avoid SPARQL as much as I can. So yes 
> I've done UNION/Intersect etc in code even in SPARQL but not federated. I've 
> read the W3C federated manual, copying the OPTIONAL syntax since there are no 
> UNION example, but no luck. Some syntax help would be appreciated?
>
> SELECT ?s ?p ?o
> WHERE
> {
>   ?s ?p ?o
>   UNION {
>   SERVICE <http://localhost:8080/fuseki/model2> {
>     ?s ?p ?o
> }
> }
> }
>
> //Cheers
> ________________________________
> Från: Bögershausen, Merlin <merlin.boegershau...@rwth-aachen.de>
> Skickat: den 23 april 2020 16:43
> Till: users@jena.apache.org <users@jena.apache.org>
> Ämne: AW: Union different dataset in Fuseki
>
> You are half way done ;)
> Now use the UNION Key word [1].
> UNION produces the UNION of two Collections of triples.
> In your case the triple pattern ?s ?p ?o produces the first and the service  
> produces the second collection.
>
> Best Merlin
>
> [1] https://en.wikibooks.org/wiki/SPARQL/UNION
>
> -----Ursprüngliche Nachricht-----
> Von: Glenn TheMan <anykeystu...@hotmail.com>
> Gesendet: Donnerstag, 23. April 2020 15:27
> An: users@jena.apache.org
> Betreff: Sv: Union different dataset in Fuseki
>
> I see you point Merlin.
>
> I am new to federated query as you guessed :) I do have two different 
> datasets with unnamed graphs (default graphs). I use one of the dataset 
> endpoints and link in the other with SERVICE. The query below give my a 
> intersect instead of the union. How to I perform a union between the to 
> different dataset with unnamed graphs?
>
> PREFIX ex: <http://clearbyte.org/>
> SELECT ?s ?p ?o
> WHERE
> {
>   ?s ?p ?o
>   SERVICE <http://localhost:8080/fuseki/model2> {
>     ?s ?p ?o
>   }
> }
>
> Result:
> 1
> ex:Guernica<http://clearbyte.org/Guernica>
> <http://www.w3.org/2000/01/rdf-schema#label><http://www.w3.org/2000/01/rdf-schema#label>
> "Guernica"
> 2
> ex:Picasso<http://clearbyte.org/Picasso>
> ex:homeAddress<http://clearbyte.org/homeAddress>
> _:b0
> 3
> ex:Picasso<http://clearbyte.org/Picasso>
> <http://xmlns.com/foaf/0.1/surname><http://xmlns.com/foaf/0.1/surname>
> "Picasso"
> 4
> ex:Picasso<http://clearbyte.org/Picasso>
> ex:creatorOf<http://clearbyte.org/creatorOf>
> ex:guernica<http://clearbyte.org/guernica>
> 5
> ex:Picasso<http://clearbyte.org/Picasso>
> <http://xmlns.com/foaf/0.1/firstName><http://xmlns.com/foaf/0.1/firstName>
> "Pablo"
>
> //Cheers
> ________________________________
> Från: Bögershausen, Merlin <merlin.boegershau...@rwth-aachen.de>
> Skickat: den 23 april 2020 14:35
> Till: users@jena.apache.org <users@jena.apache.org>
> Ämne: AW: Union different dataset in Fuseki
>
> Hi,
> Very interesting part seems still not clear. Do you have two graphs in the 
> SAME dataset which need to be merged or do you have two datasets with graphs 
> that need to be merged.
>
> Two datasets (datasets are a set of graphs) mean that you have two SPARQL 
> endpoints in fuseki. A Query is send to exactly one endpoint.
> If a query needs information from a second dataset the second endpoint need 
> to be queried. This is done with the SERVICE pattern, see example in [1]. 
> (union with federated query)
>
> If the data is in two graph in the SAME dataset the FROM keyword does the 
> trick. In  this ´scenario you must have at least one named graph.
> Example see [2], this is the SPARQL language recommendation with good 
> examples to start from. (union with graph pattern)
>
> Best Merlin
>
> [1] https://www.w3.org/TR/sparql11-query/#specifyingDataset
> [2] https://jena.apache.org/tutorials/sparql_datasets.html
>
> -----Ursprüngliche Nachricht-----
> Von: Glenn TheMan <anykeystu...@hotmail.com>
> Gesendet: Donnerstag, 23. April 2020 13:49
> An: users@jena.apache.org
> Betreff: Sv: Union different dataset in Fuseki
>
> Sorry if my question was imprecise and to upset people. Even the W3C guide 
> for federated states "... opportunity to merge data distributed across the 
> Web"
>
> But union of the two dataset is what I want. I was unclear about the syntax 
> and how to use prefix for the two local dataset in the query. My dataset's 
> are local so I don't need use the SERVICE keyword i guess, please provide an 
> example bases on the initial question?
>
> Cheers
> ________________________________
> Från: Bögershausen, Merlin <merlin.boegershau...@rwth-aachen.de>
> Skickat: den 23 april 2020 12:24
> Till: users@jena.apache.org <users@jena.apache.org>
> Ämne: AW: Union different dataset in Fuseki
>
> Hi Glenn,
> "merge" and "redundant" are a very overloaded term, please be as specific as 
> possible ;-) And even equality is not that clear [1].
>
> If the data is located in different datasets you should use federated queries 
> [2].
> If they are in the same dataset but in different graphs the graph pattern 
> should be enough.
> I suggest reading the SPARQL tutorial [3]  to understand the basics of SPARQL.
>
> Please understand the sources and repost the question afterwards, if still 
> relevant.
>
> Best Merlin
>
> [1] https://www.w3.org/TR/sparql11-query/#OperatorMapping
> [2] https://jena.apache.org/documentation/query/service.html
> [3] https://jena.apache.org/tutorials/sparql.html
>
> -----Ursprüngliche Nachricht-----
> Von: Lorenz Buehmann <buehm...@informatik.uni-leipzig.de>
> Gesendet: Donnerstag, 23. April 2020 12:09
> An: users@jena.apache.org
> Betreff: Re: Union different dataset in Fuseki
>
> what do you mean by "merge"? What is the result? A proper RDF dataset?
> Then indeed CONSTRUCT. "optional" is **not** a query type, so I don't 
> understand what you mean by this.
>
> Please provide some more details, also what "redundant" means.
>
> Also, if you have multiple models, Fuseki setup allows for configuring to 
> query the UNION of both
>
> On 23.04.20 12:05, Glenn TheMan wrote:
> > Hi, I am trying to merge two models (with some redundant info) that are 
> > persist in two different dataset's in Fuseki (3.14). I am using the 
> > included SPARQL query console and set the endpoint for the query to 
> > http://localhost:8080/fuseki/.
> > How would the SPARQL syntax look like to merge the similar datasets (using 
> > select, construct or optional)?
> >
> > Greetings.
> >
> > This is my attempt;
> > PREFIX a: <http://localhost:8080/fuseki/model1/>
> > PREFIX b: <http://localhost:8080/fuseki/model2/>
> > SELECT ?s ?p ?o
> > WHERE
> > {
> >   {
> >     ?s  ?p ?o
> >   }
> >   UNION
> >   {
> >     ?s ?p ?p
> >   }
> > }
> >

Reply via email to