I wasn't even aware of such thing. So

SELECT ?class ?classLabel
WHERE
{
  VALUES ?superClass  {id:308925008}

  ?scIntsec list:member ?superClass .
  ?scTmp owl:intersectionOf ?scIntsec .
   ?class rdfs:subClassOf ?scTmp.
   ?class skos:prefLabel ?classLabel .
}

runs under 20ms.

Thanks!


On 14/01/2021 14.08, Andy Seaborne wrote:
Have you tried using the property function "list:member"?

    Andy

On 13/01/2021 14:28, Mikael Pesonen wrote:

Related to this. This query returns in 70ms

SELECT ?class ?classLabel
WHERE
{
   ?scIntsec rdf:rest*/rdf:first id:308925008 .
   ?scTmp owl:intersectionOf ?scIntsec .
   ?class rdfs:subClassOf ?scTmp.
   ?class skos:prefLabel ?classLabel .
}

but this doesn't finish in 15 minutes (aborted then)

SELECT ?class ?classLabel
WHERE
{
   VALUES ?superClass  {id:308925008 }
   ?scIntsec rdf:rest*/rdf:first ?superClass .
   ?scTmp owl:intersectionOf ?scIntsec .
   ?class rdfs:subClassOf ?scTmp.
   ?class skos:prefLabel ?classLabel .
}

How come they are so different since they do the same thing?


On 15/12/2020 20.30, Andy Seaborne wrote:


On 15/12/2020 14:33, Mikael Pesonen wrote:

Hi,

I am querying subclasses of class (here id:365852007) which belongs to RDF collection like this

id:1 rdf:type owl:Class ;
         rdfs:subClassOf [ owl:intersectionOf ( ... id:365852007 ... ) ]  ;
         skos:prefLabel "something"@en .
id:2 rdf:type owl:Class ;
         rdfs:subClassOf [ owl:intersectionOf ( ... id:365852007 ... ) ]  ;
         skos:prefLabel "something else"@en .


... denotes random number of other elements in the list.

SPARQL:

select * where
{
     ?subclass rdfs:subClassOf [ owl:intersectionOf /rdf:rest*/rdf:first id:365852007  ] .
     ?subclass skos:prefLabel ?label .

Try breaking the pattern up:

    ?Z rdf:rest*/rdf:first id:365852007   .
    ?X owl:intersectionOf ?Z .
    ?subclass rdfs:subClassOf ?X .
    ?subclass rdfs:label ?label .

and use 3.17.0

}


This is slow (~10 secs) and we need to extend the query to subclasses of the subclasses and so on.

Is there any faster way to get this done?

Thanks!



--
Lingsoft - 30 years of Leading Language Management

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
Kauppiaskatu 5 A
FI-20100 Turku
FINLAND

Reply via email to