Relational HTML

Introduction

@@@@@@@ really just some placeholders for now.

REL style: <p class="description" id="taiko">My dog <a rel="rdfs_label">Taiko</a> is an <a rel="rdf_type" href="http://example.com/dogbreeds/Akita">Akita</a></p>

CLASS style: <p class="description" id="taiko">My dog <span class="rdfs_label" id="taikoLabel">Taiko</span> is an <a rel="rdf_type" href="http://example.com/dogbreeds/Akita">Akita</a></p>

Namespace Prefix Declaration: <p>This is a <a rel="import" href="http://www.w3.org/...rddl" id="rddl">RDDL</a> page, suitable for both machine and human use.</p>

A context is a description of some object; in it...

  1. arc to thing described at a URI. An "a href" link states another thing which is related to this thing; the address in the href is of a description of that object. The kind of the relationship is specified by either the REL or the CLASS. (allow both? or should I pick one?)
  2. arc to thing named by URI. Do we need this? You can always href to a description of it.
  3. arc to literal string. Us "a" without href? Or just use any element, eg SPAN.
  4. arc to XML-literal string. Same thing, but actually have markup in there. But in this case, it can't be "a" since "a" cannot contain itself in valid HTML.
  5. naming arc. State the URI or descriptionURI of this thing, as a string. These are really just properties.

To serialize an RDF graph this way, (1) do a clarified delabeling, (2) for each subject, do a #1 if the value is described, a #2 if it's named, and a #4 if it's a literal. No biggie, huh? No nesting or anything right now.

If we had link-to-the-thing, then we wouldn't need to use CLASS at all. Different kinds of REL=, maybe?

   You can learn more on <a href="/">the w3C home page</a>
or
   You can learn more about <a href="/">the w3C</a>

   class=predicate, rel=about?
   rel=predicate, class=direct/indirect
       address/name   vs    description


   You can learn more on <a class=name href="/">the w3C home page</a>
or
   You can learn more about <a class=description href="/">the w3C</a>

second is default, so on "a" it's "CLASS=NAME" that's magic.  It means
you're using the HREF to actually name the related thing.

    class="foaf_homepage direct"


Oop: http://www.w3.org/TR/REC-CSS2/syndata.html says

In CSS2, identifiers (including element names, classes, and IDs in selectors) can contain only the
    characters [A-Za-z0-9] and ISO 10646 characters 161 and higher,
    plus the hyphen (-); they cannot start with a hyphen or a
    digit. They can also contain escaped characters and any ISO 10646 character as a numeric code (see next item).
    For instance, the identifier "B&W?" may
    be written as "B\&W\?" or "B\26 W\3F".

so do we want ns:foo or ns_foo (needing thus ns\:foo) or ns-foo ?

Just use class, not rel


This work is being done as part of the MIT/LCS DAML Project under the MIT/AFRL cooperative agreement number F30602-00-2-0593. This work is not on the W3C recommendation track and is not the product of a W3C working group or interest group.

Sandro Hawke
First: 2002/12/16; This: $Date: 2002/12/17 05:50:02 $