- From: Jan Wielemaker <jan@swi.psy.uva.nl>
- Date: Wed, 3 May 2000 17:08:51 +0200
- To: www-rdf-interest@w3.org
While scanning through what you all anonymously threw at my Prolog-based RDF parser, I found the following (abstracted and simplified a lot): <?xml version="1.0" encoding="UTF-8"?> <ImageDataset> <ImageClass> <ImageClass> <!--1--> <Image name="foo"/> </ImageClass> <ImageClass> <!--2--> <Image name="bar"/> </ImageClass> </ImageClass> </ImageDataset> I *think* this is correctly rejected as invalid. To parse this, <ImageDataset> is a typedNode, making the outer <ImageClass> a propertyElt, leaving only the first [6.12] production to interpret both --1-- and --2-- as a value. This cannot be done. So I only need a sensible error message rather then Prolog's favorite `No'! While analysing the example, I stripped it down to: <ImageDataset> <ImageClass> <ImageClass> <!--1--> <Image name="foo"/> </ImageClass> </ImageClass> </ImageDataset> Now the parser agrees, producing: {'Description__1', rdf:type, 'ImageDataset'} {'Description__1', 'ImageClass', 'Description__2'} {'Description__2', rdf:type, 'ImageClass'} {'Description__2', 'Image', 'Description__3'} {'Description__3', name, literal(foo)} This puzzled me. I tried the SiRPAC parser, who dosn't like it at all and the Pro Solutions parser which says 'genid2' 'name' literal('foo') 'genid2' 'http://www.w3.org/1999/02/22-rdf-syntax-ns#type' 'Image' 'genid0' 'ImageClass') resource('genid2') 'genid0' 'http://www.w3.org/1999/02/22-rdf-syntax-ns#type' 'ImageClass' This is not ok either as it says nothing about <ImageDataset> It does however give the anonymous <Image> resource the type 'Image'. This looks nice and logical, but I can't find how to interpret this from the specs. A real guru with the correct solution (and why :-) around? Thanks --- Jan P.s. Most other bugs encountered in the things thrown at the parser have been fixed. To update, please see the CVS service. You also need to update parser.c from the XML/SGML parser, which contained a DTD-handling error. See http://www.swi.psy.uva.nl/projects/SWI-Prolog/packages/sgml/online.html P.s.s. What about a standard or at least reserved naming schema for anonymous resources? I'm now using <Type>__<N>, with is nice for debugging. We also see genid<N>, but none of this is reserved!
Received on Wednesday, 3 May 2000 11:09:07 UTC