<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=iso-8859-1"><meta name=Generator content="Microsoft Word 14 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
        {font-family:Consolas;
        panose-1:2 11 6 9 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";
        color:black;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
pre
        {mso-style-priority:99;
        mso-style-link:"HTML Preformatted Char";
        margin:0in;
        margin-bottom:.0001pt;
        font-size:10.0pt;
        font-family:"Courier New";
        color:black;}
p.MsoAcetate, li.MsoAcetate, div.MsoAcetate
        {mso-style-priority:99;
        mso-style-link:"Balloon Text Char";
        margin:0in;
        margin-bottom:.0001pt;
        font-size:8.0pt;
        font-family:"Tahoma","sans-serif";
        color:black;}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
        {mso-style-priority:34;
        margin-top:0in;
        margin-right:0in;
        margin-bottom:0in;
        margin-left:.5in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";
        color:black;}
span.HTMLPreformattedChar
        {mso-style-name:"HTML Preformatted Char";
        mso-style-priority:99;
        mso-style-link:"HTML Preformatted";
        font-family:Consolas;
        color:black;}
span.BalloonTextChar
        {mso-style-name:"Balloon Text Char";
        mso-style-priority:99;
        mso-style-link:"Balloon Text";
        font-family:"Tahoma","sans-serif";
        color:black;}
span.EmailStyle22
        {mso-style-type:personal;
        font-family:"Calibri","sans-serif";
        color:windowtext;}
span.EmailStyle23
        {mso-style-type:personal;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
span.EmailStyle24
        {mso-style-type:personal;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
span.EmailStyle25
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body bgcolor=white lang=EN-US link=blue vlink=purple><div class=WordSection1><p class=MsoNormal><span style='color:#1F497D'>The FROM clause makes sense &#8211; for the main problem: the classical problem of testing for existence of a pubkey value in an pubkey array, stored in an identified file on the web. I will amend my code to require it.<o:p></o:p></span></p><div style='mso-element:para-border-div;border:none;border-bottom:solid windowtext 1.0pt;padding:0in 0in 1.0pt 0in'><p class=MsoNormal style='border:none;padding:0in'><span style='color:#1F497D'><o:p>&nbsp;</o:p></span></p></div><p class=MsoNormal><span style='color:#1F497D'><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>There are additional problems, though, beyond the (From-enhanced) query - marked up for Vituoso&#8217;s added-value. Webid is supposed to be webby, of course - and do more than good ol PGP, or ever older X.509 cert chains. It&#8217;s supposed to explore what webbiness can do (that PGP cannot&#8230;). And, it seems in using the FROM-less version of the query, we have started to explore an interesting, &#8220;more-webby&#8221; variant of webid. <o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>Now that my client cert testing engine is talking to a data service with quads, that service can evidently answer queries such as: does the pubkey exists in any n sets of triples (each triple set being distinguished by a quad element, in some quad scheme). If so, what are these graphs, and their graphs identifiers (?g) ? <o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>My thought was , well if uriburner was being somehow induced to crawl friends graphs and their foaf cards, and thus under some criteria builds a model of which them also - as independent sources &#8211; list that my webid maps to my RSApublicKey, then might not the FROM-less query now test: how many &#8220;reputable&#8221; folks attest (in their foaf cards) to the mapping of my webid to my RSAPubkey? If some or all 10 were viewed then as being &#8220;endorsers&#8221; of me and my RSApubkey, we have the beginnings of testing: how many others (apart from Peter) wish to speak-for peter&#8217;s key? (pgp like&#8230;.)<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>Now, Im guessing/hoping that the semantic social space is addressing this kind of topic.<o:p></o:p></span></p><div style='mso-element:para-border-div;border:none;border-bottom:solid windowtext 1.0pt;padding:0in 0in 1.0pt 0in'><p class=MsoNormal style='border:none;padding:0in'><span style='color:#1F497D'><o:p>&nbsp;</o:p></span></p></div><p class=MsoNormal><span style='color:#1F497D'><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>This is the second interesting use of graph ?g constructs, in the FOAF+SSL/webid world. Henry once used them in queries that two (webid-powered) sparql endpoints might send to each other, when acting as relative-client, relative-server. The query&#8217;s formulation could be seen to be &#8220;message&#8221; being exchanged between the https endpoints (rather than a &#8220;query&#8221;) &#8211; much like SSL sends messages between its endpoints. Given messaging&#8230; then one can build messaging protocols. Perhaps, on could build an SSL-like handshake using this kind of message passing!.<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><span style='color:#1F497D'><o:p>&nbsp;</o:p></span></p><div><div style='border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in'><p class=MsoNormal><b><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif";color:windowtext'>From:</span></b><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif";color:windowtext'> Andreas Radinger [mailto:andreas.radinger@ebusiness-unibw.org] <br><b>Sent:</b> Sunday, March 27, 2011 2:02 PM<br><b>To:</b> Kingsley Idehen; peter williams<br><b>Cc:</b> foaf-protocols@lists.foaf-project.org<br><b>Subject:</b> Re: [foaf-protocols] sparql, uriburner, and double binding hits<o:p></o:p></span></p></div></div><p class=MsoNormal><o:p>&nbsp;</o:p></p><div><p class=MsoNormal>&nbsp;<o:p></o:p></p></div><blockquote style='border:none;border-left:solid black 1.5pt;padding:0in 0in 0in 4.0pt;margin-left:3.75pt;margin-top:5.0pt;margin-right:0in;margin-bottom:5.0pt'><div><p class=MsoNormal><span style='font-size:10.0pt;font-family:"Arial","sans-serif"'>----- Original Message ----- <o:p></o:p></span></p></div><div><p class=MsoNormal style='background:#E4E4E4'><b><span style='font-size:10.0pt;font-family:"Arial","sans-serif"'>From:</span></b><span style='font-size:10.0pt;font-family:"Arial","sans-serif"'> <a href="mailto:kidehen@openlinksw.com" title="kidehen@openlinksw.com">Kingsley Idehen</a> <o:p></o:p></span></p></div><div><p class=MsoNormal><b><span style='font-size:10.0pt;font-family:"Arial","sans-serif"'>To:</span></b><span style='font-size:10.0pt;font-family:"Arial","sans-serif"'> <a href="mailto:home_pw@msn.com" title="home_pw@msn.com">peter williams</a> <o:p></o:p></span></p></div><div><p class=MsoNormal><b><span style='font-size:10.0pt;font-family:"Arial","sans-serif"'>Cc:</span></b><span style='font-size:10.0pt;font-family:"Arial","sans-serif"'> <a href="mailto:foaf-protocols@lists.foaf-project.org" title="foaf-protocols@lists.foaf-project.org">foaf-protocols@lists.foaf-project.org</a> <o:p></o:p></span></p></div><div><p class=MsoNormal><b><span style='font-size:10.0pt;font-family:"Arial","sans-serif"'>Sent:</span></b><span style='font-size:10.0pt;font-family:"Arial","sans-serif"'> Sunday, March 27, 2011 10:27 PM<o:p></o:p></span></p></div><div><p class=MsoNormal><b><span style='font-size:10.0pt;font-family:"Arial","sans-serif"'>Subject:</span></b><span style='font-size:10.0pt;font-family:"Arial","sans-serif"'> Re: [foaf-protocols] sparql, uriburner, and double binding hits<o:p></o:p></span></p></div><div><p class=MsoNormal><span style='font-size:12.0pt;font-family:"Times New Roman","serif"'><o:p>&nbsp;</o:p></span></p></div><p class=MsoNormal>On 3/27/11 1:38 PM, peter williams wrote: <o:p></o:p></p><p class=MsoNormal><span style='font-size:10.0pt;color:#1F497D'><a href="http://uriburner.com/sparql/?default-graph-uri=&amp;should-sponge=&amp;query=%23Why%3F+--+string+comparison%0D%0A%23How%3F+--+leverage+fact+that+Virtuoso+can+surface+all+its+in-built+functions+%28from+SQL+and+other+functionality+realms%29%0D%0A%23+ditto+custom+functions%0D%0A%0D%0APREFIX+cert%3A+%3Chttp%3A%2F%2Fwww.w3.org%2Fns%2Fauth%2Fcert%23%3E+%0D%0APREFIX+rsa%3A+%3Chttp%3A%2F%2Fwww.w3.org%2Fns%2Fauth%2Frsa%23%3E+%0D%0ASELECT+%3Fg%0D%0A+++++++%28str+%28bif%3Acoalesce+%28%3Fexp_val%2C+%3Fexp%29%29%29+%28str+%28bif%3Acoalesce+%28%3Fmod_val%2C+%3Fmod%29%29%29++%0D%0AWHERE+%7B+++GRAPH+%3Fg+%7B+%0D%0A+++++++++++%3Fid+cert%3Aidentity+%3Chttp%3A%2F%2Ffoaf.me%2Fpw2%23me%3E+%3B%0D%0A+++++++++++rsa%3Apublic_exponent+%3Fexp+%3B+rsa%3Amodulus+%3Fmod+.+++++++++%0D%0A+++++++++++OPTIONAL+%7B+%3Fexp+cert%3Adecimal+%3Fexp_val+.+%3Fmod+cert%3Ahex+%3Fmod_val+.+%7D++++++%0D%0A++++++++++%7D+%0D%0A++++++%7D%0D%0A&amp;debug=on&amp;timeout=&amp;%20;format=text%2Fhtml&amp;CXML_redir_for_subjs=&amp;CXML_redir_for_hrefs=&amp;save=display&amp;fname">http://uriburner.com/sparql/?default-graph-uri=&amp;should-sponge=&amp;query=%23Why%3F+--+string+comparison%0D%0A%23How%3F+--+leverage+fact+that+Virtuoso+can+surface+all+its+in-built+functions+%28from+SQL+and+other+functionality+realms%29%0D%0A%23+ditto+custom+functions%0D%0A%0D%0APREFIX+cert%3A+%3Chttp%3A%2F%2Fwww.w3.org%2Fns%2Fauth%2Fcert%23%3E+%0D%0APREFIX+rsa%3A+%3Chttp%3A%2F%2Fwww.w3.org%2Fns%2Fauth%2Frsa%23%3E+%0D%0ASELECT+%3Fg%0D%0A+++++++%28str+%28bif%3Acoalesce+%28%3Fexp_val%2C+%3Fexp%29%29%29+%28str+%28bif%3Acoalesce+%28%3Fmod_val%2C+%3Fmod%29%29%29++%0D%0AWHERE+%7B+++GRAPH+%3Fg+%7B+%0D%0A+++++++++++%3Fid+cert%3Aidentity+%3Chttp%3A%2F%2Ffoaf.me%2Fpw2%23me%3E+%3B%0D%0A+++++++++++rsa%3Apublic_exponent+%3Fexp+%3B+rsa%3Amodulus+%3Fmod+.+++++++++%0D%0A+++++++++++OPTIONAL+%7B+%3Fexp+cert%3Adecimal+%3Fexp_val+.+%3Fmod+cert%3Ahex+%3Fmod_val+.+%7D++++++%0D%0A++++++++++%7D+%0D%0A++++++%7D%0D%0A&amp;debug=on&amp;timeout=&amp; ;format=text%2Fhtml&amp;CXML_redir_for_subjs=&amp;CXML_redir_for_hrefs=&amp;save=display&amp;fname</a>=</span><o:p></o:p></p><p class=MsoNormal><span style='font-size:10.0pt;color:#1F497D'>gives</span><o:p></o:p></p><table class=MsoNormalTable border=1 cellpadding=0><tr><td style='padding:.75pt .75pt .75pt .75pt'><p class=MsoNormal align=center style='text-align:center'><b><span style='font-size:10.0pt;color:windowtext'>g</span></b><o:p></o:p></p></td><td style='padding:.75pt .75pt .75pt .75pt'><p class=MsoNormal align=center style='text-align:center'><b><span style='font-size:10.0pt;color:windowtext'>callret-1</span></b><o:p></o:p></p></td><td style='padding:.75pt .75pt .75pt .75pt'><p class=MsoNormal align=center style='text-align:center'><b><span style='font-size:10.0pt;color:windowtext'>callret-2</span></b><o:p></o:p></p></td></tr><tr><td style='padding:.75pt .75pt .75pt .75pt'><p class=MsoNormal><span style='font-size:10.0pt;color:windowtext'><a href="http://foaf.me/pw2">http://foaf.me/pw2</a></span><o:p></o:p></p></td><td style='padding:.75pt .75pt .75pt .75pt'><p class=MsoNormal><span style='font-size:10.0pt;color:windowtext'>65537</span><o:p></o:p></p></td><td style='padding:.75pt .75pt .75pt .75pt'><p class=MsoNormal><span style='font-size:10.0pt;color:windowtext'>bd 4b 4a 44 35 d5 01 ee 87 46 70 e1 01 7f ab b0 80 60 c1 cb 3c e5 b4 3d 7f 62 7c c4 e0 a2 1d 24 3a 4f d6 89 0b cf 72 3f 39 ca 5f 0a 86 6e 43 40 06 99 14 6f 47 f6 99 03 3c 07 c8 e7 cf b9 06 6e 85 1b 5d 8d 2e 71 79 a0 db 2c 1a 59 b7 fc 7c be 70 aa b9 d0 d3 a7 f2 34 db 9f ce f9 67 ab 8f b7 93 28 97 c1 2c b0 74 ed e2 15 fe ca 0d f4 07 f7 23 36 06 4e 81 d4 3f 83 01 a9 94 e2 a0 f4 ba cd</span><o:p></o:p></p></td></tr><tr><td style='padding:.75pt .75pt .75pt .75pt'><p class=MsoNormal><span style='font-size:10.0pt;color:windowtext'><a href="http://foaf.me/pw2#me">http://foaf.me/pw2#me</a></span><o:p></o:p></p></td><td style='padding:.75pt .75pt .75pt .75pt'><p class=MsoNormal><span style='font-size:10.0pt;color:windowtext'>65537</span><o:p></o:p></p></td><td style='padding:.75pt .75pt .75pt .75pt'><p class=MsoNormal><span style='font-size:10.0pt;color:windowtext'>bd 4b 4a 44 35 d5 01 ee 87 46 70 e1 01 7f ab b0 80 60 c1 cb 3c e5 b4 3d 7f 62 7c c4 e0 a2 1d 24 3a 4f d6 89 0b cf 72 3f 39 ca 5f 0a 86 6e 43 40 06 99 14 6f 47 f6 99 03 3c 07 c8 e7 cf b9 06 6e 85 1b 5d 8d 2e 71 79 a0 db 2c 1a 59 b7 fc 7c be 70 aa b9 d0 d3 a7 f2 34 db 9f ce f9 67 ab 8f b7 93 28 97 c1 2c b0 74 ed e2 15 fe ca 0d f4 07 f7 23 36 06 4e 81 d4 3f 83 01 a9 94 e2 a0 f4 ba cd</span><o:p></o:p></p></td></tr></table><p class=MsoNormal><span style='color:#1F497D'>Ive little idea why this card produces those triples in uriburners triple/quad store, given my other cards don&#8217;t. I do remember experimenting a year+ ago putting two rsapublickeys in 1 card though, and issuing many many queries to uriburner on it (just seeing &#8220;what would happen?&#8221;&#8230;as I played with variants of the webid URI). This may be the cause.</span><o:p></o:p></p><p class=MsoNormal><span style='color:#1F497D'>Now, assuming I can repeat the cause, it would be easy for me to create 2 self signed certs, with same pubkey (above) but different URIs (the g above).</span><o:p></o:p></p><p class=MsoNormal><span style='color:#1F497D'>The argument is, presumably, that one tests that two such URIs are equivalent (for the purposes of access control) not because of the pubkey, but because the verifying authority determine there to be logical relations (e.g. sameAs&#8230;) that asserts the equivalence. One has to have a trusted source of triples, to do this, of course.</span><o:p></o:p></p><p class=MsoNormal><span style='color:#1F497D'>So, this seems an interesting test case. </span><o:p></o:p></p><p class=MsoListParagraph style='text-indent:-.25in'>&lt;!--[if !supportLists]--&gt;<span style='color:#1F497D'>1.</span><span style='font-size:7.0pt;font-family:"Times New Roman","serif";color:#1F497D'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>&lt;!--[endif]--&gt;<span style='color:#1F497D'>Create a new foaf.me file. Somehow fiddle that one file&#8217;s rsapublickeys values. Issue lots of uriburner queries, such that uriburner ends up with 2 graphs (as above), binding to the same publickey</span><o:p></o:p></p><p class=MsoListParagraph style='text-indent:-.25in'>&lt;!--[if !supportLists]--&gt;<span style='color:#1F497D'>2.</span><span style='font-size:7.0pt;font-family:"Times New Roman","serif";color:#1F497D'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>&lt;!--[endif]--&gt;<span style='color:#1F497D'>Make 2 self-signed certs, each with 1 graph URI (as above) as it&#8217;s 1 webid SAN field</span><o:p></o:p></p><p class=MsoListParagraph style='text-indent:-.25in'>&lt;!--[if !supportLists]--&gt;<span style='color:#1F497D'>3.</span><span style='font-size:7.0pt;font-family:"Times New Roman","serif";color:#1F497D'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>&lt;!--[endif]--&gt;<span style='color:#1F497D'>Make login attempts to foaf.me, with each.</span><o:p></o:p></p><p class=MsoNormal><span style='color:#1F497D'>Now, Im not sure what this proves, when foaf.me accepts/denies the login. Presumably, even without any sameAS statements, it SHOULD authenticate either, and allow access to the user to make card changes (e.g. add a third public key, different to the first two).</span><o:p></o:p></p><p class=MsoNormal><span style='color:#1F497D'>Presumably, &nbsp;a security enforcer module for authn &nbsp;(in general) could have its own source of owl:sameAs statements, that influence its unique perspectives on equivalence of the 2 certs logons. It not that the sameAs statements have to come from foaf cards.</span><o:p></o:p></p><p class=MsoNormal><span style='color:#1F497D'>If I go to a different resource server, with a triple store asserting X and Y URIs are not equivalent, its authn SEF could recognize one client cert as an authentic user logon attempt, but not the other.</span><o:p></o:p></p><p class=MsoNormal><span style='color:#1F497D'>So, in the wider sense of webid, just &#8220;who&#8221; is &#8220;authoritative&#8221; &#8230; for such equivalence relations?</span><o:p></o:p></p><p class=MsoNormal><span style='color:#1F497D'>Traditionally, in IIS land, the cert (not its id, or its pubkey) is mapped to an NT account, and the authorization logic for resources is simple IBAC &#8211; in which NT SIDs map to ACLs. Or, in more modern designs, the cert supports access to an IDP which delivering a resigned token with claims targeting the resource server &#8211; that then drives claims-based access controls (after translation, if required). This does not assume semweb trust, of course, merely recognizing of the IDP&#8217;s signing keys &#8211; which seems to be a variant of webid protocol.</span><o:p></o:p></p><div><div style='border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in'><p class=MsoNormal><b><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif";color:windowtext'>From:</span></b><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif";color:windowtext'> <a href="mailto:foaf-protocols-bounces@lists.foaf-project.org">foaf-protocols-bounces@lists.foaf-project.org</a> [<a href="mailto:foaf-protocols-bounces@lists.foaf-project.org">mailto:foaf-protocols-bounces@lists.foaf-project.org</a>] <b>On Behalf Of </b>Kingsley Idehen<br><b>Sent:</b> Sunday, March 27, 2011 9:35 AM<br><b>To:</b> <a href="mailto:foaf-protocols@lists.foaf-project.org">foaf-protocols@lists.foaf-project.org</a><br><b>Subject:</b> Re: [foaf-protocols] sparql, uriburner, and double binding hits</span><o:p></o:p></p></div></div><p class=MsoNormal>On 3/27/11 10:30 AM, peter williams wrote: <o:p></o:p></p><p class=MsoNormal><span style='color:#1F497D'>Gulp! There can be 2 containers (foaf card files, in the simple representation on a webserverr) matched by a URI?</span><o:p></o:p></p><p class=MsoNormal><span style='color:#1F497D'>If there can be 2, presumably there can be n.</span><o:p></o:p></p><p class=MsoNormal><span style='color:#1F497D'>How would I find out info about the 2 containers? Are these containers like a transaction log file, in which there is a logical record of changes? </span><o:p></o:p></p><p class=MsoNormal><span style='color:#1F497D'>Or, should I think in terms of quads, where it so happens that the cert:hex&#8230; etc triple exists in 2 (n) quads, where a distinct 4<sup>th</sup> element is a time-value, say? The time the foaf card was replicated/crawled, say?</span><o:p></o:p></p><p class=MsoNormal><span style='color:#1F497D'>While it seems important to eliminate this (using the FROM&#8230;incantation) in one sense, it also seems in another sense interesting to consider the semantics of such a quad store. If the non-FROM query - when implemented by the uriburner data service - is answering the question &#8220;what are all the pubkeys, ever known to be or have been associated&#8221;, this is also interesting. This is something beyond the core URI semantics of de-referencing.</span><o:p></o:p></p><p class=MsoNormal><span style='font-size:12.0pt;font-family:"Times New Roman","serif"'><br>Virtuoso (what sits behind URIBurner.com) is a Quad Store (amongst many other things re. DBMS functionality).<br><br>Try:<br><br>#Why? -- string comparison<br>#How? -- leverage fact that Virtuoso can surface all its in-built functions (from SQL and other functionality realms)<br># ditto custom functions<br><br>PREFIX cert: <a href="http://www.w3.org/ns/auth/cert">&lt;http://www.w3.org/ns/auth/cert#&gt;</a> <br>PREFIX rsa: <a href="http://www.w3.org/ns/auth/rsa">&lt;http://www.w3.org/ns/auth/rsa#&gt;</a> <br>SELECT ?g<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (str (bif:coalesce (?exp_val, ?exp))) (str (bif:coalesce (?mod_val, ?mod)))&nbsp; <br>WHERE {&nbsp;&nbsp; GRAPH ?g { <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ?id cert:identity <a href="http://webid.myxwiki.org/xwiki/bin/view/XWiki/homepw4#me">&lt;http://webid.myxwiki.org/xwiki/bin/view/XWiki/homepw4#me&gt;</a> ;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; rsa:public_exponent ?exp ; rsa:modulus ?mod .&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; OPTIONAL { ?exp cert:decimal ?exp_val . ?mod cert:hex ?mod_val . }&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br><br><br>Kingsley<br><br><br></span><o:p></o:p></p><div><div style='border:none;border-top:solid windowtext 1.0pt;padding:3.0pt 0in 0in 0in'><p class=MsoNormal><b><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif";color:windowtext'>From:</span></b><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif";color:windowtext'> Andreas Radinger [<a href="mailto:andreas.radinger@ebusiness-unibw.org">mailto:andreas.radinger@ebusiness-unibw.org</a>] <br><b>Sent:</b> Sunday, March 27, 2011 4:18 AM<br><b>To:</b> peter williams<br><b>Cc:</b> <a href="mailto:foaf-protocols@lists.foaf-project.org">foaf-protocols@lists.foaf-project.org</a><br><b>Subject:</b> Re: [foaf-protocols] sparql, uriburner, and double binding hits</span><o:p></o:p></p></div></div><p class=MsoNormal>On 3/26/11 10:45 PM, peter williams wrote: <o:p></o:p></p><p class=MsoNormal>Concerning foaf card at <a href="http://foaf.me/pw2#me">http://foaf.me/pw2#me</a>,<o:p></o:p></p><p class=MsoNormal>The public entry has 1 RSA publicKeyResource: <o:p></o:p></p><p class=MsoNormal>- &lt;rdf:RDF xmlns:rdf=<a href="http://www.w3.org/1999/02/22-rdf-syntax-ns">&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot;</a> xmlns:rdfs=<a href="http://www.w3.org/2000/01/rdf-schema">&quot;http://www.w3.org/2000/01/rdf-schema#&quot;</a> xmlns:foaf=<a href="http://xmlns.com/foaf/0.1/">&quot;http://xmlns.com/foaf/0.1/&quot;</a> xmlns:rsa=<a href="http://www.w3.org/ns/auth/rsa">&quot;http://www.w3.org/ns/auth/rsa#&quot;</a> xmlns:cert=<a href="http://www.w3.org/ns/auth/cert">&quot;http://www.w3.org/ns/auth/cert#&quot;</a> xmlns:admin=<a href="http://webns.net/mvcb/">&quot;http://webns.net/mvcb/&quot;</a>&gt;<o:p></o:p></p><p class=MsoNormal>- &lt;foaf:PersonalProfileDocument rdf:about=&quot;&quot;&gt;<o:p></o:p></p><p class=MsoNormal>&nbsp; &lt;foaf:maker rdf:resource=&quot;#me&quot; /&gt; <o:p></o:p></p><p class=MsoNormal>&nbsp;&nbsp;&lt;foaf:primaryTopic rdf:resource=&quot;#me&quot; /&gt; <o:p></o:p></p><p class=MsoNormal>&nbsp;&nbsp;&lt;/foaf:PersonalProfileDocument&gt;<o:p></o:p></p><p class=MsoNormal>- &lt;foaf:Person rdf:ID=&quot;me&quot;&gt;<o:p></o:p></p><p class=MsoNormal>&nbsp; &lt;foaf:nick&gt;pw2&lt;/foaf:nick&gt; <o:p></o:p></p><p class=MsoNormal>&nbsp;&nbsp;&lt;foaf:homepage rdf:resource=&quot;&quot; /&gt; <o:p></o:p></p><p class=MsoNormal>&nbsp;&nbsp;&lt;/foaf:Person&gt;<o:p></o:p></p><p class=MsoNormal>- &lt;rdf:Description&gt;<o:p></o:p></p><p class=MsoNormal>&nbsp; &lt;rdf:type rdf:resource=<a href="http://www.w3.org/ns/auth/rsa#RSAPublicKey">&quot;http://www.w3.org/ns/auth/rsa#RSAPublicKey&quot;</a> /&gt; <o:p></o:p></p><p class=MsoNormal>&nbsp;&nbsp;&lt;cert:identity rdf:resource=&quot;#me&quot; /&gt; <o:p></o:p></p><p class=MsoNormal>- &lt;rsa:modulus rdf:parseType=&quot;Resource&quot;&gt;<o:p></o:p></p><p class=MsoNormal>&nbsp; &lt;cert:hex&gt;bd 4b 4a 44 35 d5 01 ee 87 46 70 e1 01 7f ab b0 80 60 c1 cb 3c e5 b4 3d 7f 62 7c c4 e0 a2 1d 24 3a 4f d6 89 0b cf 72 3f 39 ca 5f 0a 86 6e 43 40 06 99 14 6f 47 f6 99 03 3c 07 c8 e7 cf b9 06 6e 85 1b 5d 8d 2e 71 79 a0 db 2c 1a 59 b7 fc 7c be 70 aa b9 d0 d3 a7 f2 34 db 9f ce f9 67 ab 8f b7 93 28 97 c1 2c b0 74 ed e2 15 fe ca 0d f4 07 f7 23 36 06 4e 81 d4 3f 83 01 a9 94 e2 a0 f4 ba cd&lt;/cert:hex&gt; <o:p></o:p></p><p class=MsoNormal>&nbsp;&nbsp;&lt;/rsa:modulus&gt;<o:p></o:p></p><p class=MsoNormal>- &lt;rsa:public_exponent rdf:parseType=&quot;Resource&quot;&gt;<o:p></o:p></p><p class=MsoNormal>&nbsp; &lt;cert:decimal&gt;65537&lt;/cert:decimal&gt; <o:p></o:p></p><p class=MsoNormal>&nbsp;&nbsp;&lt;/rsa:public_exponent&gt;<o:p></o:p></p><p class=MsoNormal>&nbsp; &lt;/rdf:Description&gt;<o:p></o:p></p><p class=MsoNormal>&nbsp; &lt;/rdf:RDF&gt;<o:p></o:p></p><p class=MsoNormal>A ping on URIburner (using a query that works fine for OTHER foaf cards&#8230;.)<o:p></o:p></p><p class=MsoNormal>GET <a href="http://uriburner.com/sparql?default-graph-uri=&amp;should-sponge=grab-all&amp;query=%23What%3F+--+SELECT+list+type+casting%0D%0A%23Why%3F+--+string+comparison%0D%0A%23How%3F+--+leverage+fact+that+Virtuoso+can+surface+all+its+in-built+functions+%28from+SQL+and+other+functionality+realms%29%0D%0A%23+ditto+custom+functions%0D%0APREFIX+cert%3A+%3Chttp%3A%2F%2Fwww.w3.org%2Fns%2Fauth%2Fcert%23%3E%0D%0APREFIX+rsa%3A+%3Chttp%3A%2F%2Fwww.w3.org%2Fns%2Fauth%2Frsa%23%3E%0D%0ASELECT%0D%0A+++++++%28str+%28bif%3Acoalesce+%28%3Fexp_val%2C+%3Fexp%29%29%29+%28str+%28bif%3Acoalesce+%28%3Fmod_val%2C+%3Fmod%29%29%29%0D%0AWHERE+%7B%0D%0A+++++++++++%3Fid+cert%3Aidentity+%3Chttp%3A%2F%2Ffoaf.me%2Fpw2%23me%3E+%3B%0D%0A+++++++++++rsa%3Apublic_exponent+%3Fexp+%3B+rsa%3Amodulus+%3Fmod+.%0D%0A+++++++++++OPTIONAL+%7B+%3Fexp+cert%3Adecimal+%3Fexp_val+.+%3Fmod+cert%3Ahex+%3Fmod_val+.+%7D%0D%0A++++++++++%7D&amp;debug=on&amp;timeout=&amp;format=text%2Fhtml&amp;%0d%0a;CXML_redir_for_subjs=&amp;CXML_redi%0d%0ar_for_hrefs=&amp;save=display&amp;fname=">http://uriburner.com/sparql?default-graph-uri=&amp;should-sponge=grab-all&amp;query=%23What%3F+--+SELECT+list+type+casting%0D%0A%23Why%3F+--+string+comparison%0D%0A%23How%3F+--+leverage+fact+that+Virtuoso+can+surface+all+its+in-built+functions+%28from+SQL+and+other+functionality+realms%29%0D%0A%23+ditto+custom+functions%0D%0APREFIX+cert%3A+%3Chttp%3A%2F%2Fwww.w3.org%2Fns%2Fauth%2Fcert%23%3E%0D%0APREFIX+rsa%3A+%3Chttp%3A%2F%2Fwww.w3.org%2Fns%2Fauth%2Frsa%23%3E%0D%0ASELECT%0D%0A+++++++%28str+%28bif%3Acoalesce+%28%3Fexp_val%2C+%3Fexp%29%29%29+%28str+%28bif%3Acoalesce+%28%3Fmod_val%2C+%3Fmod%29%29%29%0D%0AWHERE+%7B%0D%0A+++++++++++%3Fid+cert%3Aidentity+%3Chttp%3A%2F%2Ffoaf.me%2Fpw2%23me%3E+%3B%0D%0A+++++++++++rsa%3Apublic_exponent+%3Fexp+%3B+rsa%3Amodulus+%3Fmod+.%0D%0A+++++++++++OPTIONAL+%7B+%3Fexp+cert%3Adecimal+%3Fexp_val+.+%3Fmod+cert%3Ahex+%3Fmod_val+.+%7D%0D%0A++++++++++%7D&amp;debug=on&amp;timeou t=&amp;format=text%2Fhtml&amp;CXML_redir_for_subjs=&amp;CXML_redir_for_hrefs=&amp;save=display&amp;fname=</a> HTTP/1.1<o:p></o:p></p><p class=MsoNormal>Accept: image/jpeg, image/gif, image/pjpeg, application/x-ms-application, application/xaml+xml, application/x-ms-xbap, */*<o:p></o:p></p><p class=MsoNormal>Referer: <a href="http://uriburner.com/sparql">http://uriburner.com/sparql</a><o:p></o:p></p><p class=MsoNormal>Accept-Language: en-US<o:p></o:p></p><p class=MsoNormal>User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; .NET4.0C; .NET4.0E; FDM)<o:p></o:p></p><p class=MsoNormal>Accept-Encoding: gzip, deflate<o:p></o:p></p><p class=MsoNormal>Host: uriburner.com<o:p></o:p></p><p class=MsoNormal>Connection: Keep-Alive<o:p></o:p></p><p class=MsoNormal>HTTP/1.1 200 OK<o:p></o:p></p><p class=MsoNormal>Server: Virtuoso/06.02.3129 (Linux) x86_64-generic-linux-glibc25-64&nbsp; VDB<o:p></o:p></p><p class=MsoNormal>Connection: close<o:p></o:p></p><p class=MsoNormal>Date: Sat, 26 Mar 2011 21:13:24 GMT<o:p></o:p></p><p class=MsoNormal>Accept-Ranges: bytes<o:p></o:p></p><p class=MsoNormal>Content-Type: text/html; charset=UTF-8<o:p></o:p></p><p class=MsoNormal>Access-Control-Allow-Origin: *<o:p></o:p></p><p class=MsoNormal>Content-Length: 965<o:p></o:p></p><p class=MsoNormal>Generates multiple binding matches, in the result set:<o:p></o:p></p><p class=MsoNormal>&lt;table class=&quot;sparql&quot; border=&quot;1&quot;&gt;<o:p></o:p></p><p class=MsoNormal>&nbsp; &lt;tr&gt;<o:p></o:p></p><p class=MsoNormal>&nbsp;&nbsp;&nbsp; &lt;th&gt;callret-0&lt;/th&gt;<o:p></o:p></p><p class=MsoNormal>&nbsp;&nbsp;&nbsp; &lt;th&gt;callret-1&lt;/th&gt;<o:p></o:p></p><p class=MsoNormal>&nbsp; &lt;/tr&gt;<o:p></o:p></p><p class=MsoNormal>&nbsp; &lt;tr&gt;<o:p></o:p></p><p class=MsoNormal>&nbsp;&nbsp;&nbsp; &lt;td&gt;65537&lt;/td&gt;<o:p></o:p></p><p class=MsoNormal>&nbsp;&nbsp;&nbsp; &lt;td&gt;bd 4b 4a 44 35 d5 01 ee 87 46 70 e1 01 7f ab b0 80 60 c1 cb 3c e5 b4 3d 7f 62 7c c4 e0 a2 1d 24 3a 4f d6 89 0b cf 72 3f 39 ca 5f 0a 86 6e 43 40 06 99 14 6f 47 f6 99 03 3c 07 c8 e7 cf b9 06 6e 85 1b 5d 8d 2e 71 79 a0 db 2c 1a 59 b7 fc 7c be 70 aa b9 d0 d3 a7 f2 34 db 9f ce f9 67 ab 8f b7 93 28 97 c1 2c b0 74 ed e2 15 fe ca 0d f4 07 f7 23 36 06 4e 81 d4 3f 83 01 a9 94 e2 a0 f4 ba cd&lt;/td&gt;<o:p></o:p></p><p class=MsoNormal>&nbsp; &lt;/tr&gt;<o:p></o:p></p><p class=MsoNormal>&nbsp; &lt;tr&gt;<o:p></o:p></p><p class=MsoNormal>&nbsp;&nbsp;&nbsp; &lt;td&gt;65537&lt;/td&gt;<o:p></o:p></p><p class=MsoNormal>&nbsp;&nbsp;&nbsp; &lt;td&gt;bd 4b 4a 44 35 d5 01 ee 87 46 70 e1 01 7f ab b0 80 60 c1 cb 3c e5 b4 3d 7f 62 7c c4 e0 a2 1d 24 3a 4f d6 89 0b cf 72 3f 39 ca 5f 0a 86 6e 43 40 06 99 14 6f 47 f6 99 03 3c 07 c8 e7 cf b9 06 6e 85 1b 5d 8d 2e 71 79 a0 db 2c 1a 59 b7 fc 7c be 70 aa b9 d0 d3 a7 f2 34 db 9f ce f9 67 ab 8f b7 93 28 97 c1 2c b0 74 ed e2 15 fe ca 0d f4 07 f7 23 36 06 4e 81 d4 3f 83 01 a9 94 e2 a0 f4 ba cd&lt;/td&gt;<o:p></o:p></p><p class=MsoNormal>&nbsp; &lt;/tr&gt;<o:p></o:p></p><p class=MsoNormal>&lt;/table&gt;<o:p></o:p></p><p class=MsoNormal>Any rationale? How should I behave?<o:p></o:p></p><p class=MsoNormal><span style='font-size:12.0pt;font-family:"Times New Roman","serif"'>Hi Peter,<br><br>the reason for the multiple results is the existence of two named graphs which match &quot;?id cert:identity <a href="http://foaf.me/pw2#me">&lt;http://foaf.me/pw2#me&gt;</a>&quot;.<br><br>PREFIX cert: <a href="http://www.w3.org/ns/auth/cert">&lt;http://www.w3.org/ns/auth/cert#&gt;</a><br>PREFIX rsa: <a href="http://www.w3.org/ns/auth/rsa">&lt;http://www.w3.org/ns/auth/rsa#&gt;</a><br>SELECT *<br>WHERE {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; graph ?g {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ?id cert:identity <a href="http://foaf.me/pw2#me">&lt;http://foaf.me/pw2#me&gt;</a> ;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; rsa:modulus [cert:hex ?m] ;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; rsa:public_exponent [cert:decimal ?e] .<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br><br>}<br><br><br>You can fix this behaviour by just adding<br>&nbsp; FROM &lt;<a href="http://foaf.me/pw2#me">http://foaf.me/pw2#me</a>&gt;<br>to your query.<br><br>Best,<br>Andreas<br><br><br><br><br><br></span><o:p></o:p></p><pre>-- <o:p></o:p></pre><pre>------------------------------------------<o:p></o:p></pre><pre>Dipl.-Ing. Andreas Radinger<o:p></o:p></pre><pre>Professur für Allgemeine BWL, insbesondere E-Business<o:p></o:p></pre><pre>e-business &amp; web science research group<o:p></o:p></pre><pre>Universität der Bundeswehr München<o:p></o:p></pre><pre> <o:p></o:p></pre><pre>e-mail: <a href="mailto:andreas.radinger@unibw.de">andreas.radinger@unibw.de</a><o:p></o:p></pre><pre>phone:&nbsp; +49-(0)89-6004-4218<o:p></o:p></pre><pre>fax:&nbsp;&nbsp;&nbsp; +49-(0)89-6004-4620<o:p></o:p></pre><pre>www:&nbsp;&nbsp;&nbsp; <a href="http://www.unibw.de/ebusiness/">http://www.unibw.de/ebusiness/</a><o:p></o:p></pre><pre>skype:&nbsp; andreas.radinger<o:p></o:p></pre><pre>&nbsp;<o:p></o:p></pre><pre>&nbsp;<o:p></o:p></pre><pre>_______________________________________________<o:p></o:p></pre><pre>foaf-protocols mailing list<o:p></o:p></pre><pre><a href="mailto:foaf-protocols@lists.foaf-project.org">foaf-protocols@lists.foaf-project.org</a><o:p></o:p></pre><pre><a href="http://lists.foaf-project.org/mailman/listinfo/foaf-protocols">http://lists.foaf-project.org/mailman/listinfo/foaf-protocols</a><o:p></o:p></pre><p class=MsoNormal><span style='font-size:12.0pt;font-family:"Times New Roman","serif"'><br><br><br><br></span><o:p></o:p></p><pre>-- <o:p></o:p></pre><pre>&nbsp;<o:p></o:p></pre><pre>Regards,<o:p></o:p></pre><pre>&nbsp;<o:p></o:p></pre><pre>Kingsley Idehen &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <o:p></o:p></pre><pre>President &amp; CEO <o:p></o:p></pre><pre>OpenLink Software&nbsp;&nbsp;&nbsp;&nbsp; <o:p></o:p></pre><pre>Web: <a href="http://www.openlinksw.com">http://www.openlinksw.com</a><o:p></o:p></pre><pre>Weblog: <a href="http://www.openlinksw.com/blog/%7Ekidehen">http://www.openlinksw.com/blog/~kidehen</a><o:p></o:p></pre><pre>Twitter/Identi.ca: kidehen <o:p></o:p></pre><pre>&nbsp;<o:p></o:p></pre><pre>&nbsp;<o:p></o:p></pre><pre>&nbsp;<o:p></o:p></pre><pre>&nbsp;<o:p></o:p></pre><p class=MsoNormal><span style='font-size:12.0pt;font-family:"Times New Roman","serif"'><br></span><span style='font-size:18.0pt;font-family:"Times New Roman","serif"'><br></span><span style='font-size:13.5pt;font-family:"Times New Roman","serif"'>Try:<br><br>#Why? -- string comparison<br>#How? -- leverage fact that Virtuoso can surface all its in-built functions (from SQL and other functionality realms)<br># ditto custom functions<br><br>PREFIX cert: <a href="http://www.w3.org/ns/auth/cert">&lt;http://www.w3.org/ns/auth/cert#&gt;</a> <br>PREFIX rsa: <a href="http://www.w3.org/ns/auth/rsa">&lt;http://www.w3.org/ns/auth/rsa#&gt;</a> <br>SELECT DISTINCT ?g<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (str (bif:coalesce (?exp_val, ?exp))) (str (bif:coalesce (?mod_val, ?mod)))&nbsp; <br>WHERE {&nbsp;&nbsp; GRAPH ?g { <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ?id cert:identity <a href="http://foaf.me/pw2#me">&lt;http://foaf.me/pw2#me&gt;</a> ;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; rsa:public_exponent ?exp ; rsa:modulus ?mod .&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; OPTIONAL { ?exp cert:decimal ?exp_val . ?mod cert:hex ?mod_val . }&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</span><span style='font-size:12.0pt;font-family:"Times New Roman","serif"'><br><br><br><o:p></o:p></span></p><pre>-- <o:p></o:p></pre><pre><o:p>&nbsp;</o:p></pre><pre>Regards,<o:p></o:p></pre><pre><o:p>&nbsp;</o:p></pre><pre>Kingsley Idehen            <o:p></o:p></pre><pre>President &amp; CEO <o:p></o:p></pre><pre>OpenLink Software     <o:p></o:p></pre><pre>Web: <a href="http://www.openlinksw.com">http://www.openlinksw.com</a><o:p></o:p></pre><pre>Weblog: <a href="http://www.openlinksw.com/blog/~kidehen">http://www.openlinksw.com/blog/~kidehen</a><o:p></o:p></pre><pre>Twitter/Identi.ca: kidehen <o:p></o:p></pre><pre><o:p>&nbsp;</o:p></pre><pre>&nbsp;<o:p></o:p></pre></blockquote><pre>&nbsp;<o:p></o:p></pre><pre>I helped to get another &quot;g&quot; into the endpoint.<o:p></o:p></pre><pre>Yes Peter, it is possible to generate another n &quot;g&quot;s in other domains.<o:p></o:p></pre><pre>Either you really need to use a &quot;FROM&quot; clause or I have not fully understood the problem.<o:p></o:p></pre><pre>&nbsp;<o:p></o:p></pre><pre>Best regards,<o:p></o:p></pre><pre>Andreas<o:p></o:p></pre><pre>&nbsp;<o:p></o:p></pre></div></body></html>