- 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