W3C home > Mailing lists > Public > public-powderwg@w3.org > July 2008

Re: FOAF/DC Terms discussion summary and PROPOSED RESOLUTION

From: Dan Brickley <danbri@danbri.org>
Date: Wed, 09 Jul 2008 12:57:24 +0100
Message-ID: <4874A7A4.3040609@danbri.org>
To: Phil Archer <parcher@icra.org>
Cc: Public POWDER <public-powderwg@w3.org>, Ivan Herman <ivan@w3.org>, baker@sub.uni-goettingen.de

+cc: Tom Baker

Phil Archer wrote:
> It is more likely that foaf:Agent 
> (and its useful sub classes) will become sub classes of dcterms:Agent 
> than the other way around. 

Neither will 'become' a sub-class of the other, literally. foaf:Agent 
and dcterms:Agent just both articulate the exact same intuitive notion. 
  This can be seen from the human readable text: both define agency in 
terms of doing/acting, and give very similar examples.

 From http://xmlns.com/foaf/spec/#term_Agent "The foaf:Agent class is 
the class of agents; things that do stuff". "An agent (eg. person, 
group, software or physical artifact)."

 From http://dublincore.org/documents/dcmi-terms/#classes-Agent "A 
resource that acts or has the power to act."
"Examples of Agent include person, organization, and software agent."

Nobody has yet claimed to find an example case where something counts as 
a foaf:Agent but not a dcterms:Agent or vice-versa. The same things fall 
into both classes. When it comes to detail, both specs are unclear. Can 
a Web page be an Agent? Hmm maybe kinda. Especially if it has a java 
applet or lots of code in it. And so on. But the questions posed are 
unlikely to be addressed by making either definition more precise. As 
you suggest below, there is a distinct notion of agent that is much more 
socially and accountability oriented than foaf:Agent or dcterms:Agent. 
And which probably deserves a separate name.

The question then is not which one will "become" a subclass of the 
other, but which project will first get around to documenting this 
relationship in RDF discoverable from the relevant namespaces.

> Dan recommended we use dcterms.

Yup. Or at least make sure POWDER is minimally implementable with only 
DCTERMS vocab.

> - Neither FOAF nor DC is exactly right for us. As Andrea has 
> articulated, what we want is a sub class of agent that is "an entity 
> that is accountable and prepared to stand by its claims and assertions" 
> ... and that's rather more specialised than either :Agent class.

I would be interested to add this into FOAF. It is close to the notion 
of a "legal person" and as such worries me a bit that it would be 
impossibly legalistic to define properly. Still in FOAF it does make 
some sense: we have Group and Organization and Person as sub-classes of 
Agent which are often examples of this notion of an accountable or 
sentient agent. But then there are children, dead people, etc., so 
inferring accountability and commitment from being a member of these 
classes would be too strong. Still, if there is a spinoff class of this 
kind from the POWDER discussions looking for a home, let me know.

A motivation for this is the suggestion that foaf:knows, currently 
defined as holding between people, could be broadened a little. But 
broadening it to :Agent would be opening it up perhaps too much.

> - Why don't we support both? The XML experts tell us that this is indeed 
> possible within the schema. Good, that's our get out of gaol card.

:)

> - We're working on the Last Call documents right now and, having 
> reviewed them, should resolve to publish and make the LC announcement 
> following next week's face to face meeting. i.e. we're out of time.
> 
> Hence my PROPOSED RESOLUTION (already mentioned in a previous mail)
> 
> That our examples show a <creator> element in POWDER that is transformed 
> into dcterms:creator in POWDER-S. However, we also state that <maker> -> 
> foaf:maker is a permissible alternative and that, at the time of this 
> writing, it is anticipated that the two vocabularies will be brought 
> into even closer alignment. Exactly one of either <creator> or <maker> 
> MUST be included as a child element of <attribution> in a valid POWDER 
> document.

Note that foaf:maker existed primarily due to the earlier messy nature 
of DC. See http://wiki.foaf-project.org/UsingDublinCoreCreator ...
As far as POWDER/FOAF goes, the Agent-related stuff is probably our main 
contribution. Now DC has been updated, I may encourage people to use 
that instead of foaf:maker. There is also much more likely to be code 
out there looking for foaf:Agent than foaf:maker/made.

> And then we need to work with Dan and others to see whether FOAF itself 
> might include an Agent sub class that is more tailored to our needs.

Yes please. Here's a candidate proposal:

a class SocialAgent which is subClassOf Agent, and a superclass of 
Organization, Group, Person. We might at some point include a class 
Company too, below Organization. Note that Group is a Group of agents, 
and not necessarily 'social agents' (eg. pets etc allowed, in general). 
So there would be some room for nitpicking around that.

> Does that sound like a reasonable compromise and way forward?

I think so.

cheers,

Dan

> Phil.
> 
> 
> [1] http://lists.w3.org/Archives/Public/public-powderwg/2008Jul/0028.html
> [2] http://lists.w3.org/Archives/Public/public-powderwg/2008Jul/0031.html
> 
> 
> 
Received on Wednesday, 9 July 2008 11:58:05 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Monday, 7 December 2009 10:42:13 GMT