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

Reply via email to