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 <fic...@gmail.com>
>To: users@jena.apache.org 
>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 <fic...@gmail.com>
>
>> 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 <sal...@apache.org>
>>
>>> 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 <fic...@gmail.com> 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 <fic...@gmail.com>
>>> >
>>> >> 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 <a...@apache.org>
>>> >>
>>> >>> 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 <fic...@gmail.com>
>>> >>>>> To: users@jena.apache.org
>>> >>>>> 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 <a...@apache.org>
>>> >>>>>
>>> >>>>>  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á
>
>
>

Reply via email to