Hi Maria, As said in my previous response those options are not documented … and it would be of more use to see the profile output for the query when run ...
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 1 Aug 2016, at 10:34, Maria Jackson <maria.jackson....@gmail.com> wrote: > > 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 > <mailto: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/ > <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 > > <http://virtuoso.openlinksw.com/dataspace/doc/dav/wiki/Main/VirtTipsAndTricksAanalyzingSPARQLQuery> > . See also > http://virtuoso.openlinksw.com/dataspace/doc/dav/wiki/Main/VirtQueryOptDiagnostic > > <http://virtuoso.openlinksw.com/dataspace/doc/dav/wiki/Main/VirtQueryOptDiagnostic> > ... > > Best Regards > Hugh Williams > Professional Services > OpenLink Software, Inc. // http://www.openlinksw.com/ > <http://www.openlinksw.com/> > Weblog -- http://www.openlinksw.com/blogs/ > <http://www.openlinksw.com/blogs/> > LinkedIn -- http://www.linkedin.com/company/openlink-software/ > <http://www.linkedin.com/company/openlink-software/> > Twitter -- http://twitter.com/OpenLink <http://twitter.com/OpenLink> > Google+ -- http://plus.google.com/100570109519069333827/ > <http://plus.google.com/100570109519069333827/> > Facebook -- http://www.facebook.com/OpenLinkSoftware > <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 >> <mailto: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 <mailto: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 <mailto: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 <mailto: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# >>>>> <http://www.w3.org/1999/02/22-rdf-syntax-ns#>> >>>>> SELECT DISTINCT ?X >>>>> WHERE >>>>> {?X rdf:type Musician . >>>>> ?X rdf:plays <http://Music <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
smime.p7s
Description: S/MIME cryptographic signature
------------------------------------------------------------------------------
_______________________________________________ Virtuoso-users mailing list Virtuoso-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/virtuoso-users