Last call for feedback before Drupal 7 alpha release

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

Last call for feedback before Drupal 7 alpha release

Stéphane Corlosquet
Hi,

The first alpha release of Drupal 7 will be created next Friday Jan 15th. We've already incorporated most of the feedback we received from the semweb community so far, but I wanted to give the community a last chance to review the RDFa markup and the default RDF mappings we use before it's too late. I should emphasize that all the markup and default RDF mappings that we ship in core will be pretty much set in stone after the stable release of Drupal 7, hence this call for feedback. Site administrators who care about semantics will be able to alter these mappings by installing extra modules, but many people (read several 10K sites) will just install Drupal and not care about the semantics it generates. Therefore we want to make sure the RDFa generated by Drupal out of the box is somewhat correct and does not make folks from the semantic/pedantic web community angry :) - we've tried to keep the semantics as generic as possible for that reason.

== RDF mappings ==

I've created a diagram [1] representing the default semantics of the core data structure and we would appreciate feedback on the RDF terms we've used. This schema was committed last week so if there is any change to be made we should discuss it asap.


== RDFa markup ==

To make the RDFa markup review process easier, I've updated the usual testing site at http://drupalrdf.openspring.net/. It features a blog post [2] with some comments which represents a typical Drupal 7 page annotated with RDFa. Some other pages have been randomly generated in order to test the tracker [3] which acts as a very simple sitemap in RDFa.

Note that the URI for each resource of type node (foaf:Document), comment (sioc:Post), term (skos:Concept) and user (sioc:User) is the same URI as the page which describes it. This has been decided in order to keep things simpler and after careful discussion with some members of the community. Hash URIs for distinguishing thing from the page describing them can be implemented quite easily but this case hasn't emerged in core (but will in the modules people will build and use, and this will be taken care of by a separate helper RDF module).

For those willing to install and try out the software, I've uploaded an unstable version of Drupal 7 core at [4] which includes some of the RDF patches which are still under review [5].

On a slightly different topic, all three RDFa parsers I've used for debugging had each some different RDF output, which I believe are bugs (I've reported most of them). Maybe there is some work to be done in improving these RDFa parsing libraries: Ubiquity RDFa [6], Any23 [7], GetN3 [8] - I feel uneasy when people ask "How can I see the RDFa?" and I can't give them a compelling RDFa parser library which supports 100% of the RDFa markup we output. I've also been unlucky at getting Yahoo! Search Monkey to generate pretty search results from RDFa and I hear this service has been down in the past weeks, which is an unfortunate timing.

Looking forward to your feedback on any of the above! There are several 100K RDFa sites waiting to pop out on the Web, so we should make sure we do it right before it gets too late.

regards,
Stéphane.

[1] http://openspring.net/sites/openspring.net/files/drupal_core_RDFS_v3.5_core.png
[2] http://drupalrdf.openspring.net/blog/2009/10/22/produce-and-consume-linked-data-with-drupal
[3] http://drupalrdf.openspring.net/tracker
[4] http://files.openspring.net/drupal/drupal7-unstable-rdf-20100110.tar.gz
[5] http://drupal.org/project/issues/search/drupal?status[]=Open&issue_tags=RDF&version[]=7.x
[6] http://code.google.com/p/ubiquity-rdfa/
[7] http://code.google.com/p/any23/
[8] http://www.w3.org/2006/07/SWD/RDFa/impl/js/

Reply | Threaded
Open this post in threaded view
|

Re: Last call for feedback before Drupal 7 alpha release

Manu Sporny
Stephane Corlosquet wrote:
> The first alpha release of Drupal 7 will be created next Friday Jan
> 15th.

Fantastic news Stephane! Congratulations to you and the rest of the
Drupal 7 team... we can't wait to install and use Drupal 7!

Some minor feedback below...

> == RDF mappings ==

The mappings look very reasonable. I agree that Drupal 7 should ship
with a minimum set of RDFa and should allow the community to expand the
vocabularies supported over time. Perhaps after a year or two of usage,
you'll be able to recognize other vocabularies that should be supported
based on module downloads.

> == RDFa markup ==

