W3C home > Mailing lists > Public > public-data-shapes-wg@w3.org > March 2015

Re: is there an implementation of Shape Expressions that correctly handles recursive shapes?

From: Peter F. Patel-Schneider <pfpschneider@gmail.com>
Date: Wed, 25 Mar 2015 06:56:14 -0700
Message-ID: <5512BE7E.5000303@gmail.com>
To: Iovka Boneva <iovka.boneva@univ-lille1.fr>
CC: RDF Data Shapes Working Group <public-data-shapes-wg@w3.org>
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Yes, you got it in one.

Looking at the README it appears that there are several differences between
the language accepted by the system and the language in the paper. As well,
the data file needs some extra stuff that I guess is to kick off the
validation process. The system also only processes deterministic
single-occurence schemas, according to the README.

I tried to put together some shapes in this syntax, but I'm getting null
pointer exceptions in the parser.


peter


On 03/25/2015 06:13 AM, Iovka Boneva wrote:
> Please refer to the README file and the examples.
> 
> Then I guess your next remark would be "These are not shape expressions, 
> but some unknown formalism". To which I would respond that these are the 
> ShEx from our paper, but I didn't take time to write the appropriate 
> parser and took an easy to parse syntax. The program is given as is, and 
> requires from the user to adapt to it.
> 
> Iovka
> 
> Le mar. 24 mars 2015 19:33:23 CET, Peter F. Patel-Schneider a écrit : 
> Thanks, I've got it.
> 
> However, it appears that I need some documentation on the language that 
> it accepts.  I tried it out with an example that works for other Shape 
> Expressions systems, and got
> 
> Line 2 : Expecting the TYPES keyword. #### The schema #### null
> Exception in thread "main" java.util.NoSuchElementException at 
> java.util.HashMap$HashIterator.nextEntry(HashMap.java:925) at 
> java.util.HashMap$KeyIterator.next(HashMap.java:956) at 
> com.hp.hpl.jena.util.iterator.WrappedIterator.next(WrappedIterator.java:94)
>
>
> 
at com.hp.hpl.jena.util.iterator.Map1Iterator.next(Map1Iterator.java:45)
> at 
> com.hp.hpl.jena.util.iterator.WrappedIterator.next(WrappedIterator.java:94)
>
>
> 
at shex.tools.CommandLine.retrievePreTyping(CommandLine.java:73)
> at shex.tools.CommandLine.main(CommandLine.java:40)
> 
> I pretty sure that TYPES is not a keyword in Shape Expressions as
> defined in the W3C submission.
> 
> peter
> 
> 
> On 03/24/2015 08:54 AM, Iovka Boneva wrote:
>>>> You can find here a archive containing - an executable jar file 
>>>> containing a command line utility for testing our algorithm for 
>>>> validation of RDF graphs against deterministic single occurrence 
>>>> ShEx schema: Algorithm 1 in our ICDT 2015 paper - 3 example files 
>>>> for running the program - all the required libraries (mainly jena)
>>>> 
>>>> These are provided as is, with a very minimal user interface. If 
>>>> you have questions, please contact me by mail.
>>>> 
>>>> The file is available for download until April 24. Please contact 
>>>> me if you want to have it after that date. 
>>>> https://filesender.renater.fr/?vid=2f1e6710-8ce8-9ce8-8b29-0000114bb87b
>>>>
>>>>
>>>>
>>>> 
Iovka
>>>> 
>>>> Le 20/03/2015 20:08, Peter F. Patel-Schneider a écrit : Yes,
>>>> please send me a copy of the system.
>>>> 
>>>> Thanks,
>>>> 
>>>> peter
>>>> 
>>>> 
>>>> On 03/20/2015 11:55 AM, Iovka Boneva wrote:
>>>>>>> I sent my previous mail by error before  finishing it...  so 
>>>>>>> didn't have the occasion to say that unfortunately these 
>>>>>>> implementations are not accessible for testing. As I said 
>>>>>>> they were made for our own needs as proof  of concept, and
>>>>>>> do not have friendly user interface. I am however willing to 
>>>>>>> send the API in a jar file, together with example code on
>>>>>>> how to use it, if  somebody wants to play with that. 
>>>>>>> Unfortunately next week I won't have time to do more (and 
>>>>>>> anyway my technical skills are insufficient for publishing
>>>>>>> it for testing on the web, while spending a reasonable
>>>>>>> amount of time on that).
>>>>>>> 
>>>>>>> My main point was that there are indeed working 
>>>>>>> implementations with recursion.
>>>>>>> 
>>>>>>> Now to answer Peter's questions: - the first algorithm is 
>>>>>>> indeed for subclass of ShEx, which merely corresponds to the 
>>>>>>> first version of ShEx (no repetition of symbols). It is 
>>>>>>> however not so limiting, as it allows to handle a lot of the 
>>>>>>> identified use cases, and can be easily extended for
>>>>>>> handling more cases,  as I already explained in a previous
>>>>>>> mail; - the second one is for full ShEx,  (therefore its
>>>>>>> worse case complexity is not linear, and right  now I cannot
>>>>>>> give figures on its actual performance in practice).
>>>>>>> 
>>>>>>> Iovka
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> Le 20/03/2015 17:05, Peter F. Patel-Schneider a écrit : On 
>>>>>>> 03/20/2015 08:42 AM, Iovka Boneva wrote:
>>>>>>>>>> We do have 3 implementations of recursive shapes with 
>>>>>>>>>> bag semantics, for 2 different algorithms - one for 
>>>>>>>>>> validating against deterministic schemas w/o 
>>>>>>>>>> repetitions, with a set of pre-typed root nodes. It is 
>>>>>>>>>> written in Java using jena, and works both with 
>>>>>>>>>> in-memory RDF-graphs, and using the Jena RDF-database 
>>>>>>>>>> API. Written by myself;
>>>>>>> So this implementation is only for part of Shape 
>>>>>>> Expressions?
>>>>>>> 
>>>>>>>>>> - one for the same algorithm written in Python also 
>>>>>>>>>> using RDF API, written by Slawek Staworko and Samuel 
>>>>>>>>>> Hym;
>>>>>>> And this implementation is also only for part of Shape 
>>>>>>> Expressions?
>>>>>>> 
>>>>>>>>>> - one for validation of a whole graph w/o pre-typed 
>>>>>>>>>> root nodes, using our greatest fixed point algorithm. 
>>>>>>>>>> Also written in Python by Slawek and Samuel.
>>>>>>> Does this implementation handle all of Shape Expressions?
>>>>>>> Is there an on-line demo?  How can I get a copy of the
>>>>>>> system?
>>>>>>> 
>>>>>>>>>> Our implementations were written for "proof of
>>>>>>>>>> concept" prior to our publication. We also have an
>>>>>>>>>> algorithms for generating large graphs on which we
>>>>>>>>>> tested our implementations, and they indeed ran in
>>>>>>>>>> linear time in the size of the graph, as they were
>>>>>>>>>> supposed to from theoretical point of view.
>>>>>>>>>> 
>>>>>>>>>> Iovka
>>>>>>> peter
>>>>>>> 
>>>>>>> 
>>>> 
>>>> 
> 
> 
> 
> -- Iovka Boneva Associate professor (MdC) Université de Lille 
> http://www.cristal.univ-lille.fr/~boneva/ +33 6 95 75 70 25 Please note 
> that I read my mails twice a day at 9:00 and 13:00 (CET) For urgent 
> matters, please contact me by phone
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2

iQEcBAEBAgAGBQJVEr5+AAoJECjN6+QThfjzFDsH/20MPYkoa5IJMzexQxI7d5MH
qkOL5W/dBPi7x11awgUfq5a1ILeSIVLbQGm7gTk1w/VJnBR7ATmJOETPDMwwU1Ti
2ib+YFDv8Em0c4ThvNttTe9w3WpUms9wcZVKem3EymYJ/rnR0fnZlB6PRDDIDzEH
a0AZkj7xgWx7YSevXjAh0PABDS8T0MAzl4ImOpcsMppK19n3pLGO+84z77BmyMmp
tZhIBxSBCZZhfBjs8dkGrSIg/w1hA3OKT5n+b1gJLPIy2/x3UtmO1pBjm1B0X01S
FhLQeRhY+NEisEezKZpPRLp8dJ2rvJmqpSb9G4jLIJ09Zu2HnhMtQ2fW7NNiosQ=
=9gkr
-----END PGP SIGNATURE-----
Received on Wednesday, 25 March 2015 13:56:44 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 19:30:18 UTC