<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META content="text/html; charset=ISO-8859-1" http-equiv=Content-Type>
<META name=GENERATOR content="MSHTML 8.00.6001.19019"></HEAD>
<BODY bgColor=#ffffff text=#000000>
<DIV><FONT size=2 face=Arial></FONT>&nbsp;</DIV>
<BLOCKQUOTE 
style="BORDER-LEFT: #000000 2px solid; PADDING-LEFT: 5px; PADDING-RIGHT: 0px; MARGIN-LEFT: 5px; MARGIN-RIGHT: 0px">
  <DIV style="FONT: 10pt arial">----- Original Message ----- </DIV>
  <DIV 
  style="FONT: 10pt arial; BACKGROUND: #e4e4e4; font-color: black"><B>From:</B> 
  <A title=kidehen@openlinksw.com href="mailto:kidehen@openlinksw.com">Kingsley 
  Idehen</A> </DIV>
  <DIV style="FONT: 10pt arial"><B>To:</B> <A title=home_pw@msn.com 
  href="mailto:home_pw@msn.com">peter williams</A> </DIV>
  <DIV style="FONT: 10pt arial"><B>Cc:</B> <A 
  title=foaf-protocols@lists.foaf-project.org 
  href="mailto:foaf-protocols@lists.foaf-project.org">foaf-protocols@lists.foaf-project.org</A> 
  </DIV>
  <DIV style="FONT: 10pt arial"><B>Sent:</B> Sunday, March 27, 2011 10:27 
  PM</DIV>
  <DIV style="FONT: 10pt arial"><B>Subject:</B> Re: [foaf-protocols] sparql, 
  uriburner, and double binding hits</DIV>
  <DIV><BR></DIV>On 3/27/11 1:38 PM, peter williams wrote: 
  <BLOCKQUOTE cite=mid:SNT143-ds203C02CFA614D3EFB3D75A92BB0@phx.gbl 
    type="cite"><META name=Generator 
    content="Microsoft Word 14 (filtered&#13;&#10;        medium)">
    <STYLE>@font-face {
        font-family: Calibri;
}
@font-face {
        font-family: Tahoma;
}
@font-face {
        font-family: Consolas;
}
@page WordSection1 {size: 8.5in 11.0in; margin: 1.0in 1.0in 1.0in 1.0in; }
P.MsoNormal {
        MARGIN: 0in 0in 0pt; FONT-FAMILY: "Calibri","sans-serif"; COLOR: black; FONT-SIZE: 11pt
}
LI.MsoNormal {
        MARGIN: 0in 0in 0pt; FONT-FAMILY: "Calibri","sans-serif"; COLOR: black; FONT-SIZE: 11pt
}
DIV.MsoNormal {
        MARGIN: 0in 0in 0pt; FONT-FAMILY: "Calibri","sans-serif"; COLOR: black; FONT-SIZE: 11pt
}
A:link {
        COLOR: blue; TEXT-DECORATION: underline; mso-style-priority: 99
}
SPAN.MsoHyperlink {
        COLOR: blue; TEXT-DECORATION: underline; mso-style-priority: 99
}
A:visited {
        COLOR: purple; TEXT-DECORATION: underline; mso-style-priority: 99
}
SPAN.MsoHyperlinkFollowed {
        COLOR: purple; TEXT-DECORATION: underline; mso-style-priority: 99
}
PRE {
        MARGIN: 0in 0in 0pt; FONT-FAMILY: "Courier New"; COLOR: black; FONT-SIZE: 10pt; mso-style-priority: 99; mso-style-link: "HTML Preformatted Char"
}
P.MsoAcetate {
        MARGIN: 0in 0in 0pt; FONT-FAMILY: "Tahoma","sans-serif"; COLOR: black; FONT-SIZE: 8pt; mso-style-priority: 99; mso-style-link: "Balloon Text Char"
}
LI.MsoAcetate {
        MARGIN: 0in 0in 0pt; FONT-FAMILY: "Tahoma","sans-serif"; COLOR: black; FONT-SIZE: 8pt; mso-style-priority: 99; mso-style-link: "Balloon Text Char"
}
DIV.MsoAcetate {
        MARGIN: 0in 0in 0pt; FONT-FAMILY: "Tahoma","sans-serif"; COLOR: black; FONT-SIZE: 8pt; mso-style-priority: 99; mso-style-link: "Balloon Text Char"
}
P.MsoListParagraph {
        MARGIN: 0in 0in 0pt 0.5in; FONT-FAMILY: "Calibri","sans-serif"; COLOR: black; FONT-SIZE: 11pt; mso-style-priority: 34
}
LI.MsoListParagraph {
        MARGIN: 0in 0in 0pt 0.5in; FONT-FAMILY: "Calibri","sans-serif"; COLOR: black; FONT-SIZE: 11pt; mso-style-priority: 34
}
DIV.MsoListParagraph {
        MARGIN: 0in 0in 0pt 0.5in; FONT-FAMILY: "Calibri","sans-serif"; COLOR: black; FONT-SIZE: 11pt; mso-style-priority: 34
}
SPAN.HTMLPreformattedChar {
        FONT-FAMILY: Consolas; COLOR: black; mso-style-priority: 99; mso-style-link: "HTML Preformatted"; mso-style-name: "HTML Preformatted Char"
}
SPAN.EmailStyle19 {
        FONT-FAMILY: "Calibri","sans-serif"; COLOR: windowtext; mso-style-type: personal
}
SPAN.EmailStyle20 {
        FONT-FAMILY: "Calibri","sans-serif"; COLOR: #1f497d; mso-style-type: personal
}
SPAN.EmailStyle21 {
        FONT-FAMILY: "Calibri","sans-serif"; COLOR: #1f497d; mso-style-type: personal-reply
}
SPAN.BalloonTextChar {
        FONT-FAMILY: "Tahoma","sans-serif"; COLOR: black; mso-style-priority: 99; mso-style-link: "Balloon Text"; mso-style-name: "Balloon Text Char"
}
.MsoChpDefault {
        FONT-SIZE: 10pt; mso-style-type: export-only
}
DIV.WordSection1 {
        page: WordSection1
}
OL {
        MARGIN-BOTTOM: 0in
}
UL {
        MARGIN-BOTTOM: 0in
}
</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]-->
    <DIV class=WordSection1>
    <P class=MsoNormal><SPAN 
    style="COLOR: rgb(31,73,125); FONT-SIZE: 10pt"><O:P></O:P></SPAN></P>
    <P class=MsoNormal><SPAN style="COLOR: rgb(31,73,125); FONT-SIZE: 10pt"><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; ;format=text%2Fhtml&amp;CXML_redir_for_subjs=&amp;CXML_redir_for_hrefs=&amp;save=display&amp;fname" 
    moz-do-not-send="true">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>=<O:P></O:P></SPAN></P>
    <P class=MsoNormal><SPAN 
    style="COLOR: rgb(31,73,125); FONT-SIZE: 10pt"><O:P></O:P></SPAN></P>
    <P class=MsoNormal><SPAN 
    style="COLOR: rgb(31,73,125); FONT-SIZE: 10pt">gives<O:P></O:P></SPAN></P>
    <P class=MsoNormal><SPAN 
    style="COLOR: rgb(31,73,125); FONT-SIZE: 10pt"><O:P></O:P></SPAN></P>
    <TABLE class=MsoNormalTable border=1 cellPadding=0>
      <TBODY>
      <TR>
        <TD 
        style="PADDING-BOTTOM: 0.75pt; PADDING-LEFT: 0.75pt; PADDING-RIGHT: 0.75pt; PADDING-TOP: 0.75pt">
          <P style="TEXT-ALIGN: center" class=MsoNormal align=center><B><SPAN 
          style="COLOR: windowtext; FONT-SIZE: 10pt">g<O:P></O:P></SPAN></B></P></TD>
        <TD 
        style="PADDING-BOTTOM: 0.75pt; PADDING-LEFT: 0.75pt; PADDING-RIGHT: 0.75pt; PADDING-TOP: 0.75pt">
          <P style="TEXT-ALIGN: center" class=MsoNormal align=center><B><SPAN 
          style="COLOR: windowtext; FONT-SIZE: 10pt">callret-1<O:P></O:P></SPAN></B></P></TD>
        <TD 
        style="PADDING-BOTTOM: 0.75pt; PADDING-LEFT: 0.75pt; PADDING-RIGHT: 0.75pt; PADDING-TOP: 0.75pt">
          <P style="TEXT-ALIGN: center" class=MsoNormal align=center><B><SPAN 
          style="COLOR: windowtext; FONT-SIZE: 10pt">callret-2<O:P></O:P></SPAN></B></P></TD></TR>
      <TR>
        <TD 
        style="PADDING-BOTTOM: 0.75pt; PADDING-LEFT: 0.75pt; PADDING-RIGHT: 0.75pt; PADDING-TOP: 0.75pt">
          <P class=MsoNormal><SPAN style="COLOR: windowtext; FONT-SIZE: 10pt"><A 
          class=moz-txt-link-freetext 
          href="http://foaf.me/pw2">http://foaf.me/pw2</A><O:P></O:P></SPAN></P></TD>
        <TD 
        style="PADDING-BOTTOM: 0.75pt; PADDING-LEFT: 0.75pt; PADDING-RIGHT: 0.75pt; PADDING-TOP: 0.75pt">
          <P class=MsoNormal><SPAN 
          style="COLOR: windowtext; FONT-SIZE: 10pt">65537<O:P></O:P></SPAN></P></TD>
        <TD 
        style="PADDING-BOTTOM: 0.75pt; PADDING-LEFT: 0.75pt; PADDING-RIGHT: 0.75pt; PADDING-TOP: 0.75pt">
          <P class=MsoNormal><SPAN style="COLOR: windowtext; FONT-SIZE: 10pt">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<O:P></O:P></SPAN></P></TD></TR>
      <TR>
        <TD 
        style="PADDING-BOTTOM: 0.75pt; PADDING-LEFT: 0.75pt; PADDING-RIGHT: 0.75pt; PADDING-TOP: 0.75pt">
          <P class=MsoNormal><SPAN style="COLOR: windowtext; FONT-SIZE: 10pt"><A 
          class=moz-txt-link-freetext 
          href="http://foaf.me/pw2#me">http://foaf.me/pw2#me</A><O:P></O:P></SPAN></P></TD>
        <TD 
        style="PADDING-BOTTOM: 0.75pt; PADDING-LEFT: 0.75pt; PADDING-RIGHT: 0.75pt; PADDING-TOP: 0.75pt">
          <P class=MsoNormal><SPAN 
          style="COLOR: windowtext; FONT-SIZE: 10pt">65537<O:P></O:P></SPAN></P></TD>
        <TD 
        style="PADDING-BOTTOM: 0.75pt; PADDING-LEFT: 0.75pt; PADDING-RIGHT: 0.75pt; PADDING-TOP: 0.75pt">
          <P class=MsoNormal><SPAN style="COLOR: windowtext; FONT-SIZE: 10pt">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<O:P></O:P></SPAN></P></TD></TR></TBODY></TABLE>
    <P class=MsoNormal><SPAN 
