Maven 2.x DOAP Plugin

foaf:Organization usage doesn't comply with DoaP/FoaF specs.

Details

  • Type: Bug Bug
  • Status: Closed Closed
  • Priority: Minor Minor
  • Resolution: Fixed
  • Affects Version/s: 1.1
  • Fix Version/s: 1.1
  • Component/s: None
  • Labels:
    None
  • Environment:
    Any
  • Number of attachments :
    2

Description

Summary
The foaf:Organization node is misplaced inside the foaf:Person node. It is not compliant with the FoaF or Doap specs.

The Problem
This is an instance of the issue described here: http://lists.foaf-project.org/pipermail/foaf-dev/2009-January/009452.html
foaf:Organization like foaf:Group is a foaf:Agent (see http://xmlns.com/foaf/spec/#term_Agent), so the issue is the same.
The recommended syntax from the DoaP project examples is to use the foaf:member property between the foaf:Organization node and the foaf:Person node.
Unfortunately, per the FoaF spec, the relation only goes in that direction (Organization->member->Person) with no convenient inverse property.

The Fix
The best fix I can currently find is to use blank nodes and a separate Organization element that is not nested in the person element. Unfortunately, because the DoaP plugin isn't using native RDF tools internally, this will require a little more bookkeeping.

<rdf:RDF>
<doap:Project>
<maintainer rdf:nodeID="jdoe"/>
<founder rdf:nodeID="jdoe"/>
</doap:Project>

<Person nodeID="jdoe">
<name>John Doe</name>
<mbox rdf:resource="mailto:jdoe@example.org" />
</Person>

<doap:Organization>
<doap:homepage rdf:resource="http://www.example.org" />
<doap:member rdf:nodeID="jdoe" />
</doap:Organization>
</rdf:RDF>

Additional Info
Info about rdf:nodeID is available at: http://www.w3.org/TR/rdf-syntax-grammar/#section-Syntax-blank-nodes

Activity

Hide
Tim Fliss added a comment -

This is a patch that generates correct foaf:Organization tags in relation to foaf:Person tags.
It includes unit test updates.

Show
Tim Fliss added a comment - This is a patch that generates correct foaf:Organization tags in relation to foaf:Person tags. It includes unit test updates.
Hide
Vincent Siveton added a comment -

Fixed in r1044321, snapshot deployed

Show
Vincent Siveton added a comment - Fixed in r1044321, snapshot deployed

People

Vote (0)
Watch (1)

Dates

  • Created:
    Updated:
    Resolved: