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

Hi Olivier,

On 07/18/2012 11:18 AM, 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> ;
>      cert:identity <http://www-public.it-sudparis.eu/~berger_o/foaf.rdf#me> ;
>      cert:modulus "c30d5f361bc40ecb46dee50b85f4c1b3aa44239e22f90a54fa9f5e7a3643798d89693bc401b8a22c60eabb31c6a59c34eda85bf93713632f468a34fabb88eda53a3999570ac7a51ff2f24582b9ff27e575d7dfa2685a0211081e3323a801a9fe403434c5ca40014cade3500a2b22eb402da533ceef01d9a17236508602211d9013c36c6b850ed8bcec021ddc91763f6a0fef922d888f59ebed6ccd0c0dd7efa1e38c06ae338f2795a15f3a1cc97a94a3bea3da8265704e88db40b45d034681543595b97bd9304f831cd9b5ffdc157123d42c3bf42105964c8c34bf04607c5ef90c668d8fbf49a3a329518468813e32e2e2e08150f2d69399b9108ea43b9900bb"^^<xsd:hexBinary> .
>
> 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" .
>
>
I just tried both examples using the query above and they work just 
fine. I'm using Virtuoso open source Version: 06.01.3127 (Ubuntu 12.04 
package).

Andrei

> 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 ? Have I hit a virtuoso limitation ?
>
> 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/
>

Received on Wednesday, 18 July 2012 09:25:53 UTC