[rdfweb-dev] Re: Syntactic profiling (FOAF document formats)
julian_bond at voidstar.com
Thu Aug 28 07:38:04 UTC 2003
Jim Ley <jim at jibbering.com> wrote:
>"Julian Bond" <julian_bond at voidstar.com>
>> Dan Brickley <danbri at w3.org> wrote:
>> > * "classic" FOAF files
>> As is probably clear, this is the one I'm interested in.
>I think Classic should be the genuine RDF any extensions approach, that's
>the classical, the limited syntax one, is certainly new.
I had to guess which was the closest of Danbri's suggestions. Purely on
a statistical basis of most widespread current usage, "Classic" seemed
to be the One file - One person model. If you want to call it something
else and use Classic for the generalized RDF model, feel free. Just as
long as we all talk roughly about the same thing.
>> - Only one main Person with Person as a top level node
>> - This Person must have:-
>> - at least one of mbox or mbox_sha1sum.
>This may be acceptable, but I don't like it much, it means unless I have an
>email address I can't exist, even publishing a genuine sha1sum allows people
>to confirm my identity given an email address, people may not want that, but
>they may be happy to give their homepage say (which has contact methods on
>> This should only be used in
>> the form of Digital ID currently used in foaf
>I'm not sure I understand this, could you clarify?
It seems essential to me that there is some form of Digital ID that is
consistent across FOAF files produced by different people/systems. This
is so aggregators have some hope of relating information from multiple
places. I think we all understand that mbox_sha1sum (and mbox) is flawed
for the reasons you give but I'll maintain that it is good enough. I
haven't seen any other approach that is as widely available, as easy to
understand or as simple for a soft Digital ID.
I do feel though that if mbox is restricted to the meaning in the spec,
then there is a need for a more general foaf:email to handle the edge
cases where the email address is not a static inverse functional
property of the Person.
>> - This Person is assumed to be the author/owner of the data unless
>> otherwise stated.
>I don't think we can have any assumptions at all, certainly not ones like
>this, the author of the data is a key plank of authenticating who says
>what, and removing lies etc. Assuming anything about that simply is not
>appropriate. We need more simple methods than GPG perhaps and everything
>that goes with it, but I can't see assumptions getting us anywhere assuming
>things will fall down even against the forgetful, let alone the liars (which
>nothing like this will defeat)
Again, you're right from a purist point of view. But again, I'll
maintain that if files only have a single top level Person and we
actively discourage the publication of hearsay about the other Persons
in the file then this assumption is good enough. If every file in this
model included a <foaf:made rdf:resource="" /> against the primary
person, then we're stating this assumption more explicitly. This is no
defence against liars but is a bit more RDF friendly than making XML
assumptions. To be honest I'm much more concerned about aggregators
being able to show the source of the data than preventing abuse with
>You also must allow for the markup to indicate that the foaf is signed and
>the location of the key etc.
We have to accept that if this model gets widespread adoption then the
vast majority of people being described will not have a clue how to sign
>> I don't feel the need to move away from striped RDF-XML. What I do feel
>> the need for (within this use case) is consistency.
>As I think everyone knows, I see no point in a restricted syntax, I see it's
>useful to require certain properties where possible, and limiting certain
>things for social reasons (not publishing mbox without consent, include
>foaf:name etc.) but to me a simple syntax will just let people create
>tools which will quickly not interop with other systems so the authors will
>be progressing onto real RDF parsers quickly. I don't see the point of the
>broken middle step, I'd rather spend my time helping the person work with an
>RDF Parser from the word go.
I've made the same point as a downside. I *do not* want to come up with
a format or model that breaks RDF, so anything of this form should still
be easily parsable by an RDF parser. Logically there are likely to be
fewer people writing read apps of this data than write apps and much
fewer write apps than instances of data. So that's relatively few people
who need to be educated.
As a counterpoint though take RSS 1.0. This is RDF. It quite often
contains properties from other vocabularies. You really ought to use an
RDF parser to read it. But I can extract the information I want out of
it and ignore the additional information using 4 or 5 Regex statements
or any one of 20 or so libraries written in a mish mash of regex, sgml,
xml parsers. And I can use the exact same code to read similar data from
4 other related pure XML standards. I want to get similar ease of
parsing and hence similarly wide adoption of a superset of FOAF. I think
it's possible to do this partly because the output of Ecademy, Typepad
and Foaf-a-matic is so close to already having this profile.
Julian Bond Email&MSM: julian.bond at voidstar.com
Personal WebLog: http://www.voidstar.com/
M: +44 (0)77 5907 2173 T: +44 (0)192 0412 433
More information about the foaf-dev