SPARQL 1.1 Support

211 views
Skip to first unread message

Barry Norton

unread,
Jan 11, 2013, 12:05:14 PM1/11/13
to arc-dev, nhas...@phase2technology.com, fr...@phase2technology.com
I found this list at https://github.com/semsol/arc2/wiki
while looking at the use of arc2 in Drupal.

There we found that updates are being formed according to the W3C
Submission syntax (INSERT INTO <> {}) rather than the Recommendation
(INSERT DATA {GRAPH <> {}}).

Looking at the semsol ARC2_SPARQLPlusParser.php this is exactly what
is expected by this extension (see lines 81-88):
https://github.com/semsol/arc2/blob/master/parsers/ARC2_SPARQLPlusParser.php

On the other hand the ARC2_SPARQLParser.php has not been updated for 2
years and has no update support.

Can you let me know if there is a more up-to-date arc2 codebase with
SPARQL 1.1 support, or plans to develop this?

(Question also asked at
http://answers.semanticweb.com/questions/20366/arc2-maintenance-to-sparql-update-w3c-recommendation
)

Cheers,

Barry

Stéphane Corlosquet

unread,
Jan 11, 2013, 12:29:52 PM1/11/13
to arc...@googlegroups.com, Barry Norton, nhas...@phase2technology.com, fr...@phase2technology.com, Mark Fichtner
Hi Barry,

The SPARQL support for ARC2 was developed by Benjamin Nowack a few years ago when SPARQL 1.1 wasn't around. I don't know of any existing SPARQL 1.1 implementation for ARC2, but I'm cc'ing Mark Fichtner who maintains his own branch of ARC2.

Could you explain your use case a bit more, so that we can maybe advice better? Are you trying to store data in an ARC2 SPARQL endpoint from an external application? or are you trying to write to a remote SPARQL endpoint from ARC2?

Steph.
--
Steph.

Barry Norton

unread,
Jan 11, 2013, 12:49:58 PM1/11/13
to Stéphane Corlosquet, arc...@googlegroups.com, nhas...@phase2technology.com, fr...@phase2technology.com, Mark Fichtner
The latter; we're trying to widen the support in Drupal as arc's storage was found to be too slow back in Drupal 6 and (I believe) is disabled in 7.

It would be nice to keep arc2 in place to parse/serialisation/communication, but I hadn't foreseen this. I asked Benjamin on Twitter just after mailing, but I didn't hear back yet.

Barry

Nicholas J Humfrey

unread,
Jan 11, 2013, 3:07:26 PM1/11/13
to arc...@googlegroups.com, "St�phane Corlosquet", nhas...@phase2technology.com, fr...@phase2technology.com, Mark Fichtner
Hello Barry,

EasyRdf was originally a object mapping layer on top of arc2, but since
Benji stopped developing arc, I have been slowing increasing the the
number of parsers, serialisers and other features.

It is already supports the SPARQL 1.1 Graph Store HTTP Protocol - so you
can read and write graphs to external graph stores. Adding support for
SPARQL 1.1 Update is on the to do list.

I believe EasyRdf was just added to Drupal 8, for testing the RDFa
functionality - Steph should be able to give more information about that.

http://www.easyrdf.org/


nick.


> The latter; we're trying to widen the support in Drupal as arc's storage
> was found to be too slow back in Drupal 6 and (I believe) is disabled in
> 7.
>
> It would be nice to keep arc2 in place to
> parse/serialisation/communication, but I hadn't foreseen this. I asked
> Benjamin on Twitter just after mailing, but I didn't hear back yet.
>
> Barry
>
>
> On Fri, Jan 11, 2013 at 5:29 PM, St�phane Corlosquet

Nicholas J Humfrey

unread,
Jan 11, 2013, 3:07:32 PM1/11/13
to arc...@googlegroups.com, "St�phane Corlosquet", nhas...@phase2technology.com, fr...@phase2technology.com, Mark Fichtner
Hello Barry,

EasyRdf was originally a object mapping layer on top of arc2, but since
Benji stopped developing arc, I have been slowing increasing the the
number of parsers, serialisers and other features.

It is already supports the SPARQL 1.1 Graph Store HTTP Protocol - so you
can read and write graphs to external graph stores. Adding support for
SPARQL 1.1 Update is on the to do list.

I believe EasyRdf was just added to Drupal 8, for testing the RDFa
functionality - Steph should be able to give more information about that.

http://www.easyrdf.org/


nick.


