Dear Hugh, Thanks a lot, but the webpage <http://docs.openlinksw.com/virtuoso/perfdiag/> does not seem to explain what "ro2sq", "inlined" and "artm" mean?
On Thu, Jul 28, 2016 at 6:50 PM, Hugh Williams <hwilli...@openlinksw.com> wrote: > Hi Maria, > > The explain output is more for analysis by development, there are limited > description of Query Plans at > http://docs.openlinksw.com/virtuoso/perfdiag/ , but those params are not > documented. In terms of query execution the Virtuoso profile command > can be used for determining if the query time is being spent in compilation > rather then execution as detailed at, > http://virtuoso.openlinksw.com/dataspace/doc/dav/wiki/Main/VirtTipsAndTricksAanalyzingSPARQLQuery > . > See also > http://virtuoso.openlinksw.com/dataspace/doc/dav/wiki/Main/VirtQueryOptDiagnostic > ... > > Best Regards > Hugh Williams > Professional Services > OpenLink Software, Inc. // http://www.openlinksw.com/ > Weblog -- http://www.openlinksw.com/blogs/ > LinkedIn -- http://www.linkedin.com/company/openlink-software/ > Twitter -- http://twitter.com/OpenLink > Google+ -- http://plus.google.com/100570109519069333827/ > Facebook -- http://www.facebook.com/OpenLinkSoftware > Universal Data Access, Integration, and Management Technology Providers > > On 28 Jul 2016, at 14:14, Maria Jackson <maria.jackson....@gmail.com> > wrote: > > 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