[rdfweb-dev] Proposal: Names in FoaF

Dan Brickley danbri at w3.org
Sun Apr 20 17:04:57 UTC 2003


Morten,

* Morten Frederiksen <mof-rdf at mfd-consult.dk> [2003-04-18 21:02+0200]
> 
> I've put together a proposal [1] for expressing names in the FoaF vocabulary, 
> in response to Bugzilla issue #7 [2].

Many thanks for this work Morten, it's much appreciated :)

Providing links from the proposal into current deployed practice was 
particularly useful, both the harvester stats and calling out Leigh's 
foaf-a-matic app and related migration issues.
 
> I'd like for a discussion of the issue to take place on this list, but at 
> some point I'll probably create a copy of the proposal on a Wiki for the next 
> revision(s) - until some sort of consensus has been reached, or the almighty 
> FoaF'ers deems it passable...

:)

There is as you know no formal process for evolving the FOAF vocabulary, 
beyond an emphasis on open discussion, collaboration and "let's see how 
this works" implementation-led prototyping. We're a lot more like an 
opensource project and less like a standards initiative in that regard. I 
set up the bugtracker as a nod towards creeping professionalism, given that 
enough folk in recent times have started to invest a lot of energy and 
intelligence in FOAF-based apps, and concern that FOAF hacking should be a 
rewarding rather than frustrating experience for would-be Semantic Web 
developers. 

Naming in FOAF is a good testbed for finding a healthy balance between 
open discussion and paralysis-through-concensus-fatigue. Taking my colleague 
Michael Sperberg-McQueen's advice, also the slogan of the 
ESW:SeedApplications wiki page([3]), 
"When you go meta, don't forget to come back". I'm wary of going too 'meta'
here in discussion of FoafVocab development process, yet also aware that 
the lack of explicit scoping goals for the FoafVocab could make it hard 
for us to know when we're "done". Probably the best way we can avoid 
going too meta on process is to focus on specific examples and goals. I tried
to write up one just now in [4], based on the (previously unarticulated?)
goal of roundtripping my name information between FOAF and other more 
person-centric representations, in particular LDAP and vCard. 

Coming back to your specific proposals, let me see if I understand 
correctly. Is the idea that we focus on use of foaf:name (with flat 
string values) for the basic preferred form of someone's name, while also
providing an account (via a list indicated by sortName) into the 
compositional sub-structure of that name? So we have RDF classes for the 
various kinds of name component, and these are related only indirectly to 
the named person because we want to preserve the ordering information too.

How would this work with me? My general name is 'Dan Brickley' (although 
firstname formally is 'Daniel', but more people call be 'DanBri' than 
'Daniel Brickley' :). My unused middlename is 'Alexander'. I'd like 
(for LDAP/LDIF/vCard import/export) to be able to record that
(which would require a new class?), without it implying or suggesting that
my name ought to be written 'Dan Alexander Brickley'...

I'm in two minds with the sortName/list construct. Indicating the 
substructure of the name seems handy, and for that ordering is needed; 
however the intermediate nodes complicate the task of finding out 
relatively basic things. For eg., retrieving my middlename would require
navigating from my person node to my sortnode list then testing each of 
its members to see if they were of rdf:type foaf:MiddleName (if such a 
construct were included).

I do agree that foaf:name provides the island of sanity in all the 
confusion and complexity surrounding naming, maybe we could be clearer
about that part of FOAF being considered more stable that the rest of the
naming vocab? Another thought: we could be more explicit about using 
rdfs:subPropertyOf when cleaning up the redundancy in the current vocabulary,
eg. between surname and lastname, so that existing content didn't become 
outlawed. But that would, on my reading of your proposal, mean keeping
the property-oriented representation, ie. relations (of various kinds) 
between people and the strings that are part of their names. Do you think
that could be made consistent with the class oriented 
representation you propose?

Sorry for lack of consise thoughts on this topic! Maybe rdfweb-dev folk could
contribute some more non-western name examples (here or in the Wiki at [4])
so we can try writing up some full examples, see how they look...

cheers and thanks again Morten for getting this moving,

Dan(Bri)
 
[1] http://www.wasab.dk/morten/2003/04/foaf-names-proposal-1.html
[2] http://rdfweb.org/issues/show_bug.cgi?id=7
[3] http://esw.w3.org/topic/SeedApplications
[4] http://rdfweb.org/topic/FoafNamingUseCases
~




More information about the foaf-dev mailing list