Re: Basic SPARQL question : foaf <-> modulus query matching with blank nodes

On 18 Jul 2012, at 11:18, Olivier Berger wrote:

> Hi.
> 
> This may be a basic SPARQL query FAQ, so apologies in advance if I'm
> asking for obvious question.
> 
> 
> I'm trying to fetch remote FOAF/WebID profiles and try and query for the
> profile's certs modulus with a SPARQL query like :
> 
> PREFIX cert: <http://www.w3.org/ns/auth/cert#> 
> SELECT ?s ?m WHERE {?s cert:key ?k. 
>                    ?k cert:modulus ?m.}
> 
> I'm not very experienced in SPARQL, but I belived this should provide
> results for any WebID.
> 
> But trying with Virtuoso (actually through PHP code over the Erfurt
> framework [0], or directly in the Virtuoso conductor), I sometimes get
> results, sometimes not.
> 
> The following WebID matches :
> ...
> <http://www-public.it-sudparis.eu/~berger_o/foaf.rdf#me>
>    a :Person ;
>    cert:key <http://www-public.it-sudparis.eu/~berger_o/foaf.rdf#mecert> ;
>    :familyName "Berger" ;
>    :firstName "Olivier" ;
> 
> <http://www-public.it-sudparis.eu/~berger_o/foaf.rdf#mecert>
>    a cert:RSAPublicKey ;
>    cert:exponent "65537"^^<xsd:int> ;

that should be 

     cert:exponent 66637
or
     cert:exponent "66637"^^xsd:int

( but I imagine that's a typo on your part... )


>    cert:identity <http://www-public.it-sudparis.eu/~berger_o/foaf.rdf#me> ;
>    cert:modulus "c30d5f361bc40ecb46dee50b85f4c1b3aa44239e22f90a54fa9f5e7a3643798d89693bc401b8a22c60eabb31c6a59c34eda85bf93713632f468a34fabb88eda53a3999570ac7a51ff2f24582b9ff27e575d7dfa2685a0211081e3323a801a9fe403434c5ca40014cade3500a2b22eb402da533ceef01d9a17236508602211d9013c36c6b850ed8bcec021ddc91763f6a0fef922d888f59ebed6ccd0c0dd7efa1e38c06ae338f2795a15f3a1cc97a94a3bea3da8265704e88db40b45d034681543595b97bd9304f831cd9b5ffdc157123d42c3bf42105964c8c34bf04607c5ef90c668d8fbf49a3a329518468813e32e2e2e08150f2d69399b9108ea43b9900bb"^^<xsd:hexBinary> .

same.

Also note that not all SPARQL engines know how to do xsd:hexBinary datatype reasoning - i.e. some of them give different results if the letters are uppercase or lowercase .


> 
> Whereas that one doesn't :
> ...
> <https://my-profile.eu/people/obergix_test1/card#me>
>    a foaf:Person ;
>    cert:key [
>        a cert:RSAPublicKey ;
>        cert:exponent "65537"^^<http://www.w3.org/2001/XMLSchema#int> ;
>        cert:modulus "cae14b9f77370ef213596a9d82186bded5ab976f3b4ff8c4be384325c709679948c8c6d8e9a0c60b46d60e172ef410279ff7a331e0641b958ffa6b40190a0771fe4bbc20a781684a7cfcb1a0fb82262a15f35ab1b1150de270ac60e8ed645ac077f6e91de94b48284040f9262b051f008389f28738922b3f11ccbc593d6d98feccb0497ce57b8f6508cf0b77bc445b5df9f2e5e08eef1649ad5ea6d685a8752cd0bf78b9a58d5453a9267e37c3a7f3e7b6718419755e5df16c3d6c9837c1cdd39c27761126d5cf1ef50d8654ecacc9d7213a398a81de439d406a495ba0a8497e63bfb0cf02e25f9115cb5254fb8c2755e90e91ed72b2ca5a9402bf5aedb521ab"^^<http://www.w3.org/2001/XMLSchema#hexBinary>
>    ] ;
>    foaf:familyName "Berger" ;
>    foaf:givenName "Olivier" .
> 
> 
> The difference is that in the first one, I explicitely gave a URI to my
> cert.
> 
> Aren't blank nodes supposed to serve in graph construction in SPARQL
> queries ?

They should. 

> Have I hit a virtuoso limitation ?

I doubt it. There must be another explanation to that.


> 
> I think I'll try with the MySQL backend option of Erfurt to try and see
> if (it works and) I hit a similar behaviour.
> 
> Thanks in advance for your advices.
> 
> Best regards,
> 
> [0] http://erfurt-framework.org/
> -- 
> Olivier BERGER 
> http://www-public.it-sudparis.eu/~berger_o/ - OpenPGP-Id: 2048R/5819D7E8
> Ingenieur Recherche - Dept INF
> Institut Mines-Telecom, Telecom SudParis, Evry (France)
> 
> 

Social Web Architect
http://bblfish.net/

Received on Wednesday, 18 July 2012 09:56:29 UTC