style="COLOR: rgb(31,73,125)"><O:P></O:P></SPAN></P>
    <P class=MsoNormal><SPAN 
style="COLOR: rgb(31,73,125)"><O:P></O:P></SPAN></P>
    <P class=MsoNormal><SPAN style="COLOR: rgb(31,73,125)">Ive little idea why 
    this card produces those triples in uriburners triple/quad store, given my 
    other cards don’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 “what would happen?”…as I played with variants of the 
    webid URI). This may be the cause.<O:P></O:P></SPAN></P>
    <P class=MsoNormal><SPAN 
style="COLOR: rgb(31,73,125)"><O:P></O:P></SPAN></P>
    <P class=MsoNormal><SPAN 
style="COLOR: rgb(31,73,125)"><O:P></O:P></SPAN></P>
    <P class=MsoNormal><SPAN style="COLOR: rgb(31,73,125)">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).<O:P></O:P></SPAN></P>
    <P class=MsoNormal><SPAN 
style="COLOR: rgb(31,73,125)"><O:P></O:P></SPAN></P>
    <P class=MsoNormal><SPAN style="COLOR: rgb(31,73,125)">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…) 
    that asserts the equivalence. One has to have a trusted source of triples, 
    to do this, of course.<O:P></O:P></SPAN></P>
    <P class=MsoNormal><SPAN 
