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?
smime.p7s
Description: S/MIME cryptographic signature
------------------------------------------------------------------------------
_______________________________________________ Virtuoso-users mailing list Virtuoso-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/virtuoso-users