Re: RDFa in Drupal core

Hello Manu,

Thank you for the wonderful email. Responses below:

On 1/10/08 5:33 AM, Manu Sporny wrote:
> This is great news, David. We'd love to see Drupal adopt RDFa as their
> method of semantics expression. This would require a couple of things
> from Drupal core that I'm unsure of:
>
> 1. Does Drupal produce clean XHTML? If not, it should do so before you
>     start adding RDFa.
> 2. You will have to change the DOCTYPE and HTML version for any page
>     that produces XHTML+RDFa. Would this be an issue?
> 3. You may want to focus on not cleaning @about, @rel/@rev, @property,
>     @resource, @datatype, @property, @xmlns:XXX and @href (as well as the
>     other RDFa elements) from raw XHTML+RDFa markup. This would be a good
>     "first round" implementation of RDFa support.
>
>
1. Drupal does produce clean XHTML. It is a source of pride in the 
Drupal community and something that is religiously held onto.

2. That should not be a problem as it means making a one line change to 
the template which is then carried through the entire site.

3. I believe this would be an area that needs some work, but again they 
are very willing to "do the right thing". The elements @rel/@rev already 
pass through the system (I am almost positive about that). Of course the 
other RDFa elements will have to be checked but in talking with Peter 
Wolanin (of Acquia) it doesn't seem like that will be difficult to fix.

>> I think FOAF for each user is obvious, SIOC to describe the site and its
>> structure... then what? I am aware of Manu's great posts lately relating
>> to DIGG. I hate to ask this question (please no stones!) but why SIOC? I
>> keep wondering, what is the business case for its use here and how can
>> we sell it as "useful" to the Web 2.0 crowd? Don't get me wrong, I think
>> SIOC is great, but I am having a tough time selling the concept as an
>> enabler...
>>
>
> That is a fair question - why SIOC and not FOAF for Digg? Is SIOC useful
> for Drupal's use case? The answer is that it really depends on what your
> website does - is Drupal going to be used for something that resembles
> Digg, or is it going to be used for something else (like a music or
> video blog)?
>
Drupal is a web publishing platform, so its uses are myriad. That is 
what makes it difficult to "know" what are the right vocabularies to 
bake in. FOAF to create central identity is key. SIOC to create 
interlinked communities sounds good.
> If you would like to describe People, Projects, Accounts and Groups -
> then FOAF is probably better for your needs. If you need to describe
> Communities, Forums, Users, Threads, Posts and their
> inter-relationships, then SIOC is probably more for you. The beauty of
> it all, however, is that you can mix and match between the two
> vocabularies if you need to be more specific. For example, you can use
> SIOC for Communities, Forums, Threads, and Posts, but FOAF to describe
> the people and groups on the site.
>
Do you see any other useful, general purpose vocabs that would make 
sense to plug into such an open framework? One key strength of Drupal is 
its sense of tagging content. In Drupal a taxonomy can be created on the 
fly and assigned to different content types, this taxonomy can be 
hierarchical of flat like a folksonomy. At Drupalcon the idea that 
caught a lot of interest was baking in some key vocabs into Drupal's 
taxonomy system so that a new install would have a pre-populated set of 
tags to to tag their content with. (Drupal has the Ajax autocomplete 
stuff and all that...)

Right now any tag that is attached to a content item is prefixed with 
technorati.com/tag stuff. Of course this brings about some sort of 
organic structure, but it misses a lot of things.

The idea of having an auto-complete that pulled in instances from 
DBpedia or concepts from UMBEL came up. Then in the XHTML the full URI 
would be embedded via RDFa. Dries made note that it might be a difficult 
sell to the core developers to have this auto-complete in Drupal core. I 
bring this up to see what the RDFa communities thoughts are. If there is 
positive traction then the use case can be written and sold to the 
Drupal community.
>
> If you look at the Drupal Modules, we can guess which vocabulary may be
> used for a certain class of modules:
>
> http://drupal.org/project/Modules
>
> For example, the "Community" Modules for Drupal should probably use SIOC
> pretty heavily. "User Management" might use FOAF and vCard. Drupal Core
> should probably support at least Dublin Core Terms (dcterms).
>
Modules are the key strength in Drupal, there are thousands of them. 
That is also the problem, to coordinate them and get the developers to 
do new things takes time and convincing... In saying that there are a 
few that are doing some things in a similiar space, namely vCard module. 
This could be extended to also mark up in RDFa.

> So, for Drupal Core - I'd focus on getting basic support for RDFa in
> there and getting DCTerms integrated first - then worry about SIOC and FOAF.
>
>
DCTerms, check!
>
> I think a general strategy may be more useful because we could spend
> weeks listing the use cases for RDFa in each Drupal Module. As a general
> strategy, you might try this:
>
> 1. Get Drupal Core emitting clean XHTML+RDFa.
> 2. Drupal Core support for embedding raw RDFa+XHTML.
> 3. Mark up sioc:Post, sioc:User (or foaf:Person), and some DCTerms
>     properties such as creator, date, description, modified, etc.
> 4. Have module authors decide which vocabularies are best suited for
>     their modules.
>
> Do you think this strategy is work-able?
>
> -- manu
>
>
1-3 sound very doable. 4 will take some education and convincing of the 
community. Of course if Drupal 7 is RDFa enabled it will definitely put 
some flame to the fire...

Thank you very much Manu for your excellent analysis.

Cheers,

David Peterson

Received on Thursday, 2 October 2008 15:18:16 UTC