Fuseki depends on ARQ and TDB which themselves have dependencies on Jena
and the IRI library
Fuseki 0.2.3 -> ARQ 2.9.2
-> TDB 0.9.2
-> Jena 2.7.2 -> IRI 0.9.2
Rob
On 7/5/12 1:57 PM, "Milorad Tosic" <[email protected]> wrote:
>Would somebody please give us more details about what are dependencies
>between Fuseki and Jena/ARQ/TDB?
>
>Thanks,
>Milorad
>
>
>
>
>>________________________________
>> From: Federico López <[email protected]>
>>To: [email protected]; Milorad Tosic <[email protected]>
>>Sent: Thursday, July 5, 2012 10:49 PM
>>Subject: Re: I need to get the root element of a ontology
>>
>>Yes I was using the same ARQ with a different version of Fuseki. I think
>>that Fuseki have the improvement in the MINUS sentence...
>>
>>2012/7/5 Milorad Tosic <[email protected]>
>>
>>> I do not understand now what has happened? First, you said that you
>>>were
>>> using ARQ 2.9.2 and measured 10x faster FILTER w.r.t. MINUS. Then, you
>>> tried instead the same query but with Fuseki 0.2.3 that should be
>>>using the
>>> same ARQ 2.9.2 version, but got the opposite result. Is that right?
>>>Looks
>>> like you run one of the experiments with different ARQ version (unless
>>> Fuseki does some magic :-))
>>>
>>>
>>>
>>> >________________________________
>>> > From: Federico López <[email protected]>
>>> >To: [email protected]
>>> >Sent: Thursday, July 5, 2012 8:51 PM
>>> >Subject: Re: I need to get the root element of a ontology
>>> >
>>> >I have run it with Fuseki Server 0.2.3 using the MINUS sentence an
>>>takes
>>> >0.499 s using the same Ontology that I have used before.
>>> >
>>> >And when a I try with the big one FMA (1'800.000 triples) it seems
>>>like
>>> >works faster than the FILTER sentece...
>>> >
>>> >2012/7/5 Federico López <[email protected]>
>>> >
>>> >> Well... I'm using the libraries that I get from de Maven
>>>Repository...
>>> >> Excuse me... I just have check and I have been using ARQ 2.9.2...
>>>But
>>> the
>>> >> Fuseki it is the old one... I going to try with the 0.2.3 version...
>>> >> Thanks A lot...
>>> >>
>>> >>
>>> >> 2012/7/5 Stephen Allen <[email protected]>
>>> >>
>>> >>> Do you mind trying it with Fuseki 0.2.3? That contains ARQ 2.9.2
>>> >>> which has the performance improvement for MINUS queries that Andy
>>>was
>>> >>> referring to.
>>> >>>
>>> >>> -Stephen
>>> >>>
>>> >>> [1] http://www.apache.org/dist/jena/binaries/
>>> >>>
>>> >>>
>>> >>> On Thu, Jul 5, 2012 at 10:55 AM, Federico López <[email protected]>
>>> wrote:
>>> >>> > Mi PC is an Intel Core 2 Quad Q2800 @2.33Ghz 2.33Ghz... And I
>>>have
>>> 4GB
>>> >>> of
>>> >>> > RAM... (Excuse my poor English)
>>> >>> >
>>> >>> > 2012/7/5 Federico López <[email protected]>
>>> >>> >
>>> >>> >> I try the two queries in my Java project (I usea ARQ 2.8.8 and
>>> Fuseki
>>> >>> >> 0.2.2) using with JUnit test.
>>> >>> >> With the FILTER NOT EXISTS sentece takes 0.724s (or less)
>>>querying
>>> the
>>> >>> >> roots in RadLex Ontology ( 234.442 triples), with the MINUS
>>>sentence
>>> >>> >> takes 56.762s (even more)...
>>> >>> >>
>>> >>> >>
>>> >>> >> 2012/7/5 Andy Seaborne <[email protected]>
>>> >>> >>
>>> >>> >>> On 05/07/12 18:30, Milorad Tosic wrote:
>>> >>> >>>
>>> >>> >>>> Would there by any differences in performance or eventually in
>>> result
>>> >>> >>>> set if we would substitute
>>> >>> >>>> FILTER NOT EXISTS { ?root rdfs:subClassOf ?super }
>>> >>> >>>> with
>>> >>> >>>>
>>> >>> >>>> MINUS { ?root rdfs:subClassOf ?super }
>>> >>> >>>> in the previous query?
>>> >>> >>>>
>>> >>> >>>> Milorad
>>> >>> >>>>
>>> >>> >>>
>>> >>> >>> Depends - also the required temporary memory needed is
>>>different.
>>> The
>>> >>> >>> MINUS implement is quite performant now (previously it would
>>>have
>>> been
>>> >>> >>> the case the FILTER version was faster).
>>> >>> >>>
>>> >>> >>> The FILTER version streams - constant memory overhead.
>>> >>> >>>
>>> >>> >>> The MINUS version uses temporary RAM - in proportion to the
>>>size of
>>> >>> the
>>> >>> >>> data matched.
>>> >>> >>>
>>> >>> >>> If there are a lot of rdfs:subClassOf, e.g. have expanded the
>>> >>> inferences
>>> >>> >>> previous, it could be the MINUS version is slower.
>>> >>> >>>
>>> >>> >>> You'll have to try to be definitive. If you try, do let us
>>>know.
>>> >>> >>>
>>> >>> >>> Andy
>>> >>> >>>
>>> >>> >>>
>>> >>> >>>
>>> >>> >>>>
>>> >>> >>>>
>>> >>> >>>> ______________________________**__
>>> >>> >>>>> From: Federico López <[email protected]>
>>> >>> >>>>> To: [email protected]
>>> >>> >>>>> Sent: Thursday, July 5, 2012 5:28 PM
>>> >>> >>>>> Subject: Re: I need to get the root element of a ontology
>>> >>> >>>>>
>>> >>> >>>>> 2012/7/5 Andy Seaborne <[email protected]>
>>> >>> >>>>>
>>> >>> >>>>> On 05/07/12 06:49, Federico López wrote:
>>> >>> >>>>>>
>>> >>> >>>>>> I looking for a good quey that allows me to get the roots
>>> >>> elements of
>>> >>> >>>>>>> a
>>> >>> >>>>>>> Ontology. Also, I need to know wich one of these roots have
>>> >>> >>>>>>> children...
>>> >>> >>>>>>>
>>> >>> >>>>>>>
>>> >>> >>>>>>>
>>> >>> >>>>>>> Version of Jena used?
>>> >>> >>>>>> I'm using fuseki 0.2.2...
>>> >>> >>>>>>
>>> >>> >>>>>> I have each ontology in a NAMED GRAPH....
>>> >>> >>>>>>
>>> >>> >>>>>>>
>>> >>> >>>>>>>
>>> >>> >>>>>> And you are querying the union graph?
>>> >>> >>>>>>
>>> >>> >>>>>
>>> >>> >>>>>
>>> >>> >>>>> I'm Querying each GRAPH at time...
>>> >>> >>>>>
>>> >>> >>>>>
>>> >>> >>>>>>
>>> >>> >>>>>>
>>> >>> >>>>>> This is what I using for it but the query is taking too
>>>much.
>>> >>> >>>>>>>
>>> >>> >>>>>>>
>>> >>> >>>>>> How big is the data (in triples)?
>>> >>> >>>>>>
>>> >>> >>>>>> Well... I'm querying Biomedical Ontologies like
>>>FMA(1'859.969
>>> >>> >>>>> triples),
>>> >>> >>>>> RadLex(234.442), ICD10(165.310)...
>>> >>> >>>>>
>>> >>> >>>>>
>>> >>> >>>>>> Are you using inference?
>>> >>> >>>>>>
>>> >>> >>>>>
>>> >>> >>>>> I don't....
>>> >>> >>>>>
>>> >>> >>>>>
>>> >>> >>>>>>
>>> >>> >>>>>>
>>> >>> >>>>>> SELECT DISTINCT ?root ?label (COUNT(?child) AS ?nChild)
>>> >>> >>>>>>> FROM <http://ontologyURI>
>>> >>> >>>>>>> WHERE
>>> >>> >>>>>>> {
>>> >>> >>>>>>> ?root a ?class .
>>> >>> >>>>>>> ?class rdfs:subClassOf owl:Class .
>>> >>> >>>>>>> ?root rdfs:label ?label .
>>> >>> >>>>>>> OPTIONAL {
>>> >>> >>>>>>> ?root rdfs:subClassOf ?super .
>>> >>> >>>>>>> }
>>> >>> >>>>>>> OPTIONAL {
>>> >>> >>>>>>> ?child rdfs:subClassOf ?root .
>>> >>> >>>>>>> }
>>> >>> >>>>>>> FILTER (!bound(?super))
>>> >>> >>>>>>> }
>>> >>> >>>>>>> GROUP BY ?root ?label
>>> >>> >>>>>>>
>>> >>> >>>>>>> Any idea?
>>> >>> >>>>>>>
>>> >>> >>>>>>> Thanks...
>>> >>> >>>>>>>
>>> >>> >>>>>>>
>>> >>> >>>>>>>
>>> >>> >>>>>>> without inference, this maybe what you want: I'm guessing
>>>from
>>> >>> your
>>> >>> >>>>>> description:
>>> >>> >>>>>>
>>> >>> >>>>>> SELECT ?root
>>> >>> >>>>>> {
>>> >>> >>>>>> # A root is something that is of type class
>>> >>> >>>>>> # which has no super class mentioned.
>>> >>> >>>>>> ?root rdf:type owl:Class .
>>> >>> >>>>>> FILTER NOT EXISTS { ?root rdfs:subClassOf ?super }
>>> >>> >>>>>>
>>> >>> >>>>>> ?root rdfs:label ?label .
>>> >>> >>>>>> }
>>> >>> >>>>>>
>>> >>> >>>>>> Adding in the COUNT of ?child and GROUP BY is unlikely to be
>>> cheap.
>>> >>> >>>>>>
>>> >>> >>>>>> SELECT ?root (COUNT(DISTINCT ?child) AS ?nChild)
>>> >>> >>>>>> {
>>> >>> >>>>>> # A root is something that is of type class
>>> >>> >>>>>> # which has no super class mentioned.
>>> >>> >>>>>> ?root rdf:type owl:Class .
>>> >>> >>>>>> FILTER NOT EXISTS { ?root rdfs:subClassOf ?super }
>>> >>> >>>>>>
>>> >>> >>>>>> ?root rdfs:label ?label .
>>> >>> >>>>>> # Children, any depth, by property paths
>>> >>> >>>>>> OPTIONAL { ?child rdfs:subClassOf+ ?root }
>>> >>> >>>>>> }
>>> >>> >>>>>> GROUP BY ?root
>>> >>> >>>>>> Andy
>>> >>> >>>>>>
>>> >>> >>>>>>
>>> >>> >>>>> And thanks, I going to try your query, but I think that is
>>>just
>>> >>> that I
>>> >>> >>>>> need
>>> >>> >>>>> :D
>>> >>> >>>>>
>>> >>> >>>>> --
>>> >>> >>>>> *FEDERICO LÓPEZ GÓMEZ*
>>> >>> >>>>> Estudiante Ingeniería de Sistemas
>>> >>> >>>>> Universidad del Valle - Sede Tuluá
>>> >>> >>>>>
>>> >>> >>>>>
>>> >>> >>>>>
>>> >>> >>>>>
>>> >>> >>>
>>> >>> >>>
>>> >>> >>
>>> >>> >>
>>> >>> >> --
>>> >>> >> *FEDERICO LÓPEZ GÓMEZ*
>>> >>> >> Estudiante Ingeniería de Sistemas
>>> >>> >> Universidad del Valle - Sede Tuluá
>>> >>> >>
>>> >>> >>
>>> >>> >
>>> >>> >
>>> >>> > --
>>> >>> > *FEDERICO LÓPEZ GÓMEZ*
>>> >>> > Estudiante Ingeniería de Sistemas
>>> >>> > Universidad del Valle - Sede Tuluá
>>> >>>
>>> >>
>>> >>
>>> >>
>>> >> --
>>> >> *FEDERICO LÓPEZ GÓMEZ*
>>> >> Estudiante Ingeniería de Sistemas
>>> >> Universidad del Valle - Sede Tuluá
>>> >>
>>> >>
>>> >
>>> >
>>> >--
>>> >*FEDERICO LÓPEZ GÓMEZ*
>>> >Estudiante Ingeniería de Sistemas
>>> >Universidad del Valle - Sede Tuluá
>>> >
>>> >
>>> >
>>>
>>
>>
>>
>>--
>>*FEDERICO LÓPEZ GÓMEZ*
>>Estudiante Ingeniería de Sistemas
>>Universidad del Valle - Sede Tuluá
>>
>>