You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@jena.apache.org by Glenn TheMan <an...@hotmail.com> on 2020/04/23 10:05:36 UTC

Union different dataset in Fuseki

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
  }
}

Re: Union different dataset in Fuseki

Posted by Martynas Jusevičius <ma...@atomgraph.com>.
I think for querying across two different datasets you need
federation? Which is done using SERVICE in SPARQL:
https://www.w3.org/TR/sparql11-federated-query/

On Thu, Apr 23, 2020 at 12:09 PM Lorenz Buehmann
<bu...@informatik.uni-leipzig.de> wrote:
>
> 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
> >   }
> > }
> >

Re: Sv: Union different dataset in Fuseki

Posted by Lorenz Buehmann <bu...@informatik.uni-leipzig.de>.
without having a running Fuseki, you could also make use of Jena CLI
tools, e.g.

/PATH_TO_JENA_DIST/bin/qparse --print=query "select * {?s ?p ?o}"

On 24.04.20 09:47, Glenn TheMan wrote:
> 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 <ma...@atomgraph.com>
> Skickat: den 23 april 2020 20:26
> Till: jena-users-ml <us...@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 <an...@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 <me...@rwth-aachen.de>
>> Skickat: den 23 april 2020 16:43
>> Till: users@jena.apache.org <us...@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 <an...@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 <me...@rwth-aachen.de>
>> Skickat: den 23 april 2020 14:35
>> Till: users@jena.apache.org <us...@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 <an...@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 <me...@rwth-aachen.de>
>> Skickat: den 23 april 2020 12:24
>> Till: users@jena.apache.org <us...@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 <bu...@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
>>>   }
>>> }
>>>

Sv: Union different dataset in Fuseki

Posted by Glenn TheMan <an...@hotmail.com>.
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 <ma...@atomgraph.com>
Skickat: den 23 april 2020 20:26
Till: jena-users-ml <us...@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 <an...@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 <me...@rwth-aachen.de>
> Skickat: den 23 april 2020 16:43
> Till: users@jena.apache.org <us...@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 <an...@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 <me...@rwth-aachen.de>
> Skickat: den 23 april 2020 14:35
> Till: users@jena.apache.org <us...@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 <an...@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 <me...@rwth-aachen.de>
> Skickat: den 23 april 2020 12:24
> Till: users@jena.apache.org <us...@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 <bu...@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
> >   }
> > }
> >

Re: Union different dataset in Fuseki

Posted by Martynas Jusevičius <ma...@atomgraph.com>.
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 <an...@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 <me...@rwth-aachen.de>
> Skickat: den 23 april 2020 16:43
> Till: users@jena.apache.org <us...@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 <an...@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 <me...@rwth-aachen.de>
> Skickat: den 23 april 2020 14:35
> Till: users@jena.apache.org <us...@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 <an...@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 <me...@rwth-aachen.de>
> Skickat: den 23 april 2020 12:24
> Till: users@jena.apache.org <us...@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 <bu...@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
> >   }
> > }
> >

Re: Sv: Union different dataset in Fuseki

Posted by Merlin Bögershausen <me...@rwth-aachen.de>.
Hi,
If you search for "UNION" in the SPARQL Recommendation 1.1 [1] there 
are multiple examples usages of UNION.

UNION Syntax: { TriplePattern1 } UNION { TriplePattern2 }

My Suggestions:
Curly braces around the first ?s ?p ?oCheck the Service URL, usualy the 
default endpoint URL end with "query" or "sparql", see section of the 
Fuseki Server Doku [2]

Best Merlin


[1] <https://www.w3.org/TR/sparql11-query/>
[2] <https://jena.apache.org/documentation/fuseki2/fuseki-main.html>

Am Do, 23. Apr, 2020 um 4:55 P. M. schrieb Glenn TheMan 
<an...@hotmail.com>:
> 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.boegershausen@rwth-aachen.de 
> <ma...@rwth-aachen.de>>
> Skickat: den 23 april 2020 16:43
> Till: users@jena.apache.org <ma...@jena.apache.org> 
> <users@jena.apache.org <ma...@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 <anykeystudio@hotmail.com 
> <ma...@hotmail.com>>
> Gesendet: Donnerstag, 23. April 2020 15:27
> An: users@jena.apache.org <ma...@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.boegershausen@rwth-aachen.de 
> <ma...@rwth-aachen.de>>
> Skickat: den 23 april 2020 14:35
> Till: users@jena.apache.org <ma...@jena.apache.org> 
> <users@jena.apache.org <ma...@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 <anykeystudio@hotmail.com 
> <ma...@hotmail.com>>
> Gesendet: Donnerstag, 23. April 2020 13:49
> An: users@jena.apache.org <ma...@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.boegershausen@rwth-aachen.de 
> <ma...@rwth-aachen.de>>
> Skickat: den 23 april 2020 12:24
> Till: users@jena.apache.org <ma...@jena.apache.org> 
> <users@jena.apache.org <ma...@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 <buehmann@informatik.uni-leipzig.de 
> <ma...@informatik.uni-leipzig.de>>
> Gesendet: Donnerstag, 23. April 2020 12:09
> An: users@jena.apache.org <ma...@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
>>    }
>>  }
>> 


Sv: Union different dataset in Fuseki

Posted by Glenn TheMan <an...@hotmail.com>.
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 <me...@rwth-aachen.de>
Skickat: den 23 april 2020 16:43
Till: users@jena.apache.org <us...@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 <an...@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 <me...@rwth-aachen.de>
Skickat: den 23 april 2020 14:35
Till: users@jena.apache.org <us...@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 <an...@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 <me...@rwth-aachen.de>
Skickat: den 23 april 2020 12:24
Till: users@jena.apache.org <us...@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 <bu...@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
>   }
> }
>

AW: Union different dataset in Fuseki

Posted by Bögershausen, Merlin <me...@rwth-aachen.de>.
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 <an...@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 <me...@rwth-aachen.de>
Skickat: den 23 april 2020 14:35
Till: users@jena.apache.org <us...@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 <an...@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 <me...@rwth-aachen.de>
Skickat: den 23 april 2020 12:24
Till: users@jena.apache.org <us...@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 <bu...@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
>   }
> }
>

Sv: Union different dataset in Fuseki

Posted by Glenn TheMan <an...@hotmail.com>.
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 <me...@rwth-aachen.de>
Skickat: den 23 april 2020 14:35
Till: users@jena.apache.org <us...@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 <an...@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 <me...@rwth-aachen.de>
Skickat: den 23 april 2020 12:24
Till: users@jena.apache.org <us...@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 <bu...@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
>   }
> }
>

AW: Union different dataset in Fuseki

Posted by Bögershausen, Merlin <me...@rwth-aachen.de>.
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 <an...@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 <me...@rwth-aachen.de>
Skickat: den 23 april 2020 12:24
Till: users@jena.apache.org <us...@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 <bu...@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
>   }
> }
>

Sv: Union different dataset in Fuseki

Posted by Glenn TheMan <an...@hotmail.com>.
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 <me...@rwth-aachen.de>
Skickat: den 23 april 2020 12:24
Till: users@jena.apache.org <us...@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 <bu...@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
>   }
> }
>

AW: Union different dataset in Fuseki

Posted by Bögershausen, Merlin <me...@rwth-aachen.de>.
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 <bu...@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
>   }
> }
>

Re: Union different dataset in Fuseki

Posted by Lorenz Buehmann <bu...@informatik.uni-leipzig.de>.
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
>   }
> }
>