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á

Reply via email to