[foaf-protocols] sparql, uriburner, and double binding hits

Kingsley Idehen kidehen at openlinksw.com
Mon Mar 28 20:12:23 CEST 2011


On 3/28/11 1:11 PM, peter williams wrote:
>
> I’ve though of 2 things I need to do more, before I release the sample.
>
> 1.Make the service behind the endpoint return some HTML+RDFa (e.g. the 
> statement, I attest to the fact that I validated webid W at time T) 
> similar to the uriburner “proxy” statementing
>
> 2.Make my call to uriburner’s sparql data service itself feature the 
> webid protocol.
>
> So, starting with 2, is there a 2^nd sparql endpoint on uriburner to 
> which my data service client (itself an SSL server remember) might 
> connect? via https? and which will request a client cert? and even do 
> a webid validation process on it?
>
Several, but in different places:

1. http://id.myopenlink.net/sparql -- a live WebID based Personal Data 
Space service (go /ods or /vsp/users/users.vsp to make a profile and get 
a WebID)
2. http://kingsley.idehen.net/sparql -- one of my many personal data spaces
3. http://demo.openlinksw.com/sparql -- another demo service.

> If we do this, then there are 5 sites doing something interesting with 
> webid. The myxwiki (RDFa), the foaf.me (XML/RDF), the sparql server 
> (uriburner doing access control), my little windows web service, and 
> the older foaf+ssl idp. With this shown, I can work on making a 
> production IDP (using SAML or WS-fedp, or WRAP) consume webid 
> protocol, before generating its token. Perhaps the claims mapping in 
> that token can be then DRIVEN by other information in the foaf card!
>

Yes, go play :-)