> The latter; we're trying to widen the support in Drupal as arc's storage
> was found to be too slow back in Drupal 6 and (I believe) is disabled in
> 7.
>
> It would be nice to keep arc2 in place to
> parse/serialisation/communication, but I hadn't foreseen this. I asked
> Benjamin on Twitter just after mailing, but I didn't hear back yet.
>
> Barry
>
>
> On Fri, Jan 11, 2013 at 5:29 PM, St�phane Corlosquet

Stéphane Corlosquet

unread,
Jan 11, 2013, 3:37:58 PM1/11/13
to Barry Norton, arc...@googlegroups.com, nhas...@phase2technology.com, fr...@phase2technology.com, Mark Fichtner
Hi Barry,

On Fri, Jan 11, 2013 at 12:49 PM, Barry Norton <barry...@gmail.com> wrote:
The latter; we're trying to widen the support in Drupal as arc's storage was found to be too slow back in Drupal 6 and (I believe) is disabled in 7.

ARC2 was never part of core, and is available in contrib for both Drupal 6 and Drupal 7.
 

It would be nice to keep arc2 in place to parse/serialisation/communication, but I hadn't foreseen this. I asked Benjamin on Twitter just after mailing, but I didn't hear back yet.

I was going to suggest looking at EasyRdf, like Nick mentioned  It's probably the goto RDF lib for PHP these days, it's actively maintained and has good unit tests. We use it in Drupal 8 core for testing the RDFa output, but you can use it in Drupal 7 with http://drupal.org/project/easyrdf. EasyRdf does pretty much everything ARC2 does, except providing an RDF store and SPARQL endpoint on MySQL. (it would be good to do a thorough comparison review of the two, it's the only difference that I know of). It would be nice to extract the RDF store component of ARC2 and offer it as a separate lib (pluggable to easyrdf maybe).

Steph.



--
Steph.

Barry Norton

unread,
Jan 11, 2013, 3:32:47 PM1/11/13
to arc...@googlegroups.com, Barry Norton

Nick, that's very good to know, thanks.

Barry

Mark Fichtner

unread,
Jan 11, 2013, 7:31:38 PM1/11/13
to Stéphane Corlosquet, Barry Norton, arc...@googlegroups.com, nhas...@phase2technology.com, fr...@phase2technology.com
Hi Barry,

we had a similar problem to deal with in our project. In the beginning our software was based on ARC2 only, but as Benji stopped the active development, we tried to 1) get an abstract layer to exchange the triple store in our software and 2) help arc2 with the (from our point of view) most severe bugs.

ARC2 still not supports SPARQL1.1. However we wanted to stick with ARC2 because it is easy and very useful. For communication we wrote a small contribution to ARC2 which makes it possible to connect ARC2 to SPARQL1.1 triple stores like SESAME or Jena. It is not very difficult to understand: It's a remote store which transforms the query from SPARQL 1.0 to SPARQL 1.1 - so you can query ARC2 in SPARQL 1.0, ARC2 communicates with e.g. SESAME via SPARQL 1.1 and you get the data back. It sounds like this is not exactly what you are looking for, however it solved our problem. You can find it here: https://github.com/Knurg/arc2/blob/master/store/ARC2_RemoteSPARQLOneDotOneStore.php

Our software project is available at http://wiss-ki.eu and is a bunch of drupal 6 modules giving you a virtual research environment. 

Perhaps this helps you a little. ARC2 with SPARQL1.1 would also be very useful for us! However I guess easyrdf is a good solution.

Best regards,

Mark

2013/1/11 Stéphane Corlosquet <scorl...@gmail.com>

Barry Norton

unread,
Jan 11, 2013, 7:41:04 PM1/11/13
to Mark Fichtner, fr...@phase2technology.com, nhas...@phase2technology.com, arc...@googlegroups.com, Stéphane Corlosquet

Thanks, Mark. We came across your branch but didn't quite understand it. That helps a lot.

Stuart Taylor

unread,
Feb 4, 2013, 8:43:29 AM2/4/13
to arc...@googlegroups.com, Stéphane Corlosquet, nhas...@phase2technology.com, fr...@phase2technology.com, Mark Fichtner
I also had a similar problem with ARC2 SPARQL 1.1 support in a project using the Drupal 7 SPARQL and SPARQL Views modules.

To get around it I ended up doing some hacking with ARC2's 'SPARQL Plus' parser so that it would ignore most of the query and just pass it to the remote SPARQL endpoint. The fork is on github - https://github.com/staylor-abdn/arc2-sparql11

It would be nice to have an actively developed SPARQL library for Drupal in the future, EasyRDF looks promising.
Reply all
Reply to author
Forward
0 new messages