The markup looks good for the most part. I used Fuzz[1] to view the live
Drupal 7 site in Firefox 3. The markup looks good for the most part,
there were a couple of things that were a bit strange:

=== Repeated Triples ===

Looking at this page:

http://drupalrdf.openspring.net/node/106

There are a number of triples that are duplicated on that page.
Duplicating these triples is fairly harmless, but I wanted to make sure
that this was intended instead of accidental.

<http://drupalrdf.openspring.net/user/2>
   <http://www.w3.org/1999/02/22-rdf-syntax-ns#type>
      <http://rdfs.org/sioc/ns#User> .

<http://drupalrdf.openspring.net/user/2>
   <http://xmlns.com/foaf/0.1/name>
      "John" .

You could keep track of the triples you generate via the code and not
generate duplicate triples. Not sure the added complexity would be worth
it for Drupal, though.

=== Multiple Types ===

Often, comments and posts are marked up with two rdf:types. For example,
this page:

http://drupalrdf.openspring.net/node/106

generates the following triples:

<http://drupalrdf.openspring.net/comment/696#comment-696>
   <http://www.w3.org/1999/02/22-rdf-syntax-ns#type>
      <http://rdfs.org/sioc/ns#Post> .

<http://drupalrdf.openspring.net/comment/696#comment-696>
   <http://www.w3.org/1999/02/22-rdf-syntax-ns#type>
      <http://rdfs.org/sioc/types#Comment> .

Since sioc:Comment is a owl:subClassOf sioc:Post, I don't think there is
a strong reason for you to generate the sioc:Post triple. The same
applies to dc:date and dc:created:

<http://drupalrdf.openspring.net/node/106>
   <http://purl.org/dc/terms/date>
      "2009-01-07T10:58:54-06:00" .

<http://drupalrdf.openspring.net/node/106>
   <http://purl.org/dc/terms/created>
      "2009-01-07T10:58:54-06:00" .

and to blog posts:

<http://drupalrdf.openspring.net/node/106>
   <http://www.w3.org/1999/02/22-rdf-syntax-ns#type>
      <http://rdfs.org/sioc/ns#Post> .

<http://drupalrdf.openspring.net/node/106>
   <http://www.w3.org/1999/02/22-rdf-syntax-ns#type>
      <http://rdfs.org/sioc/types#BlogPost> .

You may be doing this because there are reasoning agents out there that
don't understand rdfs:subPropertyOf or OWL. Again, just making sure that
this was done on purpose and not by accident.

> I feel uneasy when people ask "How can I see the RDFa?" and
> I can't give them a compelling RDFa parser library which supports 100%
> of the RDFa markup we output.

Have you tried Fuzz[1], yet? There was a new release about a month ago.
The parser passes 100% of the RDFa Test Suite and is a native RDFa
Processor and display UI for Firefox (runs on Windows, Mac OS X and
Linux). The UI is rough, but you should be able to see all of the
triples that are generated.

Drupal 7 is looking great... good luck on the upcoming set of releases!

-- manu

[1] http://rdfa.digitalbazaar.com/fuzz/trac/

--
Manu Sporny (skype: msporny, twitter: manusporny)
President/CEO - Digital Bazaar, Inc.
blog: Monarch - Next Generation REST Web Services
http://blog.digitalbazaar.com/2009/12/14/monarch/

Reply | Threaded
Open this post in threaded view
|

Re: Last call for feedback before Drupal 7 alpha release

Stéphane Corlosquet
Hi Manu,

Thank you for your feedback!

On Tue, Jan 12, 2010 at 10:56 AM, Manu Sporny <[hidden email]> wrote:

=== Repeated Triples ===

Looking at this page:

http://drupalrdf.openspring.net/node/106

There are a number of triples that are duplicated on that page.
Duplicating these triples is fairly harmless, but I wanted to make sure
that this was intended instead of accidental.

<http://drupalrdf.openspring.net/user/2>
  <http://www.w3.org/1999/02/22-rdf-syntax-ns#type>
     <http://rdfs.org/sioc/ns#User> .

<http://drupalrdf.openspring.net/user/2>
  <http://xmlns.com/foaf/0.1/name>
     "John" .

