W3C home > Mailing lists > Public > public-grddl-comments@w3.org > January to March 2007

Re: Raptor 1.4.14 GRDDL 2006-10-24 implementation report

From: Jeremy Carroll <jjc@hpl.hp.com>
Date: Wed, 28 Feb 2007 14:11:41 +0000
Message-ID: <45E58D9D.1030907@hpl.hp.com>
To: public-grddl-comments@w3.org
CC: Dave Beckett <dave@dajobe.org>
Summary: current spec is fine on profile document. It could explicitly 
say that the GRDDL profile does not have a profileTransformation, hence 
licensing not reading the GRDDL profile ever.

 >> In the end I had to exclude it because the GRDDL profile document
 >> http://www.w3.org/2003/g/data-view contains an erdf profile, which
 >> refers to the GRDDL profile, so when you follow the natural
 >> evaluation order, you end up in a loop, or if like me, you were
 >> checking for urls already visited, the process terminated without
 >> having generated any triples at all.

Seeing that Dan had a flag about this in the editors draft I thought I 
would see what my code does.

Fairly similarly to Dave, my code does not traverse the GRDDL profile:
The relevant code is:

    if (PROFILE.equals(p[i]) || NAMESPACE.equals(p[i]))
	grddlProfile = true;
    else
	checkProfile(input.resolve(p[i]));

(Note: I liberally allow a misspelling of the profile, with a # on the end).

I tried editing it to

    if (PROFILE.equals(p[i]) || NAMESPACE.equals(p[i]))
	grddlProfile = true;
    checkProfile(input.resolve(p[i]));

Everything worked fine still.
The loop avoidance policy I use is:
    I have a look-up table of URI->Graph for everything I have read.
(this one day might become a SW cache)
    Before reading a new document, I look it up.
    If it is in the 'cache' then I do nothing.
    If it isn't I enter an empty graph into the cache, and then populate 
the graph with the GRDDL results.

Because I enter the unpopulated graph into the cache before populating 
it, it avoids loops.

In particular, when reading an HTML document, and traversing the GRDDL 
profile, I find the attached graphs for both the GRDDL profile and
for the ERDF profile.

In summary: no changes are required to the specification for this issue.

Jeremy


PS I seem to be failing more tests than Dave at the moment. I am 
concentrating on the security parts for now. I don't think I'll be able 
to look at test cases for a few weeks.



Received on Wednesday, 28 February 2007 14:12:28 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 6 January 2015 19:55:02 UTC