Sorry for another mail. But just to confirm is the join used by the query plan below some kind of loop join:
{ RDF_QUAD_POGS 4 rows(s_1_4_t1.S) P = ##plays , O = #/Music RDF_QUAD_POGS 0.8 rows(s_1_4_t0.S) inlined P = ##type , O = ##Musician , S = s_1_4_t1.S Distinct (s_1_4_t0.S) After code: 0: X := := artm s_1_4_t0.S 4: BReturn 0 Subquery Select(X) After code: 0: X := Call __ro2sq (X) 5: BReturn 0 Select (X) On Thu, Jul 28, 2016 at 1:38 PM, Maria Jackson <maria.jackson....@gmail.com> wrote: > Dear All, > > Thank you very much for your response. However, I am not able to > understand the meaning of "inlined", "rosq", "artm" in Virtuoso's > query plans. For exposition my question contains small example query. > > Also how can I figure out which join algorithm is used by Virtuoso by > looking at the output of explain? > > On Thu, Jul 28, 2016 at 11:50 AM, Maria Jackson > <maria.jackson....@gmail.com> wrote: >> I apologize for another mail, but I have a deadline tomorrow so I'll >> greatly appreciate if you could please help with this a little. >> >> On Wed, Jul 27, 2016 at 9:45 PM, Maria Jackson >> <maria.jackson....@gmail.com> wrote: >>> I ran the following query on Virtuoso: >>> >>> [code]PREFIX rdf:<http://www.w3.org/1999/02/22-rdf-syntax-ns#> >>> SELECT DISTINCT ?X >>> WHERE >>> {?X rdf:type Musician . >>> ?X rdf:plays <http://Music>} >>> [/code] >>> >>> The output of "explain" of this query is: >>> [code]{ >>> RDF_QUAD_POGS 4 rows(s_1_4_t1.S) >>> P = ##plays , O = #/Music >>> RDF_QUAD_POGS 0.8 rows(s_1_4_t0.S) >>> inlined P = ##type , O = ##Musician , S = s_1_4_t1.S >>> Distinct (s_1_4_t0.S) >>> >>> After code: >>> 0: X := := artm s_1_4_t0.S >>> 4: BReturn 0 >>> Subquery Select(X) >>> >>> After code: >>> 0: X := Call __ro2sq (X) >>> 5: BReturn 0 >>> Select (X) >>> } >>> [/code] >>> >>> Now I am unable to decipher the output of explain command. What do >>> "ro2sq", "inlined" and "artm" mean? And which join algorithm (like >>> Hash Join, Merge Join, Nested loop join, etc.) is Virtuoso using for >>> this query? I need to understand Virtuoso's explain command in order >>> to understand the reason for Virtuoso taking a long time to execute? ------------------------------------------------------------------------------ _______________________________________________ Virtuoso-users mailing list Virtuoso-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/virtuoso-users