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 <[email protected]>
> Skickat: den 23 april 2020 20:26
> Till: jena-users-ml <[email protected]>
> Ä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 <[email protected]> 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 <[email protected]>
>> Skickat: den 23 april 2020 16:43
>> Till: [email protected] <[email protected]>
>> Ä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 <[email protected]>
>> Gesendet: Donnerstag, 23. April 2020 15:27
>> An: [email protected]
>> 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 <[email protected]>
>> Skickat: den 23 april 2020 14:35
>> Till: [email protected] <[email protected]>
>> Ä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 <[email protected]>
>> Gesendet: Donnerstag, 23. April 2020 13:49
>> An: [email protected]
>> 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 <[email protected]>
>> Skickat: den 23 april 2020 12:24
>> Till: [email protected] <[email protected]>
>> Ä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 <[email protected]>
>> Gesendet: Donnerstag, 23. April 2020 12:09
>> An: [email protected]
>> 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