[rdfweb-dev] foaf:maker vs. dc:creator

Dan Brickley danbri at w3.org
Sat Aug 2 00:46:29 UTC 2003

* Ken MacLeod <ken at bitsko.slc.ut.us> [2003-08-01 15:48-0500]
> Peter Saint-Andre <stpeter at jabber.org> writes:
> > Is there a material difference between foaf:maker and dc:creator?
> Dan Brickley and Edd Dumbill explained it to me on #foaf,
>   http://ilrt.org/discovery/chatlogs/foaf/2003-07-24#T15-37-27
> They mean the same thing but differ in how they represent it (their
> domain).  dc:creator can be a literal or sometimes a resource.
> foaf:maker is always a resource.

Yes, after 6 years of involvement in Dublin Core, I was kinda sad 
to go creating foaf:maker when we really should have got our act together 
in the DC world and fixed dc:creator. As it stands, dc:creator is 
sometimes used as a relationship between a resource and a thing that 
created it; and sometimes used as a relationship between a resource 
and the name of a thing that created it. In RDF terms this proves to be 
very confusing and challenging to reason with. This is complicated 
further by the current dc-in-rdf proposal allowing dc:creator to also 
be used as a relationship between a thing and list of things that made it;
or between a thing and a list of names of things that made it. Or possibly
mixed combinations of those.

foaf:maker has a simpler definition. It is a relationship between a thing 
and another thing (a foaf:Agent) that made it; this is the inverse of the 
longstanding foaf:made relationship.

There is a formal mapping from foaf:maker to dc:creator in the simplest 
use of the latter:

If you see:

?x foaf:maker ?y
and ?y foaf:name ?z    
?x dc:creator ?z

ie. take the name of the maker, and you have your (simple) dc:creator.

The new spec spells this out (in prose; we could perhaps add an appendix 
in N3 rules, so that machines could consume this, but I doubt that'd be 
very useful in practice).


More information about the foaf-dev mailing list