[rdfweb-dev] Re: OnlineAccount proposal

Dan Brickley danbri at w3.org
Sat Jul 26 18:37:18 UTC 2003


* Morten Frederiksen <mof-rdf at mfd-consult.dk> [2003-07-26 20:05+0200]
> On Saturday 26 July 2003 19:51, Dan Brickley wrote:
> > (i) foaf:accountUser has a domain of foaf:OnlineAccount, range of
> > foaf:Agent (ii) foaf:accountType becomes just rdf:type
> > (iii) we could write it as a separate rdf:type assertion, to make it
> > easier to process/parse without schema-based processing
> > (iv) foaf:accountServiceHomepage has domain of OnlineAccount, range of
> > Document, and points to the foaf:homepage of the foaf:Organization
> > responsible for the service that supports the OnlineAccount.
> > The foaf:accountName has domain of OnlineAccount, is
> > owl:FunctionalProperty, and takes an rdfs:Literal value.
> This look just fine, and should evolve nicely.
> 
> A nitpick: I'm not sure there should be a restriction on the 
> foaf:accountServiceHomepage to point to the foaf:homepage of a 
> foaf:Organization - there might be a need for seperate pages for each account 
> type for an organization, i.e. one for irc, one for jabber, one for aim etc.
> If the restraint is proposed to be able to relate an account to a specific 
> organization (since foaf:homepage is an owl:InverseFunctionalProperty), 
> another property relating the account to the organization might be needed.

Yeah, this is fiddly, we could jump either way depending on granularity
of 'Organization' (eg. XBox live, MSN Chat as orgs versus Microsoft; AOL vs the AIM
and ICQ teams, etc.). Just dropping the restriction seems easiest way
forward.

> 
> One thing that might be nice, is a reverse property of accountUser, e.g. 
> hasAccount or so, which would help with the XML-based tree view - although 
> the proposed modelling is quite good for educational reasons!

Yeah, education good, but needlessly annoying XML-heads bad. Tricky!
Since there is just 1 account holding agent per account, seems best to
flip the property and have it point from agent to account, since a
single account will never need to be XML-inside multiple
foaf:Person-describing XML elements. Shared accounts will need to be
modelled in terms of multi-part Agents, incidentally; I think that works
OK.

So, to date we've avoided the hasFoo naming pattern (since 'has' could
prefix most every RDF property name). 

how about foaf:holdsAccount? For a second I started to worry about
non-online accounts (bank etc) but that's a sign of terminal scope
creep. 

So:

<foaf:Person>
  <foaf:name>Dan Brickley</foaf:name>
  <foaf:holdsAccount>
    <foaf:OnlineAccount>
      <rdf:type rdf:resource="http://xmlns.com/foaf/0.1/OnlineGamingAccount"/>
      <foaf:accountServiceHomepage rdf:resource="http://www.microsoft.com/xbox/"/>
      <foaf:accountName>ban dr i</foaf:accountName>
    </foaf:OnlineAccount>
  </foaf:holdsAccount>
</foaf:Person>

...is the current proposal. This would support scenarios such as 'find
me pictures of the xbox user whose login is ....'.
      

Still todo:

 - more ideas for sub-types of OnlineAccount
 - discussion on what appropriate values for
   foaf:accountServiceHomepage will be in practice, and whether to
   express any restrictions in a machine-visible form.

If nobody objects, I'll include a strawman version of this in the
upcoming new spec for review.

cheers,

Dan



More information about the foaf-dev mailing list