On 1/13/2021 8:28 AM, 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 thisid: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!
OpenPGP_signature
Description: OpenPGP digital signature