style="COLOR: rgb(31,73,125)"><O:P></O:P></SPAN></P>
    <P class=MsoNormal><SPAN style="COLOR: rgb(31,73,125)">So, this seems an 
    interesting test case. <O:P></O:P></SPAN></P>
    <P style="TEXT-INDENT: -0.25in" class=MsoListParagraph>&lt;!--[if 
    !supportLists]--&gt;<SPAN style="COLOR: rgb(31,73,125)"><SPAN>1.<SPAN 
    style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
    </SPAN></SPAN></SPAN>&lt;!--[endif]--&gt;<SPAN 
    style="COLOR: rgb(31,73,125)">Create a new foaf.me file. Somehow fiddle that 
    one file’s rsapublickeys values. Issue lots of uriburner queries, such that 
    uriburner ends up with 2 graphs (as above), binding to the same 
    publickey<O:P></O:P></SPAN></P>
    <P style="TEXT-INDENT: -0.25in" class=MsoListParagraph>&lt;!--[if 
    !supportLists]--&gt;<SPAN style="COLOR: rgb(31,73,125)"><SPAN>2.<SPAN 
    style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
    </SPAN></SPAN></SPAN>&lt;!--[endif]--&gt;<SPAN 
    style="COLOR: rgb(31,73,125)">Make 2 self-signed certs, each with 1 graph 
    URI (as above) as it’s 1 webid SAN field<O:P></O:P></SPAN></P>
    <P style="TEXT-INDENT: -0.25in" class=MsoListParagraph>&lt;!--[if 
    !supportLists]--&gt;<SPAN style="COLOR: rgb(31,73,125)"><SPAN>3.<SPAN 
    style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
    </SPAN></SPAN></SPAN>&lt;!--[endif]--&gt;<SPAN 
    style="COLOR: rgb(31,73,125)">Make login attempts to foaf.me, with 
    each.<O:P></O:P></SPAN></P>
    <P class=MsoNormal><SPAN 
