Yes, unless you have made some changes in configuration that you would not have
made without noticing. {grin} TDB is the default storage for Fuseki.
---
A. Soroka
The University of Virginia Library
> On Aug 26, 2016, at 6:40 AM, Mikael Pesonen <[email protected]>
> wrote:
>
>
> Hi Rob,
>
> Im using this command to start db:
>
> /usr/bin/java -Xmx3600M -jar apache-jena-fuseki-2.3.1/fuseki-server.jar
> --update --port 3030 --loc=../apache-jena-3.0.1/DB /ds
>
> and s- command line tools to make queries. In documentation there is tdbquery
> which I'm not using. But TDB is still in use?
>
> Thanks,
> Mikael
>
>
>
> On 26.8.2016 13:27, Rob Vesse wrote:
>> Mikael
>>
>> If you’re using Fuseki then you are using TDB already. TDB is a native RDF
>> database that uses memory mapped files to make data access as fast as
>> possible.
>>
>> SDB is a legacy system built on top of relational databases, so queries have
>> to be compiled into SQL, submitted to the underlying relational database,
>> and their results translated back into RDF appropriately. More complex
>> queries cannot be translated directly into a single SQL query due to the
>> differing semantics between the two query languages I may require many SQL
>> Queries to answer. SDB is no longer actively developed and receives only
>> minor bug fixes.
>>
>> As for when you would not use TDB no probably three main criteria:
>>
>> 1 - the amount of data you will store is that into the billions of triples.
>> TDB Will scale pretty well into the millions of triples although this will
>> depend on the complexity of the queries.
>> 2 - when you need clustering for load balancing, failover etc. TDB is a
>> single node system, while there are ways to do load balancing these
>> typically rely on layering additional services on top of it
>> 3 - when you need reasoning support. TDB does not natively support
>> reasoning, you can use other Jena apis to add this but they Will
>> substantially be great performance because they require all the data to be
>> in heap memory. If your data is static then you can compute the inference
>> closure once and persist that into the database but if you need dynamic
>> inference or extremely large-scale inference then TDB Will not be suitable.
>>
>> There are plenty of commercial options that do address the above three
>> criteria and people can probably provide recommendations if you think you
>> need a commercial option.
>>
>> It is also worth noting that some queries are simply hard for any query
>> engine to answer
>>
>> Rob
>>
>> On 26/08/2016 10:46, "Mikael Pesonen" <[email protected]> wrote:
>>
>> Hi, still wondering what I should do to make the performance better.
>> I read that TDB is faster. What is the reason not to use TDB? Cant
>> find
>> any comparison on SDB and TDB in that regard.
>> Br,
>> Mikael
>> On 16.8.2016 13:13, Andy Seaborne wrote:
>> > On 15/08/16 09:47, Mikael Pesonen wrote:
>> >>
>> >> Hi,
>> >>
>> >> what do you mean by masking? It should remove duplicates and it makes
>> >> the query run in half time compared to without DISTINCT. Result count
>> at
>> >> least is the same.
>> >>
>> >> Mikael
>> >
>> > If DISTINCT cause a lot of results to be turned into a few, it is
>> > hiding a lot of work by the query engine.
>> >
>> > If it's the inner DISTINCT that halves the execution time, then the
>> > improvements (in dev builds) to property* may help you.
>> >
>> > If it's the outer one, it's a serialization issue (which I doubt at
>> > this sacale).
>> >
>> > Andy
>> >
>> >>
>> >>
>> >> On 12.8.2016 13:53, Andy Seaborne wrote:
>> >>> On 08/08/16 11:56, Mikael Pesonen wrote:
>> >>>>
>> >>>> Hi Andy,
>> >>>>
>> >>>> storage is started like this:
>> >>>>
>> >>>> /usr/bin/java -Xmx3600M -jar
>> >>>> /home/text/tools/apache-jena-fuseki-2.3.1/fuseki-server.jar --update
>> >>>> --port 3030 --loc=../apache-jena-3.0.1/DB /ds
>> >>>>
>> >>>> Ontology data is simple SKOS, and document data is also simple DC
>> >>>> metadata triplets. Query returns ~15k triplets.
>> >>>>
>> >>>> I tested the SKOS part, and this executed in less than one second,
>> >>>> returning ~50 items:
>> >>>
>> >>> How many without the two DISTINCT?
>> >>>
>> >>> I am wondering if the DISTINCT (the inner one) is masking a lot of
>> >>> results.
>> >>>
>> >>>>
>> >>>> SELECT DISTINCT *
>> >>>> WHERE {
>> >>>> GRAPH ?graph {
>> >>>> SELECT DISTINCT ?child WHERE {
>> >>>>
>> {<http://www.lingsoft.fi/ontologies/VerohallintoAsiakaskirjeet/c16e9937a515bda6>
>> >>>>
>> >>>>
>> >>>> skos:narrower* ?child}
>> >>>> UNION
>> >>>>
>> {<http://www.lingsoft.fi/ontologies/VerohallintoAsiakaskirjeet/e56f6309f0d86b95>
>> >>>>
>> >>>>
>> >>>> skos:narrower* ?child}
>> >>>> UNION
>> >>>>
>> {<http://www.lingsoft.fi/ontologies/VerohallintoAsiakaskirjeet/b393055ac0f3a0bc>
>> >>>>
>> >>>>
>> >>>> skos:narrower* ?child}
>> >>>> UNION
>> >>>>
>> {<http://www.lingsoft.fi/ontologies/VerohallintoAsiakaskirjeet/642194686a67f935>
>> >>>>
>> >>>>
>> >>>> skos:narrower* ?child}
>> >>>> UNION
>> >>>>
>> {<http://www.lingsoft.fi/ontologies/VerohallintoAsiakaskirjeet/a9beeb4bf0b0af70>
>> >>>>
>> >>>>
>> >>>> skos:narrower* ?child}
>> >>>> UNION
>> >>>>
>> {<http://www.lingsoft.fi/ontologies/VerohallintoAsiakaskirjeet/ce3598292f301cec>
>> >>>>
>> >>>>
>> >>>> skos:narrower* ?child}
>> >>>> UNION
>> >>>>
>> {<http://www.lingsoft.fi/ontologies/VerohallintoAsiakaskirjeet/26aa300e4c033981>
>> >>>>
>> >>>>
>> >>>> skos:narrower* ?child}
>> >>>> UNION
>> >>>>
>> {<http://www.lingsoft.fi/ontologies/VerohallintoAsiakaskirjeet/bd07d765f36ea88f>
>> >>>>
>> >>>>
>> >>>> skos:narrower* ?child}
>> >>>> UNION
>> >>>>
>> {<http://www.lingsoft.fi/ontologies/VerohallintoAsiakaskirjeet/bcf9e082e2ae8c9b>
>> >>>>
>> >>>>
>> >>>> skos:narrower* ?child}
>> >>>> UNION
>> >>>>
>> {<http://www.lingsoft.fi/ontologies/VerohallintoAsiakaskirjeet/78d3955357a8ac10>
>> >>>>
>> >>>>
>> >>>> skos:narrower* ?child}
>> >>>> UNION
>> >>>>
>> {<http://www.lingsoft.fi/ontologies/VerohallintoAsiakaskirjeet/369b1a9c822f55db>
>> >>>>
>> >>>>
>> >>>> skos:narrower* ?child}
>> >>>> UNION
>> >>>>
>> {<http://www.lingsoft.fi/ontologies/VerohallintoAsiakaskirjeet/7098a84669b9feca>
>> >>>>
>> >>>>
>> >>>> skos:narrower* ?child}
>> >>>> UNION
>> >>>>
>> {<http://www.lingsoft.fi/ontologies/VerohallintoAsiakaskirjeet/b7cb30c4efed996a>
>> >>>>
>> >>>>
>> >>>> skos:narrower* ?child}
>> >>>> }
>> >>>> }
>> >>>> }
>> >>>>
>> >>>> Br,
>> >>>> Mikael
>> >>>>
>> >>>>
>> >>>> On 8.8.2016 13:43, Andy Seaborne wrote:
>> >>>>> There is a a certain amount of "it depend" here: what's the data
>> >>>>> stored in? what shape is the data?( which Jena version?)
>> >>>>>
>> >>>>> In the next release, and available in development builds is:
>> >>>>>
>> >>>>> https://issues.apache.org/jira/browse/JENA-1195
>> >>>>>
>> >>>>> where property* got speeded up recently. Usually, it took
>> moderately
>> >>>>> unusual data to show this up but the repeated use of an expensive
>> >>>>> operation in property* may be happening here too.
>> >>>>>
>> >>>>> Mikael - are you able to try out a SNAPSHOT build?
>> >>>>>
>> >>>>> Andy
>> >>>>>
>> >>>>>
>> >>>>> On 08/08/16 11:37, Håvard Ottestad wrote:
>> >>>>>> Is this any better?
>> >>>>>>
>> >>>>>> SELECT DISTINCT ?s ?p ?o WHERE {
>> >>>>>>
>> >>>>>> GRAPH <http://www.lingsoft.fi/resource-meta/> {
>> >>>>>> ?s <http://purl.org/dc/terms/isPartOf>
>> >>>>>> <http://www.lingsoft.fi/rdf/uid/574ef1a40236a> .
>> >>>>>> ?s <http://purl.org/dc/terms/subject> ?child .
>> >>>>>> ?s ?p ?o
>> >>>>>> }
>> >>>>>>
>> >>>>>> GRAPH <http://www.lingsoft.fi/> {
>> >>>>>> SELECT DISTINCT ?child WHERE {
>> >>>>>> {<http://www.lingsoft.fi/c16e9937a515bda6> skos:narrower*
>> >>>>>> ?child} UNION {<http://www.lingsoft.fi/e56f6309f0d86b95>
>> >>>>>> skos:narrower* ?child} UNION
>> >>>>>> {<http://www.lingsoft.fi/b393055ac0f3a0bc> skos:narrower* ?child}
>> >>>>>> UNION {<http://www.lingsoft.fi/642194686a67f935> skos:narrower*
>> >>>>>> ?child} UNION {<http://www.lingsoft.fi/a9beeb4bf0b0af70>
>> >>>>>> skos:narrower* ?child} UNION
>> >>>>>> {<http://www.lingsoft.fi/ce3598292f301cec> skos:narrower* ?child}
>> >>>>>> UNION {<http://www.lingsoft.fi/26aa300e4c033981> skos:narrower*
>> >>>>>> ?child} UNION {<http://www.lingsoft.fi/bd07d765f36ea88f>
>> >>>>>> skos:narrower* ?child} UNION
>> >>>>>> {<http://www.lingsoft.fi/bcf9e082e2ae8c9b> skos:narrower* ?child}
>> >>>>>> UNION {<http://www.lingsoft.fi/78d3955357a8ac10> skos:narrower*
>> >>>>>> ?child} UNION {<http://www.lingsoft.fi/369b1a9c822f55db>
>> >>>>>> skos:narrower* ?child} UNION
>> >>>>>> {<http://www.lingsoft.fi/7098a84669b9feca> skos:narrower* ?child}
>> >>>>>> UNION {<http://www.lingsoft.fi/b7cb30c4efed996a> skos:narrower*
>> >>>>>> ?child}
>> >>>>>> }
>> >>>>>> }
>> >>>>>>
>> >>>>>> }
>> >>>>>>
>> >>>>>> Regards,
>> >>>>>> Håvard M. Ottestad
>> >>>>>>
>> >>>>>>> On 08 Aug 2016, at 11:25, Mikael Pesonen
>> >>>>>>> <[email protected]> wrote:
>> >>>>>>>
>> >>>>>>>
>> >>>>>>> Hi,
>> >>>>>>>
>> >>>>>>> I'm not if this is the correct forum to ask but hope you can
>> help.
>> >>>>>>> This query takes over 20 seconds with jena:
>> >>>>>>>
>> >>>>>>> SELECT DISTINCT ?s ?p ?o WHERE { GRAPH <http://www.lingsoft.fi/>
>> {
>> >>>>>>> SELECT DISTINCT ?child WHERE {
>> >>>>>>> {<http://www.lingsoft.fi/c16e9937a515bda6> skos:narrower* ?child}
>> >>>>>>> UNION {<http://www.lingsoft.fi/e56f6309f0d86b95> skos:narrower*
>> >>>>>>> ?child} UNION {<http://www.lingsoft.fi/b393055ac0f3a0bc>
>> >>>>>>> skos:narrower* ?child} UNION
>> >>>>>>> {<http://www.lingsoft.fi/642194686a67f935> skos:narrower* ?child}
>> >>>>>>> UNION {<http://www.lingsoft.fi/a9beeb4bf0b0af70> skos:narrower*
>> >>>>>>> ?child} UNION {<http://www.lingsoft.fi/ce3598292f301cec>
>> >>>>>>> skos:narrower* ?child} UNION
>> >>>>>>> {<http://www.lingsoft.fi/26aa300e4c033981> skos:narrower* ?child}
>> >>>>>>> UNION {<http://www.lingsoft.fi/bd07d765f36ea88f> skos:narrower*
>> >>>>>>> ?child} UNION {<http://www.lingsoft.fi/bcf9e082e2ae8c9b>
>> >>>>>>> skos:narrower* ?child} UNION
>> >>>>>>> {<http://www.lingsoft.fi/78d3955357a8ac10> skos:narrower* ?child}
>> >>>>>>> UNION {<http://www.lingsoft.fi/369b1a9c822f55db> skos:narrower*
>> >>>>>>> ?child} UNION {<http://www.lingsoft.fi/7098a84669b9feca>
>> >>>>>>> skos:narrower* ?child} UNION
>> >>>>>>> {<http://www.lingsoft.fi/b7cb30c4efed996a> skos:narrower*
>> ?child} }
>> >>>>>>> } GRAPH <http://www.lingsoft.fi/resource-meta/> { ?s
>> >>>>>>> <http://purl.org/dc/terms/subject> ?child . ?s
>> >>>>>>> <http://purl.org/dc/terms/isPartOf>
>> >>>>>>> <http://www.lingsoft.fi/rdf/uid/574ef1a40236a> . ?s ?p ?o }
>> }First
>> >>>>>>> graph query is for getting keywords from an ontology graph,
>> second
>> >>>>>>> is for querying documents having those keywords. Is there better
>> >>>>>>> way/order to make this query? Thank you for the help, Mikael
>> >>>>>>>
>> >>>>>>> --
>> >>>>>>> www.lingsoft.fi
>> >>>>>>>
>> >>>>>>> Speech Applications - Language Management - Translation -
>> Reader's
>> >>>>>>> and Writer's Tools - Text Tools - E-books and M-books
>> >>>>>>>
>> >>>>>>> Mikael Pesonen
>> >>>>>>> System Engineer
>> >>>>>>>
>> >>>>>>> e-mail: [email protected]
>> >>>>>>> Tel. +358 2 279 3300
>> >>>>>>>
>> >>>>>>> Time zone: GMT+2
>> >>>>>>>
>> >>>>>>> Helsinki Office
>> >>>>>>> Eteläranta 10
>> >>>>>>> FI-00130 Helsinki
>> >>>>>>> FINLAND
>> >>>>>>>
>> >>>>>>> Turku Office
>> >>>>>>> Linnankatu 10 A
>> >>>>>>> FI-20100 Turku
>> >>>>>>> FINLAND
>> >>>>>>>
>> >>>>>
>> >>>>
>> >>>
>> >>
>> >
>> --
>> www.lingsoft.fi
>> Speech Applications - Language Management - Translation - Reader's
>> and Writer's Tools - Text Tools - E-books and M-books
>> Mikael Pesonen
>> System Engineer
>> e-mail: [email protected]
>> Tel. +358 2 279 3300
>> Time zone: GMT+2
>> Helsinki Office
>> Eteläranta 10
>> FI-00130 Helsinki
>> FINLAND
>> Turku Office
>> Linnankatu 10 A
>> FI-20100 Turku
>> FINLAND
>>
>>
>>
>>
>
> --
> www.lingsoft.fi
>
> Speech Applications - Language Management - Translation - Reader's and
> Writer's Tools - Text Tools - E-books and M-books
>
> Mikael Pesonen
> System Engineer
>
> e-mail: [email protected]
> Tel. +358 2 279 3300
>
> Time zone: GMT+2
>
> Helsinki Office
> Eteläranta 10
> FI-00130 Helsinki
> FINLAND
>
> Turku Office
> Linnankatu 10 A
> FI-20100 Turku
> FINLAND
>