[oslc-cm] foaf:Person vs sioc:User for dc:creator or oslc_cm:owner ?

Steve K Speicher sspeiche at us.ibm.com
Thu Mar 11 10:31:09 EST 2010


Olivier Berger <olivier.berger at it-sudparis.eu> wrote on 03/05/2010 
05:43:36 AM:

> I've had a look at
> http://open-services.net/bin/view/Main/CmResourceDefinitionsV2 and it
> seems that foaf:Person is preferred at the moment for describing
> reporters/owners of CRs.
> 
> I'm not sure this is the best choice, and would propose to use sioc:User
> instead.
> 
> When reading :
> "General agreement on foaf:Person is enough as there are not too many
> systems that have multiple accounts per user. Can be managed by having
> separate person instances (exception, instead of the rule)"
> I'm puzzled...
> 
> sioc:User is already there to manage the situation of several accounts
> (sioc:Users) of the same physical person (foaf:Person).
> 
> Why chose the least suitable one when there's one more flexible ? ;)
> 
> Is this to avoid dependency on sioc and limit to foaf ?
> 
> foaf:Person seems well suited when dealing with real physical persons,
> whereas sioc:User is more about accounts/aliases/nicks of potentially
> anonymous personalities of these real people.
> 
> Also, when thinking about automation, I believe dc:creators couls be
> robots/apps, where sioc:User may be preferred to foaf:Persons too ;)
> 
> In any case, sioc seems more actively maintained than foaf, IMHO, so it
> may be preferred maybe.
> 
> Any comments ?
> 

In most (if not all) systems that we have, this account is really owned by 
a person and therefore this representations is "good enough" for these 
tools.  It appears that soic:User adds a level of indirection for some 
cases that don't occur too often.  Perhaps this stems from how "people" 
are represented in CM tools, the CM tool has an internal model and storage 
for its concept of a user.  This may reference to some other repository or 
have some key into that, employee id or employee email.

Perhaps the best way to look at this is to take a couple concrete 
examples.   Here's how I'd see it playing out using the approach that is 
currently laid out in the V2 spec. Could you provide an example of this 
would be done using soic:User  and why what I have is not sufficient?

<oslc_cm:ChangeRequest
  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns:dc="http://purl.org/dc/terms/"
  xmlns:oslc_cm="http://open-services.net/xmlns/cm/1.0/" 

  rdf:about="http://example.com/bugs/2314">

(snip)...

  <dc:creator>
    <foaf:Person rdf:about="http://example.com/users/joesbot">
      <foaf:name>Joe's Bot</foaf:name>
      <foaf:nick>bot</foaf:nick>
      <foaf:mbox rdf:resource="mailto:jbot at nowhere" />
      <foaf:img rdf:resource="/user-images/robot.jpg" />
    </foaf:Person>
  </dc:creator>

  <oslc_cm:owner>
    <foaf:Person rdf:about="http://example.com/users/bob">
      <foaf:name>Bob Boss</foaf:name>
      <foaf:nick>bob</foaf:nick>
      <foaf:mbox rdf:resource="mailto:bob at nowhere" />
      <foaf:img rdf:resource="/user-images/bobb.jpg"/>
    </foaf:Person>
  </oslc_cm:owner>

</oslc_cm:ChangeRequest>



Thanks,
Steve Speicher | IBM Rational Software | (919) 254-0645




More information about the Oslc-Cm mailing list