Hello Arthur,
my example is a very little instance. We host thousands of TDB stores
like A, B and S on each machine. We access them directly and usually
operate on models created by dataSet.getDefaultModel(). Doing server
calls (even on localhost) is ineligible for performance reasons. By
this, your solution (calling a web server each time) unfortunately won't
work :(
Is there any other idea how we could bundle some TDB stores together to
run SPARQLS against it?
Any idea is appreciated :)
André
On 10.09.2013 08:55, Arthur Vaïsse-Lesteven wrote:
> I assume that each of your multiple TDB has his own local endpoint. If yes
> you can use Service clauses by writing something like [1]. The triples
> stocked in S will be shared by all your TDB, and update will be immediately
> applied for all.
>
> If not, I cannot help you.
>
>
> VAISSE-LESTEVEN Arthur.
>
>
>> SELECT ?o
>> WHERE {
>> ?s1 ?p1 ?o
>> SERVICE <localhost:3030/dataset_TDB_S/query> { ?s ?p ?o }
>> }
>
>
> ________________________________
> De : Dr. André Lanka <[email protected]>
> À : [email protected]
> Envoyé le : Lundi 9 septembre 2013 22h06
> Objet : Re: Shared composition of TDB datasets
>
>
> Hello Arthur,
>
> thanks for your hint. How would the endpoint address looks like? I
> assume it's not the file location on disk or is it? If it's a remote
> address it won't work for us. Setting up a separate server to access S
> is impossible for us. We need a "local" share, perhaps something like a
> dataset. We don't need to share S with others but we do need to share
> the triples stored in S internally with other TDB stores. By this a
> solution that works within our JVM is highly appreciated.
>
> André
>
> On 09.09.2013 21:46, Arthur Vaïsse-Lesteven wrote:
>> You may use federated query to query and modify the triple in the shared
>> TDB. Your query should look like :
>>
>> (Assuming he request is executed against TDB A)
>> SELECT ?o
>> WHERE {
>> ?s1 ?p1 ?o
>> SERVICE <endpoint adress of TDB S> { ?s ?p ?o }
>> }
>>
>>
>> I hope this will help you.
>>
>> Arthur
>>
>>
>> ________________________________
>> De : ""Dr. André Lanka"" <[email protected]>
>> À : [email protected]
>> Envoyé le : Lundi 9 septembre 2013 20h38
>> Objet : Shared composition of TDB datasets
>>
>>
>> Hello Jena community,
>>
>> I'm looking for a possibility to SPARQL two different TDB backed
>> datasets within one query. The background is that I have a few TDB
>> stores (say A and B) and one special TDB store S containing a few
>> triples that I want to "share" with the other stores.
>> For instance I want to do something like this:
>>
>> SELECT ?o WHERE { GRAPH <S> { ?s ?p ?o. } GRAPH <A> { ?s1 ?p1 ?o.} }
>>
>> In addition, S needs to be writeable and the changes need to be promptly
>> visible for other queries. Even if I change A to B in the above example.
>>
>> I know about named graphs but unfortunately they are no option in our
>> scenario. Could I do it by using assemblers? Or is there any other
>> possibility?
>>
>> We use the current versions of Jena/ARQ/TDB in pure Java.
>>
>> Thanks in advance
>> André
>>
>
--
Dr. André Lanka * 0178 / 134 44 47 * http://dr-lanka.de