style="COLOR: rgb(31,73,125)"><O:P></O:P></SPAN></P>
    <P class=MsoNormal><SPAN style="COLOR: rgb(31,73,125)">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).<O:P></O:P></SPAN></P>
    <P class=MsoNormal><SPAN 
style="COLOR: rgb(31,73,125)"><O:P></O:P></SPAN></P>
    <P class=MsoNormal><SPAN style="COLOR: rgb(31,73,125)">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.<O:P></O:P></SPAN></P>
    <P class=MsoNormal><SPAN 
style="COLOR: rgb(31,73,125)"><O:P></O:P></SPAN></P>
    <P class=MsoNormal><SPAN style="COLOR: rgb(31,73,125)">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.<O:P></O:P></SPAN></P>
    <P class=MsoNormal><SPAN 
style="COLOR: rgb(31,73,125)"><O:P></O:P></SPAN></P>
    <P class=MsoNormal><SPAN style="COLOR: rgb(31,73,125)">So, in the wider 
    sense of webid, just “who” is “authoritative” … for such equivalence 
    relations?<O:P></O:P></SPAN></P>
    <P class=MsoNormal><SPAN 
style="COLOR: rgb(31,73,125)"><O:P></O:P></SPAN></P>
    <P class=MsoNormal><SPAN style="COLOR: rgb(31,73,125)">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 – 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 
    – that then drives claims-based access controls (after translation, if 
    required). This does not assume semweb trust, of course, merely recognizing 
    of the IDP’s signing keys – which seems to be a variant of webid 
    protocol.<O:P></O:P></SPAN></P>
    <P class=MsoNormal><SPAN 