You could keep track of the triples you generate via the code and not
generate duplicate triples. Not sure the added complexity would be worth
it for Drupal, though.

I see what you mean. As you say that would be added complexity and I'm not sure it would cut it performance wise. Right now we blindly output these triples (or rather decorate the HTML with RDFa attributes) for each template of HTML. Adding a condition would mean to have extra storage which altogether might take longer than simply adding these attributes all the time. Note that we don't have an RDF storage in core yet, so maybe for Drupal 8 :)
 

=== Multiple Types ===

Often, comments and posts are marked up with two rdf:types. For example,
this page:

http://drupalrdf.openspring.net/node/106

generates the following triples:

<http://drupalrdf.openspring.net/comment/696#comment-696>
  <http://www.w3.org/1999/02/22-rdf-syntax-ns#type>
     <http://rdfs.org/sioc/ns#Post> .

<http://drupalrdf.openspring.net/comment/696#comment-696>
  <http://www.w3.org/1999/02/22-rdf-syntax-ns#type>
     <http://rdfs.org/sioc/types#Comment> .

Since sioc:Comment is a owl:subClassOf sioc:Post, I don't think there is
a strong reason for you to generate the sioc:Post triple. The same
applies to dc:date and dc:created:

<http://drupalrdf.openspring.net/node/106>
  <http://purl.org/dc/terms/date>
     "2009-01-07T10:58:54-06:00" .

<http://drupalrdf.openspring.net/node/106>
  <http://purl.org/dc/terms/created>
     "2009-01-07T10:58:54-06:00" .

and to blog posts:

<http://drupalrdf.openspring.net/node/106>
  <http://www.w3.org/1999/02/22-rdf-syntax-ns#type>
     <http://rdfs.org/sioc/ns#Post> .

<http://drupalrdf.openspring.net/node/106>
  <http://www.w3.org/1999/02/22-rdf-syntax-ns#type>
     <http://rdfs.org/sioc/types#BlogPost> .

You may be doing this because there are reasoning agents out there that
don't understand rdfs:subPropertyOf or OWL. Again, just making sure that
this was done on purpose and not by accident.

Correct, we materialize subClassOf and subPropertyOf so we don't require people to have reasoning agents. I'm not sure when web browsers like FireFox will enable reasoning on the fly when parsing RDFa. We want to have sioc:BlogPost to enable accurate SPARQL querying for example, but some tools might not know what to do with it, and might not infer it's also a sioc:Post, so we prefer to have it materialized.
 

> I feel uneasy when people ask "How can I see the RDFa?" and
> I can't give them a compelling RDFa parser library which supports 100%
> of the RDFa markup we output.

Have you tried Fuzz[1], yet? There was a new release about a month ago.
The parser passes 100% of the RDFa Test Suite and is a native RDFa
Processor and display UI for Firefox (runs on Windows, Mac OS X and
Linux). The UI is rough, but you should be able to see all of the
triples that are generated.

I tried it, but somehow the relation <comment> sioc:reply_of <node> is not appearing in the Fuzz Example Triple Display (while it is present on other parsers). I will add this to the bug tracker.

Steph.
 

Drupal 7 is looking great... good luck on the upcoming set of releases!

-- manu

[1] http://rdfa.digitalbazaar.com/fuzz/trac/

--
Manu Sporny (skype: msporny, twitter: manusporny)
President/CEO - Digital Bazaar, Inc.
blog: Monarch - Next Generation REST Web Services
http://blog.digitalbazaar.com/2009/12/14/monarch/

Reply | Threaded
Open this post in threaded view
|

Re: Last call for feedback before Drupal 7 alpha release

ProjectParadigm-ICT-Program
In reply to this post by Stéphane Corlosquet
Good news indeed!

Milton Ponson
GSM: +297 568 5908
Rainbow Warriors Core Foundation
PO Box 1154, Oranjestad
Aruba, Dutch Caribbean
www.rainbowwarriors.net
Project Paradigm: A structured approach to bringing the tools for sustainable development to all stakeholders worldwide
www.projectparadigm.info
EarthForge: Creating ICT tools for NGOs worldwide for Project Paradigm
www.earthforge.info, www.developmentforge.info
MetaPortal: providing online access to web sites and repositories of data and information for sustainable development
www.metaportal.info

