Is blank node authorized or a shortcoming of the validator

Published on: 03/02/2013
Discussion

I've implemented the ADMS.SW export of the Debian PTS using blank nodes for contributors to the projects and the SPDX information about the packages.

However, the validator complains about every blank nodes as they don't have a URI (sic).

I'm not sure : are blank nodes allowed per the specs, or is this just a limitation of the validator ?

For instance : http://packages.qa.debian.org/a/apache2.ttl

Thanks in advance

Component

Code

Category

support

Comments

stijngoedertier (not verified)
Sun, 03/02/2013 - 22:45

You are right, blank nodes are strictly speaking authorised by the ADMS.SW specs, or at least they do not forbid them. However, blank nodes add a lot of complexity and tool support for them is bad. Have a look at the analysis on blank nodes of Vuk Miličić and Richard Cyganiak's post 'Blank nodes considered harmful'. For this reason, the AMDS.SW Validator is more strict, requiring every subject to be a URI (thus excluding blank node identifiers), formatted according to RFC 3986  or RFC3987.

So if you cannot use blank nodes to list the contributors to a software project, which URI must you then use? Interestingly, Tim Berners Lee's famous Linked Data Design Issues addresses this issue and recommends those making a FOAF file, also to assign themselves a dereferenceable URI (/-URIs with 303 redirection or #-URIs as explained in Cool URIs for the Semantic Web). I understand that the Debian Package Tracking system is currently not keeping track of de-referenceable URIs of its contributors. In this case, I think it is pragmatic - or at least better than using blank nodes - to use the URI of a page on PTS which contains information about the contributor. 

 

So the turtle snippet in your example:

<http://packages.qa.debian.org/apache2#project&gt;

    doap:name "Debian apache2 packaging" ;     doap:description "Maintenance of the apache2 source package in Debian" ;     schema:contributor [       a foaf:OnlineAccount ;       foaf:accountName "Arno Töll" ;       foaf:accountServiceHomepage <http://qa.debian.org/developer.php?login=arno@debian.org&gt;     ].

could be replaced by:

 

<http://packages.qa.debian.org/apache2#project&gt;

    doap:name "Debian apache2 packaging" ;     doap:description "Maintenance of the apache2 source package in Debian" ;     schema:contributor <http://qa.debian.org/developer/arno>. <http://qa.debian.org/developer/arno>       a foaf:Person ;       foaf:name "Arno Töll";       foaf:mbox <mailto:arno@debian.org&gt; .  

Any chance to have a /-URI with 303 redirection on Debian PTS for its contributors?