style="COLOR: rgb(31,73,125)"><O:P></O:P></SPAN></P>
    <DIV>
    <DIV 
    style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; PADDING-BOTTOM: 0in; PADDING-LEFT: 0in; PADDING-RIGHT: 0in; BORDER-TOP: rgb(181,196,223) 1pt solid; BORDER-RIGHT: medium none; PADDING-TOP: 3pt">
    <P class=MsoNormal><B><SPAN 
    style="FONT-FAMILY: 'Tahoma','sans-serif'; COLOR: windowtext; FONT-SIZE: 10pt">From:</SPAN></B><SPAN 
    style="FONT-FAMILY: 'Tahoma','sans-serif'; COLOR: windowtext; FONT-SIZE: 10pt"> 
    <A class=moz-txt-link-abbreviated 
    href="mailto:foaf-protocols-bounces@lists.foaf-project.org">foaf-protocols-bounces@lists.foaf-project.org</A> 
    [<A class=moz-txt-link-freetext 
    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 class=moz-txt-link-abbreviated 
    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<O:P></O:P></SPAN></P></DIV></DIV>
    <P class=MsoNormal><O:P></O:P></P>
    <P class=MsoNormal>On 3/27/11 10:30 AM, peter williams wrote: 
<O:P></O:P></P>
    <P class=MsoNormal><SPAN 
style="COLOR: rgb(31,73,125)"></SPAN><O:P></O:P></P>
    <P class=MsoNormal><SPAN style="COLOR: rgb(31,73,125)">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: rgb(31,73,125)"></SPAN><O:P></O:P></P>
    <P class=MsoNormal><SPAN style="COLOR: rgb(31,73,125)">If there can be 2, 
    presumably there can be n.</SPAN><O:P></O:P></P>
    <P class=MsoNormal><SPAN 
style="COLOR: rgb(31,73,125)"></SPAN><O:P></O:P></P>
    <P class=MsoNormal><SPAN style="COLOR: rgb(31,73,125)">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: rgb(31,73,125)"></SPAN><O:P></O:P></P>
    <P class=MsoNormal><SPAN style="COLOR: rgb(31,73,125)">Or, should I think in 
    terms of quads, where it so happens that the cert:hex… 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: rgb(31,73,125)"></SPAN><O:P></O:P></P>
    <P class=MsoNormal><SPAN style="COLOR: rgb(31,73,125)">While it seems 
    important to eliminate this (using the FROM…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 “what are all the pubkeys, ever known to 
    be or have been associated”, 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-FAMILY: 'Times New Roman','serif'; FONT-SIZE: 12pt"><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" 
    moz-do-not-send="true">&lt;http://www.w3.org/ns/auth/cert#&gt;</A> 
    <BR>PREFIX rsa: <A href="http://www.w3.org/ns/auth/rsa" 
    moz-do-not-send="true">&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" 
    moz-do-not-send="true">&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><O:P></O:P></SPAN></P>
    <P class=MsoNormal><SPAN 
style="COLOR: rgb(31,73,125)"></SPAN><O:P></O:P></P>
    <P class=MsoNormal><SPAN 
style="COLOR: rgb(31,73,125)"></SPAN><O:P></O:P></P>
    <DIV>
    <DIV 
    style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; PADDING-BOTTOM: 0in; PADDING-LEFT: 0in; PADDING-RIGHT: 0in; BORDER-TOP: 1pt solid; BORDER-RIGHT: medium none; PADDING-TOP: 3pt">
    <P class=MsoNormal><B><SPAN 
    style="FONT-FAMILY: 'Tahoma','sans-serif'; COLOR: windowtext; FONT-SIZE: 10pt">From:</SPAN></B><SPAN 
    style="FONT-FAMILY: 'Tahoma','sans-serif'; COLOR: windowtext; FONT-SIZE: 10pt"> 
    Andreas Radinger [<A href="mailto:andreas.radinger@ebusiness-unibw.org" 
    moz-do-not-send="true">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" 
    moz-do-not-send="true">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><O:P></O:P></P>
    <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" 
    moz-do-not-send="true">http://foaf.me/pw2#me</A>,<O:P></O:P></P>
    <P class=MsoNormal><O:P></O:P></P>
    <P class=MsoNormal>The public entry has 1 RSA publicKeyResource: 
    <O:P></O:P></P>
    <P class=MsoNormal><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" 
    moz-do-not-send="true">"http://www.w3.org/1999/02/22-rdf-syntax-ns#"</A> 
    xmlns:rdfs=<A href="http://www.w3.org/2000/01/rdf-schema" 
    moz-do-not-send="true">"http://www.w3.org/2000/01/rdf-schema#"</A> 
    xmlns:foaf=<A href="http://xmlns.com/foaf/0.1/" 
    moz-do-not-send="true">"http://xmlns.com/foaf/0.1/"</A> xmlns:rsa=<A 
    href="http://www.w3.org/ns/auth/rsa" 
    moz-do-not-send="true">"http://www.w3.org/ns/auth/rsa#"</A> xmlns:cert=<A 
    href="http://www.w3.org/ns/auth/cert" 
    moz-do-not-send="true">"http://www.w3.org/ns/auth/cert#"</A> xmlns:admin=<A 
    href="http://webns.net/mvcb/" 
    moz-do-not-send="true">"http://webns.net/mvcb/"</A>&gt;<O:P></O:P></P>
    <P class=MsoNormal>- &lt;foaf:PersonalProfileDocument 
    rdf:about=""&gt;<O:P></O:P></P>
    <P class=MsoNormal>&nbsp; &lt;foaf:maker rdf:resource="#me" /&gt; 
    <O:P></O:P></P>
    <P class=MsoNormal>&nbsp;&nbsp;&lt;foaf:primaryTopic rdf:resource="#me" 
    /&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="me"&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="" /&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" 
    moz-do-not-send="true">"http://www.w3.org/ns/auth/rsa#RSAPublicKey"</A> 
    /&gt; <O:P></O:P></P>
    <P class=MsoNormal>&nbsp;&nbsp;&lt;cert:identity rdf:resource="#me" /&gt; 
    <O:P></O:P></P>
    <P class=MsoNormal>- &lt;rsa:modulus 
    rdf:parseType="Resource"&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="Resource"&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><O:P></O:P></P>
    <P class=MsoNormal><O:P></O:P></P>
    <P class=MsoNormal>A ping on URIburner (using a query that works fine for 
    OTHER foaf cards….)<O:P></O:P></P>
    <P class=MsoNormal><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=" 
    moz-do-not-send="true">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" 
    moz-do-not-send="true">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><O:P></O:P></P>
    <P class=MsoNormal>Generates multiple binding matches, in the result 
    set:<O:P></O:P></P>
    <P class=MsoNormal><O:P></O:P></P>
    <P class=MsoNormal>&lt;table class="sparql" border="1"&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><O:P></O:P></P>
    <P class=MsoNormal>Any rationale? How should I behave?<O:P></O:P></P>
    <P class=MsoNormal><O:P></O:P></P>
    <P class=MsoNormal><O:P></O:P></P>
    <P class=MsoNormal><SPAN 
    style="FONT-FAMILY: 'Times New Roman','serif'; FONT-SIZE: 12pt"></SPAN><O:P></O:P></P>
    <P class=MsoNormal><SPAN 
    style="FONT-FAMILY: 'Times New Roman','serif'; FONT-SIZE: 12pt">Hi 
    Peter,<BR><BR>the reason for the multiple results is the existence of two 
    named graphs which match "?id cert:identity <A href="http://foaf.me/pw2#me" 
    moz-do-not-send="true">&lt;http://foaf.me/pw2#me&gt;</A>".<BR><BR>PREFIX 
    cert: <A href="http://www.w3.org/ns/auth/cert" 
    moz-do-not-send="true">&lt;http://www.w3.org/ns/auth/cert#&gt;</A><BR>PREFIX 
    rsa: <A href="http://www.w3.org/ns/auth/rsa" 
    moz-do-not-send="true">&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" 
    moz-do-not-send="true">&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" 
    moz-do-not-send="true">http://foaf.me/pw2#me</A>&gt;<BR>to your 
    query.<BR><BR>Best,<BR>Andreas<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" moz-do-not-send="true">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/" moz-do-not-send="true">http://www.unibw.de/ebusiness/</A><O:P></O:P></PRE><PRE>skype:&nbsp; andreas.radinger<O:P></O:P></PRE>
    <P class=MsoNormal><SPAN 
    style="FONT-FAMILY: 'Times New Roman','serif'; FONT-SIZE: 12pt"></SPAN><O:P></O:P></P><PRE><O:P>&nbsp;</O:P></PRE><PRE><O:P>&nbsp;</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" moz-do-not-send="true">foaf-protocols@lists.foaf-project.org</A><O:P></O:P></PRE><PRE><A href="http://lists.foaf-project.org/mailman/listinfo/foaf-protocols" moz-do-not-send="true">http://lists.foaf-project.org/mailman/listinfo/foaf-protocols</A><O:P></O:P></PRE>
    <P class=MsoNormal><SPAN 
    style="FONT-FAMILY: 'Times New Roman','serif'; FONT-SIZE: 12pt"><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 &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" moz-do-not-send="true">http://www.openlinksw.com</A><O:P></O:P></PRE><PRE>Weblog: <A href="http://www.openlinksw.com/blog/%7Ekidehen" moz-do-not-send="true">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><O:P>&nbsp;</O:P></PRE><PRE><O:P>&nbsp;</O:P></PRE><PRE><O:P>&nbsp;</O:P></PRE></DIV></BLOCKQUOTE><BR><FONT 
  size=+2><BR><SMALL>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 
  class=moz-txt-link-rfc2396E 
  href="http://www.w3.org/ns/auth/cert#">&lt;http://www.w3.org/ns/auth/cert#&gt;</A> 
  <BR>PREFIX rsa: <A class=moz-txt-link-rfc2396E 
  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 class=moz-txt-link-rfc2396E 
  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; }</SMALL></FONT><BR><BR><PRE class=moz-signature cols="72">-- 

Regards,

Kingsley Idehen              
President &amp; CEO 
OpenLink Software     
Web: <A class=moz-txt-link-freetext href="http://www.openlinksw.com">http://www.openlinksw.com</A>
Weblog: <A class=moz-txt-link-freetext href="http://www.openlinksw.com/blog/~kidehen">http://www.openlinksw.com/blog/~kidehen</A>
Twitter/Identi.ca: kidehen 

</PRE><PRE class=moz-signature cols="72">&nbsp;</PRE></BLOCKQUOTE><PRE class=moz-signature cols="72">&nbsp;</PRE><PRE class=moz-signature cols="72">I helped to get another "g" into the endpoint.</PRE><PRE class=moz-signature cols="72">Yes Peter, it is possible to generate another n "g"s in other domains.</PRE><PRE class=moz-signature cols="72">Either you really need to use a "FROM" clause or I have not fully understood the problem.</PRE><PRE class=moz-signature cols="72">&nbsp;</PRE><PRE class=moz-signature cols="72">Best regards,</PRE><PRE class=moz-signature cols="72">Andreas</PRE><PRE class=moz-signature cols="72">&nbsp;</PRE></BODY></HTML>