- From: Jan Wielemaker <jan@swi.psy.uva.nl>
- Date: Wed, 26 Apr 2000 20:50:57 +0200
- To: Jan Wielemaker <jan@swi.psy.uva.nl>, www-rdf-interest@w3.org, stefan@db.stanford.edu
> At 09:30 AM 4/26/00 +0200, you wrote: > >Thanks Stefan > > > >[ As you probably guess, I decided to have a look at interpreting > > RDF directly in Prolog. Sofar it looks rather trivial. Less then > > 300 lines of Prolog provide me with a Prolog structure ready for > > generating triples (on top of the output of an XML parser). I > > now try to understand the semantics :- > > Great! But interpreting RDF isn't the easiest part. > I assume many people are interested in the code. > > > > P.s. I failed to find a good test-suite. Does it exist? > >] > Unfortunately, not yet.... Thats really a pity. Dispite, I'm making very good progress. I'm testing what I think is a complete RDF compiler in Prolog. The whole thing is now 550 lines. It will get a little bigger if I comment the code properly and improve error messages, but still it will be smal. I compared speed with the Pro Solutions compiler on a 50Kbytes Protege RDF-schema file (interpreted as RDF). The Pro Solution compiler needs 3 seconds (PPro 200 running Linux). The SWI-Prolog based one 0.41 seconds with quite some room for improvements. It uses a high-level description language and dedicated (bit still rather simple) compiler to generate real Prolog. Two new questions. First looks like a bug in the 02/22 specs: ================================================================ <?xml version="1.0"?> <!-- Example from REC-rdf-syntax, demonstrating abbrevation --> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:s="http://description.org/schema/" xmlns:v="http://description.org/view/"> <rdf:Description about="http://www.w3.org/Home/Lassila"> <s:Creator> <!-- REC-rdf-syntax just says `about' --> (*) <s:Person rdf:about="http://www.w3.org/staffId/85740"> <v:Name>Ora Lassila</v:Name> <v:Email>lassila@w3.org</v:Email> </s:Person> </s:Creator> </rdf:Description> </rdf:RDF> ================================================================ In the (*) line, it says simply `about', but if I understand things correctly this brings `about' in the `s' names space, resulting in a quite different interpretation. Right? Second is again on the protertyElt production [6.12]. What is the difference between <rdf:Description ID="foo"> <a1 ID="bar"> <rdf:Description> <name>Hello World</name> </rdf:Description> </a1> </rdf:Description> and <rdf:Description ID="foo"> <a1> <rdf:Description ID="bar"> <name>Hello World</name> </rdf:Description> </a1> </rdf:Description> I have the impression they should be the same and specifying both ID's inconsistent is an error. Right? Regards --- Jan
Received on Wednesday, 26 April 2000 14:51:05 UTC