This email and any files transmitted with it are confidential and intended solely for the use of the individual or entity to whom they are addressed. If you have received this email in error please notify the system manager. This message contains confidential information and is intended only for the individual named. If you are not the named addressee you should not disseminate, distribute or copy this e-mail.


--- On Tue, 1/12/10, Stephane Corlosquet <[hidden email]> wrote:

From: Stephane Corlosquet <[hidden email]>
Subject: Last call for feedback before Drupal 7 alpha release
To: [hidden email], "RDFa mailing list" <[hidden email]>, [hidden email], [hidden email]
Date: Tuesday, January 12, 2010, 2:46 PM

Hi,

The first alpha release of Drupal 7 will be created next Friday Jan 15th. We've already incorporated most of the feedback we received from the semweb community so far, but I wanted to give the community a last chance to review the RDFa markup and the default RDF mappings we use before it's too late. I should emphasize that all the markup and default RDF mappings that we ship in core will be pretty much set in stone after the stable release of Drupal 7, hence this call for feedback. Site administrators who care about semantics will be able to alter these mappings by installing extra modules, but many people (read several 10K sites) will just install Drupal and not care about the semantics it generates. Therefore we want to make sure the RDFa generated by Drupal out of the box is somewhat correct and does not make folks from the semantic/pedantic web community angry :) - we've tried to keep the semantics as generic as possible for that reason.

== RDF mappings ==

I've created a diagram [1] representing the default semantics of the core data structure and we would appreciate feedback on the RDF terms we've used. This schema was committed last week so if there is any change to be made we should discuss it asap.


== RDFa markup ==

To make the RDFa markup review process easier, I've updated the usual testing site at http://drupalrdf.openspring.net/. It features a blog post [2] with some comments which represents a typical Drupal 7 page annotated with RDFa. Some other pages have been randomly generated in order to test the tracker [3] which acts as a very simple sitemap in RDFa.

Note that the URI for each resource of type node (foaf:Document), comment (sioc:Post), term (skos:Concept) and user (sioc:User) is the same URI as the page which describes it. This has been decided in order to keep things simpler and after careful discussion with some members of the community. Hash URIs for distinguishing thing from the page describing them can be implemented quite easily but this case hasn't emerged in core (but will in the modules people will build and use, and this will be taken care of by a separate helper RDF module).

For those willing to install and try out the software, I've uploaded an unstable version of Drupal 7 core at [4] which includes some of the RDF patches which are still under review [5].

On a slightly different topic, all three RDFa parsers I've used for debugging had each some different RDF output, which I believe are bugs (I've reported most of them). Maybe there is some work to be done in improving these RDFa parsing libraries: Ubiquity RDFa [6], Any23 [7], GetN3 [8] - I feel uneasy when people ask "How can I see the RDFa?" and I can't give them a compelling RDFa parser library which supports 100% of the RDFa markup we output. I've also been unlucky at getting Yahoo! Search Monkey to generate pretty search results from RDFa and I hear this service has been down in the past weeks, which is an unfortunate timing.

Looking forward to your feedback on any of the above! There are several 100K RDFa sites waiting to pop out on the Web, so we should make sure we do it right before it gets too late.

regards,
Stéphane.

[1] http://openspring.net/sites/openspring.net/files/drupal_core_RDFS_v3.5_core.png
[2] http://drupalrdf.openspring.net/blog/2009/10/22/produce-and-consume-linked-data-with-drupal
[3] http://drupalrdf.openspring.net/tracker
[4] http://files.openspring.net/drupal/drupal7-unstable-rdf-20100110.tar.gz
[5] http://drupal.org/project/issues/search/drupal?status[]=Open&issue_tags=RDF&version[]=7.x
[6] http://code.google.com/p/ubiquity-rdfa/
[7] http://code.google.com/p/any23/
[8] http://www.w3..org/2006/07/SWD/RDFa/impl/js/