W3C home > Mailing lists > Public > public-html@w3.org > December 2009

Re: ISSUE-76: If we fixed namespaces, does RDFa still have problems?

From: Manu Sporny <msporny@digitalbazaar.com>
Date: Sun, 13 Dec 2009 21:59:43 -0500
Message-ID: <4B25AA1F.4080905@digitalbazaar.com>
To: "public-html@w3.org" <public-html@w3.org>
Ennals, Robert wrote:
> It seems that a lot of people think that RDFa has problems 
> that would make it hard for unskilled web authors to use.
>
> I think it is useful to try to understand why people dislike
> it, and whether the problems are easily fixable
>
> if RDFa has usability problems compared to Microdata then this
> should be taken very very seriously

The only thing I take exception with above is the statement that "a lot
of people think that RDFa has problems...". There is a vocal group that
does have issues with RDFa, but I don't know if the number in that group
would constitute "a lot" or "a little". I could make the statement that
"a lot of people think that Microdata has problems" - but that doesn't
really get us anywhere. So, I'll try to stick to examples and technical
arguments as those tend to move discussions forward.

That is not to say that "a lot" and "few" doesn't matter - it clearly
matters with adoption numbers and pages published and RDF
triples/microdata tuples produced. We want the solution that is or will
produce the most amount of public, machine-readable data.

As for unskilled web authors - unskilled web authors are going to make
mistakes with Javascript, HTML, Microdata and RDFa alike. The real thing
that will help them is support tools for generating proper RDFa and/or
Microdata.

The majority of the RDFa community does completely agree with you about
it being important to understand why some don't like RDFa and address
those problems if they are easily addressable. These aren't empty
promises, as the new RDFa Working Group charter hopes to address some of
these usability issues in the next version of RDFa. In other words, if
we don't address at least some them in the next year, then we have
failed to fulfill our charter as a Working Group.

We have and continue to take the issue of usability very seriously and
are always open to criticisms and suggestions to improve RDFa. We have
made changes as a result of discussions with Ian Hickson, Henri Sivonen,
Philip Taylor and a variety of others in WHAT WG, and HTML WG.

>  Now for some comments:
> 
>> RDFa 1.1 will allow for the use of RDFa without declaring any
>> namespaces
>> and using vocabularies and keywords instead. For example:
>>
>> <p vocab="http://example.org/foaf.html" about="#robert"
>> typeof="Person">
>>    My name is <span property="name">Robert Ennals</span>.
>> </p>
> 
> What is the scope of a vocab? 

The scope of vocab is the same as @itemscope - in other words, it's
scoped to the element that it is declared on. So, if it is declared on
<HEAD> then it's scoped to the entire contents of <HEAD>, if it's scoped
on <BODY> then it's scoped to the entire contents of <BODY>.

> If it is document scope, then won't you get the same problem as 
> before, where names don't have consistent meanings.

Microdata has the problem, RDFa does not. To demonstrate:

Author A writes:

<span itemprop="title">Going Rogue</span>

Author B writes:

<span itemprop="title">Research Scientist</span>

Author A Microdata model:

("title", "Going Rogue")

Author B Microdata model:

("title", "Research Scientist")

RDFa, however, the RDFa form will always resolve to a URL. This is
because the @vocab attribute points to an HTML document that will map
each single word token to a fully qualified URL. These HTML documents
will probably not be created by page authors - they will be created by
the same people that create the vocabularies. So, we get authoring ease
and markup that isn't ambiguous. Therefore:

Author C writes:

<span vocab="http://purl.org/dc/vocab.html"
   about="#book" property="title">Going Rogue</span>

Author D writes:

<span vocab="http://www.w3.org/vocabs/vcard.html"
   about="#card" property="title">Research Scientist</span>

Author C Microdata model:

<#book>
   <http://purl.org/dc/terms/title>
      "Going Rogue" .

Author D Microdata model:

<#card>
   <http://www.w3.org/2001/vcard-rdf/3.0#title>
      "Research Scientist" .

> Personally, I'd like to have all the common types and properties 
> be part of the default namespace, and just write:
> 
> <p type="Person">
>    My name is <span property="name">Rob Ennals</span>
> </p>

The problem with this approach is who or what constitutes "common types
and properties". The W3C? The biotech industry? The photochemical
processing industry? The physics research institutes? Which ones? What's
the process, etc...

> Yeah. You are right. But typing about="_:bnode" seems pretty 
> awkward for end users, especially given that, in the microdata
> usage models, this is something we expect to see almost 
> everywhere. Microdata's "itemscope" seems much more friendly.

There is also @typeof, as Toby pointed out... but we're yet to publish
an errata on that item. It'll be discussed at the beginning of next year
and I expect the finding will be that we should allow typeof="" to
generate a bnode.

> A more general issue is that Microdata seems to be a much easier 
> spec to understand, at least for the microdata use cases. I was
> able to feel comfortable using Microdata after a couple of
> minutes scanning the examples. I still don't feel I fully 
> understand RDFa after having spent about an hour reading the spec.

Have you looked at the RDFa Primer? That's the document that Web page
authors should be reading to get familiar with RDFa (but only if they
want to auto-generate RDFa or write RDFa by hand):

http://www.w3.org/TR/xhtml-rdfa-primer/

The primary purpose of a W3C spec isn't necessarily to teach regular web
page authors how to use a particular technology, although it's great if
we can achieve both. The primary purpose of a W3C spec is to ensure that
one can read the spec and develop inter-operable implementations. The
web has a fairly strong web developer eco-system that is capable of
writing very good tutorials on how to author using RDFa:

http://www.alistapart.com/articles/introduction-to-rdfa/

Now, that is not to say that Microdata isn't simpler - it is and it does
address a subset of the use cases that RDFa supports. Obviously, there
is a group that doesn't feel that Microdata goes far enough. The
shortcomings of Microdata lead to real-world technical issues, some of
which were outlined in the recent ISSUE-76 Change Proposal.

> It may be that the right solution for this is to define a sensible 
> subset of RDFa that users will typically want to use on the web, and
> then document it very clearly, in the way that Microdata has
> been documented.

We would certainly be interested in hearing what that "sensible subset"
would be - it's a topic of ongoing debate in the RDFa community and we'd
love to hear your thoughts on the matter.

> In RDFa I believe I can't put the @rel on _:bnode2, because 
> then it would be describing a property of _:bnode2.

I believe that Toby responded to this particular item, let me know if it
didn't address the issue you were raising.

-- manu

-- 
Manu Sporny (skype: msporny, twitter: manusporny)
President/CEO - Digital Bazaar, Inc.
blog: Bitmunk 3.2 Launched - The Legal P2P Music Network
http://blog.digitalbazaar.com/2009/11/30/bitmunk-3-2-launched/
Received on Monday, 14 December 2009 03:00:21 UTC

This archive was generated by hypermail 2.3.1 : Thursday, 29 October 2015 10:15:55 UTC