[whatwg] Ghosts from the past and the semantic Web

Eduard Pascual wrote:
> I would like to encourage this community to learn from what it has
> already been done in the past, check what worked, and see why it
> worked; then apply it to the problem at hand. If for presentation CSS
> worked (and I really think it did; if somebody disagrees I invite you
> to share your opinion), then let's see what made it work:
> First of all, and essentially, CSS was independent to HTML, although
> they were to be used together. I hope it is already clear by now that
> we need to deal with semantics from outside of HTML. RDF is an example
> of a mechanism that is independent to HTML.
> Next, CSS had a simple syntax, despite the size of its vocabulary:
> once you understand the "selector { property: value; }", you
> understand most of CSS syntax. The RDF's XML format is quite verbose
> and is not a good example of a simple syntax. But RDFa comes to the
> rescue, providing an approach to simplify the syntax.
> Last, but not least, CSS was usable with HTML because there where were
> hooks between the two: the selector's semantics are based in HTML's
> structure (and, by extension, any other markup language). CSS was,
> indeed, intended to represent the presentation of markup documents.
> RDFa provides some hook; but there is a gotcha: RDFa is not intended
> to represent the semantics of a web document; but to embeed those
> semantics within the document. RDF just represents (semantic)
> relationships between concepts; and RDFa puts that representation
> inside the document.
>
>   
...
> In summary, I think RDFa might work, and it wouldn't be a too bad
> solution, but I don't think it is the best approach either.
>
>   

I think you were on to something with the CSS-like approach. Ian has 
stated earlier that class should be considered a generic categorisation 
element rather than only a CSS hook. If so then this would also let us 
hook metadata to classes. ie:

<metadata type="text/cascading-metadata">
.author {
    species: human;
    produces: books;
    consumes: coffee;
}
.author .john_smith {
    name: John Smith;
    dob: 2000-01-01;
}
</metadata>

<style>
.author {
    color: purple;
}
</style>

<h1>Authors</h1>
<ul class="author">
    <li class="john_smith">John Smith</li>
    <li class="jane_simmons">Jane Simmons</li>
</ul>


There is no reason why a range of XML metadata formats like text/rdf 
couldn't be supported provided they are not used inline (like the 
example above) but imported. ie:
<link rel="metadata" href="global.rdf" type="text/rdf">

Since this approach requires only one new tag <metadata> and the 
metadata is separate from the structural elements this should resolve 
some concerns. In addition since this proposal does not limit HTML to 
one metadata language (though a default could be decided) so there is 
more flexibility in the future to support currently unknown formats.

 From the designers point of view there is less typing, since a single 
class attribute can hook both style and meaning to the same structure 
and the meanings can be reused. Using a public namespace would be a 
simple matter of:
<link rel="metadata" 
href="http://www.standards.org/metadata/media/movies.rdf" type="text/rdf">

If RDF or RDFa are considered too heavy to be a default language (and 
they suffer from being impossible to embed inline or in <metadata> 
blocks) then the "cascading metadata" approach above might be useful. 
Since it can reuse existing CSS parsers, editors and behaviour 
(selectors, cascading model) it should have a lower implementation 
burden than XML+Namespaces.

Shannon

Received on Wednesday, 27 August 2008 18:41:00 UTC