Kingsley
>
> *From:*foaf-protocols-bounces at lists.foaf-project.org 
> [mailto:foaf-protocols-bounces at lists.foaf-project.org] *On Behalf Of 
> *Peter Williams
> *Sent:* Sunday, March 27, 2011 6:58 PM
> *To:* Kingsley Idehen
> *Cc:* foaf-protocols at lists.foaf-project.org
> *Subject:* Re: [foaf-protocols] sparql, uriburner, and double binding hits
>
> I'll release my windows demo, layer.
>
> 100 line demo server for windows 2008 r2 sp1, that does the common use 
> case - using procedural code.
>
> Works fine with opera .
>
> Doesn't work well with ie (as I don't know still how to make the ssl 
> ca list be null). But opera doesn't care....
>
> Only allows 1 San uri per cert since windows API does not assume 
> multiple . ;I can hand parse the San, though, I suppose(.
>
>
> On Mar 27, 2011, at 5:01 PM, Kingsley Idehen <kidehen at openlinksw.com 
> <mailto:kidehen at openlinksw.com>> wrote:
>
>     On 3/27/11 6:27 PM, peter williams wrote:
>
>     The FROM clause makes sense – 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.
>
>     There are additional problems, though, beyond the (From-enhanced)
>     query - marked up for Vituoso’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’s supposed to explore what webbiness can do
>     (that PGP cannot…). And, it seems in using the FROM-less version
>     of the query, we have started to explore an interesting,
>     “more-webby” variant of webid.
>
>
>     Virtuoso isn't impeding webbyness, its a sophisticated DBMS that
>     offers a range of options. It can operate in a plethora of modes,
>     naturally I have URIBurner set to max flexibility.
>
>
>     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) ?
>
>
>     Each Named Graph in Virtuoso's Relational Property Graph DBMS is
>     like a Table in a Relational Tables DBMS. When Virtuoso sponges
>     (HTTP GET and cache) a Resource via its URL it makes a local Named
>     Graph using the Resource URL. In our parlance, the Resource URL is
>     equivalent to an ODBC Data Source Name (DSN).
>
>     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 – list that my webid maps to my RSApublicKey, then might
>     not the FROM-less query now test: how many “reputable” folks
>     attest (in their foaf cards) to the mapping of my webid to my
>     RSAPubkey?
>
>
>     Yes, if you use DISTINCT without FROM, for instance.
>
>
>     If some or all 10 were viewed then as being “endorsers” of me and
>     my RSApubkey, we have the beginnings of testing: how many others
>     (apart from Peter) wish to speak-for peter’s key? (pgp like….)
>
>     Now, Im guessing/hoping that the semantic social space is
>     addressing this kind of topic.
>
>
>     Yes.
>
>
>     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’s
>     formulation could be seen to be “message” being exchanged between
>     the https endpoints (rather than a “query”) – much like SSL sends
>     messages between its endpoints. Given messaging… then one can
>     build messaging protocols. Perhaps, on could build an SSL-like
>     handshake using this kind of message passing!.
>
>
>     We can do many things, we just need to get started with many
>     players doing interop :-)
>
>
>     Kingsley
>
>     *From:*Andreas Radinger [mailto:andreas.radinger at ebusiness-unibw.org]
>     *Sent:* Sunday, March 27, 2011 2:02 PM
>     *To:* Kingsley Idehen; peter williams
>     *Cc:* foaf-protocols at lists.foaf-project.org
>     <mailto:foaf-protocols at lists.foaf-project.org>
>     *Subject:* Re: [foaf-protocols] sparql, uriburner, and double
>     binding hits
>
>         ----- Original Message -----
>
>         *From:*Kingsley Idehen <mailto:kidehen at openlinksw.com>
>
>         *To:*peter williams <mailto:home_pw at msn.com>
>
>         *Cc:*foaf-protocols at lists.foaf-project.org
>         <mailto:foaf-protocols at lists.foaf-project.org>
>
>         *Sent:*Sunday, March 27, 2011 10:27 PM
>
>         *Subject:*Re: [foaf-protocols] sparql, uriburner, and double
>         binding hits
>
>         On 3/27/11 1:38 PM, peter williams wrote:
>
>         http://uriburner.com/sparql/?default-graph-uri=&should-sponge=&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&debug=on&timeout=
>         <http://uriburner.com/sparql/?default-graph-uri=&should-sponge=&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&debug=on&timeout=>
>         &
>         ;format=text%2Fhtml&CXML_redir_for_subjs=&CXML_redir_for_hrefs=&save=display&fname=
>
>         gives
>
>         *g*
>
>         	
>
>         *callret-1*
>
>         	
>
>         *callret-2*
>
>         http://foaf.me/pw2
>
>         	
>
>         65537
>
>         	
>
>         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
>
>         http://foaf.me/pw2#me
>
>         	
>
>         65537
>
>         	
>
>         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
>
>         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.
>
>         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).
>
>         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.
>
>         So, this seems an interesting test case.
>
>         <!--[if !supportLists]-->1.<!--[endif]-->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
>
>         <!--[if !supportLists]-->2.<!--[endif]-->Make 2 self-signed
>         certs, each with 1 graph URI (as above) as it’s 1 webid SAN field
>
>         <!--[if !supportLists]-->3.<!--[endif]-->Make login attempts
>         to foaf.me, with each.
>
>         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).
>
>         Presumably,  a security enforcer module for authn  (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.
>
>         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.
>
>         So, in the wider sense of webid, just “who” is “authoritative”
>         … for such equivalence relations?
>
>         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.
>
>         *From:*foaf-protocols-bounces at lists.foaf-project.org
>         <mailto:foaf-protocols-bounces at lists.foaf-project.org>
>         [mailto:foaf-protocols-bounces at lists.foaf-project.org] *On
>         Behalf Of *Kingsley Idehen
>         *Sent:* Sunday, March 27, 2011 9:35 AM
>         *To:* foaf-protocols at lists.foaf-project.org
>         <mailto:foaf-protocols at lists.foaf-project.org>
>         *Subject:* Re: [foaf-protocols] sparql, uriburner, and double
>         binding hits
>
>         On 3/27/11 10:30 AM, peter williams wrote:
>
>         Gulp! There can be 2 containers (foaf card files, in the
>         simple representation on a webserverr) matched by a URI?
>
>         If there can be 2, presumably there can be n.
>
>         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?
>
>         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^th element is a time-value, say? The time the foaf
>         card was replicated/crawled, say?
>
>         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.
>
>
>         Virtuoso (what sits behind URIBurner.com
>         <http://URIBurner.com>) is a Quad Store (amongst many other
>         things re. DBMS functionality).
>
>         Try:
>
>         #Why? -- string comparison
>         #How? -- leverage fact that Virtuoso can surface all its
>         in-built functions (from SQL and other functionality realms)
>         # ditto custom functions
>
>         PREFIX cert: <
>         <http://www.w3.org/ns/auth/cert>http://www.w3.org/ns/auth/cert# <http://www.w3.org/ns/auth/cert>>
>
>         PREFIX rsa: <
>         <http://www.w3.org/ns/auth/rsa>http://www.w3.org/ns/auth/rsa#
>         <http://www.w3.org/ns/auth/rsa>>
>         SELECT ?g
>                (str (bif:coalesce (?exp_val, ?exp))) (str
>         (bif:coalesce (?mod_val, ?mod)))
>         WHERE {   GRAPH ?g {
>                    ?id cert:identity <
>         <http://webid.myxwiki.org/xwiki/bin/view/XWiki/homepw4#me>http://webid.myxwiki.org/xwiki/bin/view/XWiki/homepw4#me>
>         ;
>                    rsa:public_exponent ?exp ; rsa:modulus ?mod .
>                    OPTIONAL { ?exp cert:decimal ?exp_val . ?mod
>         cert:hex ?mod_val . }
>                   }
>
>
>
>         Kingsley
>
>
>
>         *From:*Andreas Radinger
>         [mailto:andreas.radinger at ebusiness-unibw.org]
>         *Sent:* Sunday, March 27, 2011 4:18 AM
>         *To:* peter williams
>         *Cc:* foaf-protocols at lists.foaf-project.org
>         <mailto:foaf-protocols at lists.foaf-project.org>
>         *Subject:* Re: [foaf-protocols] sparql, uriburner, and double
>         binding hits
>
>         On 3/26/11 10:45 PM, peter williams wrote:
>
>         Concerning foaf card at http://foaf.me/pw2#me,
>
>         The public entry has 1 RSA publicKeyResource:
>
>         - <rdf:RDF xmlns:rdf="
>         <http://www.w3.org/1999/02/22-rdf-syntax-ns>http://www.w3.org/1999/02/22-rdf-syntax-ns#
>         <http://www.w3.org/1999/02/22-rdf-syntax-ns>" xmlns:rdfs="
>         <http://www.w3.org/2000/01/rdf-schema>http://www.w3.org/2000/01/rdf-schema#
>         <http://www.w3.org/2000/01/rdf-schema>" xmlns:foaf="
>         <http://xmlns.com/foaf/0.1/>http://xmlns.com/foaf/0.1/"
>         xmlns:rsa="
>         <http://www.w3.org/ns/auth/rsa>http://www.w3.org/ns/auth/rsa#
>         <http://www.w3.org/ns/auth/rsa>" xmlns:cert="
>         <http://www.w3.org/ns/auth/cert>http://www.w3.org/ns/auth/cert# <http://www.w3.org/ns/auth/cert>"
>         xmlns:admin=" <http://webns.net/mvcb/>http://webns.net/mvcb/">
>
>         - <foaf:PersonalProfileDocument rdf:about="">
>
>         <foaf:maker rdf:resource="#me" />
>
>         <foaf:primaryTopic rdf:resource="#me" />
>
>         </foaf:PersonalProfileDocument>
>
>         - <foaf:Person rdf:ID="me">
>
>         <foaf:nick>pw2</foaf:nick>
>
>         <foaf:homepage rdf:resource="" />
>
>         </foaf:Person>
>
>         - <rdf:Description>
>
>         <rdf:type rdf:resource="
>         <http://www.w3.org/ns/auth/rsa#RSAPublicKey>http://www.w3.org/ns/auth/rsa#RSAPublicKey"
>         />
>
>         <cert:identity rdf:resource="#me" />
>
>         - <rsa:modulus rdf:parseType="Resource">
>
>         <cert:hex>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</cert:hex>
>
>         </rsa:modulus>
>
>         - <rsa:public_exponent rdf:parseType="Resource">
>
>         <cert:decimal>65537</cert:decimal>
>
>         </rsa:public_exponent>
>
>         </rdf:Description>
>
>         </rdf:RDF>
>
>         A ping on URIburner (using a query that works fine for OTHER
>         foaf cards….)
>
>         GET
>         http://uriburner.com/sparql?default-graph-uri=&should-sponge=grab-all&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&debug=on&timeou
>         <http://uriburner.com/sparql?default-graph-uri=&should-sponge=grab-all&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&debug=on&timeou>
>         t=&format=text%2Fhtml&CXML_redir_for_subjs=&CXML_redir_for_hrefs=&save=display&fname=
>         HTTP/1.1
>
>         Accept: image/jpeg, image/gif, image/pjpeg,
>         application/x-ms-application, application/xaml+xml,
>         application/x-ms-xbap, */*
>
>         Referer: http://uriburner.com/sparql
>
>         Accept-Language: en-US
>
>         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)
>
>         Accept-Encoding: gzip, deflate
>
>         Host: uriburner.com <http://uriburner.com>
>
>         Connection: Keep-Alive
>
>         HTTP/1.1 200 OK
>
>         Server: Virtuoso/06.02.3129 (Linux)
>         x86_64-generic-linux-glibc25-64  VDB
>
>         Connection: close
>
>         Date: Sat, 26 Mar 2011 21:13:24 GMT
>
>         Accept-Ranges: bytes
>
>         Content-Type: text/html; charset=UTF-8
>
>         Access-Control-Allow-Origin: *
>
>         Content-Length: 965
>
>         Generates multiple binding matches, in the result set:
>
>         <table class="sparql" border="1">
>
>         <tr>
>
>         <th>callret-0</th>
>
>         <th>callret-1</th>
>
>         </tr>
>
>         <tr>
>
>         <td>65537</td>
>
>         <td>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</td>
>
>         </tr>
>
>         <tr>
>
>         <td>65537</td>
>
>         <td>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</td>
>
>         </tr>
>
>         </table>
>
>         Any rationale? How should I behave?
>
>         Hi Peter,
>
>         the reason for the multiple results is the existence of two
>         named graphs which match "?id cert:identity <
>         <http://foaf.me/pw2#me>http://foaf.me/pw2#me>".
>
>         PREFIX cert: <
>         <http://www.w3.org/ns/auth/cert>http://www.w3.org/ns/auth/cert# <http://www.w3.org/ns/auth/cert>>
>         PREFIX rsa: <
>         <http://www.w3.org/ns/auth/rsa>http://www.w3.org/ns/auth/rsa#
>         <http://www.w3.org/ns/auth/rsa>>
>         SELECT *
>         WHERE {
>                graph ?g {
>                      ?id cert:identity <
>         <http://foaf.me/pw2#me>http://foaf.me/pw2#me> ;
>                          rsa:modulus [cert:hex ?m] ;
>                          rsa:public_exponent [cert:decimal ?e] .
>                }
>
>         }
>
>
>         You can fix this behaviour by just adding
>           FROM <http://foaf.me/pw2#me>
>         to your query.
>
>         Best,
>         Andreas
>
>
>
>
>
>
>         -- 
>
>         ------------------------------------------
>
>         Dipl.-Ing. Andreas Radinger
>
>         Professur für Allgemeine BWL, insbesondere E-Business
>
>         e-business&  web science research group
>
>         Universität der Bundeswehr München
>
>           
>
>         e-mail:andreas.radinger at unibw.de  <mailto:andreas.radinger at unibw.de>
>
>         phone:  +49-(0)89-6004-4218
>
>         fax:    +49-(0)89-6004-4620
>
>         www:http://www.unibw.de/ebusiness/
>
>         skype:  andreas.radinger
>
>           
>
>           
>
>         _______________________________________________
>
>         foaf-protocols mailing list
>
>         foaf-protocols at lists.foaf-project.org  <mailto:foaf-protocols at lists.foaf-project.org>
>
>         http://lists.foaf-project.org/mailman/listinfo/foaf-protocols
>
>
>
>
>
>
>         -- 
>
>           
>
>         Regards,
>
>           
>
>         Kingsley Idehen
>
>         President&  CEO
>
>         OpenLink Software
>
>         Web:http://www.openlinksw.com
>
>         Weblog:http://www.openlinksw.com/blog/~kidehen  <http://www.openlinksw.com/blog/%7Ekidehen>
>
>         Twitter/Identi.ca: kidehen
>
>           
>
>           
>
>           
>
>           
>
>
>
>         Try:
>
>         #Why? -- string comparison
>         #How? -- leverage fact that Virtuoso can surface all its
>         in-built functions (from SQL and other functionality realms)
>         # ditto custom functions
>
>         PREFIX cert: <
>         <http://www.w3.org/ns/auth/cert>http://www.w3.org/ns/auth/cert# <http://www.w3.org/ns/auth/cert>>
>
>         PREFIX rsa: <
>         <http://www.w3.org/ns/auth/rsa>http://www.w3.org/ns/auth/rsa#
>         <http://www.w3.org/ns/auth/rsa>>
>         SELECT DISTINCT ?g
>                (str (bif:coalesce (?exp_val, ?exp))) (str
>         (bif:coalesce (?mod_val, ?mod)))
>         WHERE {   GRAPH ?g {
>                    ?id cert:identity <
>         <http://foaf.me/pw2#me>http://foaf.me/pw2#me> ;
>                    rsa:public_exponent ?exp ; rsa:modulus ?mod .
>                    OPTIONAL { ?exp cert:decimal ?exp_val . ?mod
>         cert:hex ?mod_val . }
>                   }
>               }
>
>
>
>         -- 
>
>           
>
>         Regards,
>
>           
>
>         Kingsley Idehen
>
>         President&  CEO
>
>         OpenLink Software
>
>         Web:http://www.openlinksw.com
>
>         Weblog:http://www.openlinksw.com/blog/~kidehen  <http://www.openlinksw.com/blog/%7Ekidehen>
>
>         Twitter/Identi.ca: kidehen
>
>           
>
>           
>
>       
>
>     I helped to get another "g" into the endpoint.
>
>     Yes Peter, it is possible to generate another n "g"s in other domains.
>
>     Either you really need to use a "FROM" clause or I have not fully understood the problem.
>
>       
>
>     Best regards,
>
>     Andreas
>
>       
>
>       
>
>     _______________________________________________
>
>     foaf-protocols mailing list
>
>     foaf-protocols at lists.foaf-project.org  <mailto:foaf-protocols at lists.foaf-project.org>
>
>     http://lists.foaf-project.org/mailman/listinfo/foaf-protocols
>
>
>
>
>     -- 
>
>       
>
>     Regards,
>
>       
>
>     Kingsley Idehen
>
>     President&  CEO
>
>     OpenLink Software
>
>     Web:http://www.openlinksw.com
>
>     Weblog:http://www.openlinksw.com/blog/~kidehen  <http://www.openlinksw.com/blog/%7Ekidehen>
>
>     Twitter/Identi.ca: kidehen
>
>       
>
>       
>
>       
>
>       
>
>     _______________________________________________
>     foaf-protocols mailing list
>     foaf-protocols at lists.foaf-project.org
>     <mailto:foaf-protocols at lists.foaf-project.org>
>     http://lists.foaf-project.org/mailman/listinfo/foaf-protocols
>


-- 

Regards,

Kingsley Idehen	
President&  CEO
OpenLink Software
Web: http://www.openlinksw.com
Weblog: http://www.openlinksw.com/blog/~kidehen
Twitter/Identi.ca: kidehen





-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.foaf-project.org/pipermail/foaf-protocols/attachments/20110328/90e00fb3/attachment-0001.htm 


More information about the foaf-protocols mailing list