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

Ennals, Robert wrote:
> I’d like to draw attention to a point that Sam Ruby made a while back,
> when we were discussing my proposal for decentralized extensibility
> [ISSUE-41].

Hi Robert,

I'm going to go through your e-mail and clarify some things. This is a
good conversation to have, so I won't take a position for/against
anything that you are saying... yet :). Just wanted to clarify some
things that are nuanced and point out some new (less than 60 days)
directions that RDFa will take in the next year.

> It seems that one of the biggest things that people don’t like about
> RDFa, and thus one of the biggest reasons for creating Microdata, is
> that RDFa uses namespaces, and namespaces are really hard to use because
> the meaning of prefixes varies. However, if we adopted my proposal for
> decentralized extensibility, then prefixes have fixed meanings, and so I
> believe this problem goes away.

We did discuss prefixes with fixed meanings at length during the past
several years. There are, arguably, better alternatives to prefixes with
fixed meanings that I'll outline below.

> What do people think the other big problems with RDFa are? How much do
> they matter? Are there ways of fixing them?

We do feel that there are a number of ways to make RDFa better, more
below...

> ·         Reliance on namespaces – but that can be fixed by the earlier
> proposal

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>

> ·         RDFa requires you to declare a type to get a blank node. Does
> this matter? Could it be easily fixed?

You don't always need to declare a type to get a blank node... you can
create named blank nodes:

<span about="_:bnode" property="foaf:name">Robert Ennals</span>

produces:

_:bnode
   <http://xmlns.com/foaf/0.1/name>
      "Robert Ennals" .

you can also get blank nodes via chaining:

<div about="#me" rel="foaf:knows">
   I know
   <!-- Automatic b-node created below -->
   <div rel="foaf:knows">
      something that knows
      <!-- Automatic b-node created below -->
      <span property="foaf:name">Robert Ennals</span>
   </div>
</div>

produces:

<#me>
   <http://xmlns.com/foaf/0.1/knows>
      _:bnode0 .
_:bnode0
   <http://xmlns.com/foaf/0.1/knows>
      _:bnode1 .
_:bnode1
   <http://xmlns.com/foaf/0.1/name>
      "Robert Ennals" .

> ·         RDFa doesn’t have a DOM API – but that can be added

It will be added in RDFa 1.1, which will hopefully be at REC by Dec 2010.

> ·         RDFa requires an extra layer of indirection when putting one
> node inside another. This is because when a node has a @rel attribute,
> the node is the subject if the node has a type. Does this matter? Could
> it be easily fixed?

I don't quite follow. Could you give a bit more detail? Specifically,
could you define what you mean by "when putting one node inside
another"? Also, please clarify what you mean by "the node is the subject
if the node has a type".

The first may be a misunderstanding of the RDF data model (it's a graph,
not a nested list of tuples... so there's no such thing as putting
something inside something else, there are only relationships between
nodes in the RDF graph. The second isn't correct, a node is a subject if
it has one of two things: 1) @about specified, or 2) @typeof specified.

> When the namespace problem is taken away, what differences are still
> problematic?

Here's the short list of things I've heard:

* Use of xmlns: is confusing for authors
  (being addressed in RDFa 1.1)
* "prefix:value" syntax in attribute values is bad
  (being addressed in RDFa 1.1)
* Markup rules are "too complex for authors"
  (being addressed in RDFa 1.1)
* Data model is "not simple enough"
* RDF has failed, let's move on
* Not allowing full URIs in @about, @rel/@rev, @property, etc.
  (being addressed in RDFa 1.1)
* Isn't tightly integrated with HTML5 (<time>, <cite>, <title>, etc.)
* There is no browser API
  (being addressed in RDFa 1.1)
* Namespaces are too confusing for authors
  (being addressed in RDFa 1.1)
* Indirection is too confusing for authors

Any others that I missed?

-- 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 Friday, 11 December 2009 06:27:51 UTC