[whatwg] Fuzzbot (Firefox RDFa semantics processor)

Calogero Alex Baldacchino alex.baldacchino at email.it
Sat Jan 10 18:01:13 PST 2009

Manu Sporny ha scritto:
> Calogero Alex Baldacchino wrote:
>> That is, choosing a proper level of integration for RDF(a) support into
>> a web browser might divide success from failure. I don't know what's the
>> best possible level, but I guess the deepest may be the worst, thus
>> starting from an external support through out plugins, or scripts to be
>> embedded in a webbapp, and working on top of other feature might work
>> fine and lead to a better, native support by all vendors, yet limited to
>> an API for custom applications
> There seems to be a bit of confusion over what RDFa can and can't do as
> well as the current state of the art. We have created an RDFa Firefox
> plugin called Fuzzbot (for Windows, Linux and Mac OS X) that is a very
> rough demonstration of how an browser-based RDFa processor might
> operate. If you're new to RDFa, you can use it to edit and debug RDFa
> pages in order to get a better sense of how RDFa works.

The concern is about every kind of metadata with respect to their 
possible uses; but, while it's been stated that Microforamts (for 
instance) don't require any purticular support by UAs (thus they're 
backward compatible), RDFa would be a completely new feature, thus html5 
specification should say what UAs are espected to do with such new 

Shall UAs just "accept" them and expose an API to extract triples, so 
that a web application can build a query mechanism upon such an API? 
This might work fine, and fulfill small-scale scenarios, such as 
organization-wise data modelling and interchanging, as suggested by 
Charls McCathieNevile; this can also be accomplished by an external plugin.

Shall UAs (browsers) also provide an interface to view bare triples (as 
does Fuzzbot), as a kind of debugging tool? As above.

Shall UAs (browsers) also provide metadata-based features, such as a 
query interface to look for content in a local history? This is a wider 
scale application, and also a use case where problems may arise. From 
this angle, metadata can't be assumed as reliable apriori (instead, 
their reliability is uncertain), nor can users be deemed capable to 
understand the problem and filter out wrong/misused/abused metadata (in 
general). This is the scenario were spammy metadata may become an issue. 
For instance, some code like,

<div  typeof="foaf:Person">
    <p property="foaf:name" content="Manu Sporny">We sell
        <a href="http://www.cheatingcarseller.com" 

would produce the following triples,

_:bnode0     rdf:type     http://xmlns.com/foaf/0.1/Person
_:bnode0     foaf:homepage     http://www.cheatingcarseller.com
_:bnode0     foaf:name     Manu Sporny

(this is exactly what Fuzzbot outputs)

thus, a metadata-based search feature might output a link to a 
"metadata-spammy" site when queried for "Manu Sporny". That is, cheating 
a metadata-based bot by the mean of fake metadata can be very easy.

Metadata-based features, but this is true for most of xml-related 
technologies (such as RDF/RDFa), work fine if properly used. Unluckily, 
"things must be used properly to work fine" is not the basic principle 
of the web (and this is specially true for html and related 
technologies), which instead has always been about "people will mess 
everything up, but UAs will work fine as well", that is "robustness 
before all, as far as possible". For what concerns html serialization, 
in particular, I'd consider some code like,

<p typeof="cal:Vevent">
  I'm holding
  <span property="cal:summary">
    one last summer Barbecue
  <!-- /span -->, to meet friends and have a party before the end of 
  <span property="cal:dtstart" content="2007-09-16T16:00:00-05:00"
    September 16th at 4pm

(taken from <http://www.w3.org/TR/2008/REC-rdfa-syntax-20081014/> and 
purposedly modified)

which is rendered properly, but produces,

_:bnode1     rdf:type     http://www.w3.org/2002/12/cal/icaltzd#Vevent
_:bnode1     cal:dtstart     2007-09-16T16:00:00-05:00
_:bnode1     cal:summary     one last summer Barbecue , to meet friends 
and have a party before the end of holidays on <span 
datatype="xsd:dateTime" datatype="xsd:dateTime" 
content="2007-09-16T16:00:00-05:00" property="cal:dtstart">September 
16th at 4pm</span>

(taken from Fuzzbot keeping namespace declarations in the root element; 
without xmlns:* attributes all triples are lost)

which is not the desired result. Perhaps it might work better as an xml 
feature on a "strict" xml parser (aborting with an error because of a 
missing end tag), even considering RDFa relies on namespaces (thus, 
adding RDFa attributes to HTML5 spec would require some features from 
xml extensibility to be added to html serialization). But RDFa in an 
XHTML document might look like "rdfa:about", "rdfa:property", 
"rdfa:content", and so on, that is as an external module, thus not 
requiring any changes to the spec.

WBR, Alex
 Caselle da 1GB, trasmetti allegati fino a 3GB e in piu' IMAP, POP3 e SMTP autenticato? GRATIS solo con Email.it http://www.email.it/f
 Incrementa la visibilita' della tua azienda con l'invio di newsletter e campagne email marketing.
* Con investimento di soli 250 Euro puoi incrementare la tua visibilita'
 Clicca qui: http://adv.email.it/cgi-bin/foclick.cgi?mid=8350&d=11-1

More information about the whatwg mailing list