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á

Reply via email to