w3future.com

Sjoerd Visscher's weblog

Last Update

10/16/2005; 1:27:41 AM

Try XHTML 2.0
Src XHTML 2.0
RDF Metadata


Site Colors

Syn Atom 1.0
Syn RSS 0.91
Syn Subscribe

CC Licensed
Geo URL
With Radio

Friday, May 30, 2003

No more Internet Explorer

As part of the OS, IE will continue to evolve, but there will be no future standalone installations. IE6 SP1 is the final standalone installation.

Legacy OSes have reached their zenith with the addition of IE 6 SP1. Further improvements to IE will require enhancements to the underlying OS. [Microsoft TechNet]

I'm no expert, but that last part doesn't seem very true. Certainly not regarding the rendering engine. If you're building websites, you'd better make sure your sites work in other browsers, because IE's marketshare is going to decline.

Thursday, May 29, 2003

Saturday, May 24, 2003

Dave Beckett joins the RDF conversation

5 people arrested and a few broken windows was the result of the ADO Den Haag “party”, and a response from Dave Beckett was the result from yesterday's post. Yes, that's the Dave Beckett from the examples, the man currently responsible for the RDF/XML syntax. He was already following the conversation, and he has pointed to “A retrospective on the development of the RDF/XML Revised Syntax”. Most of that I had already heard in his presentation at XML Europe 2003. He also has news: “the W3C's HTML and RDF people are looking at things with respect to syntax”. But now Dave's response to my post:

Sjoerd Visscher compains in Graph or triples that the RDF/XML revised syntax specification uses all the abbreviated forms. That, duh, was the point - it is the specification. If he wants examples that use a sensible portion of the syntax, look at the RDF Primer.

Hmm. So examples in a specification don't have to be sensible? That might not the smartest way to get your technology implemented. If you know that Tim Bray's problem is actually RDF/XML's number 1 problem, then why not make sure that every example you publish tries to be as clear on this problem as possible. In section 2.5 property attributes are introduced, thereby breaking the striping technique. Yet almost any example that follows keeps using property attributes.

Graph or triples

It is noisy outside, and 2 riot police cars are racing by, because ADO Den Haag has won the 1st division soccer leage. In the meantime I'm going to continue the RDF conversation.

Tim Bray wants a property element, because element names should be labels to indicate what the content is. I agree, and I think RDF does exactly that. Only on one meta-level higher than Tim Bray is thinking in. Call it an abstraction if you want. So I don't think it is needed to specify which element is a property and which a resource. If you stick to the style of writing RDF I showed yesterday, striping makes that rather easy.

<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
         xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
         xmlns:dc="http://purl.org/dc/elements/1.1/"
         xmlns:ex="http://www.example.com/terms/">
  
  <rdfs:Resource rdf:about="http://www.w3.org/TR/rdf-syntax-grammar">
    <dc:title>
      RDF/XML Syntax Specification (Revised)
    </dc:title>
    <ex:editor>
      <rdfs:Resource>
        <ex:fullName>
          Dave Beckett
        </ex:fullName>
        <ex:homePage>
          <rdfs:Resource rdf:about="http://purl.org/net/dajobe/" />
        </ex:homePage>
      </rdfs:Resource>
    </ex:editor>
  </rdfs:Resource>
  
</rdf:RDF>

Here the bold nodes are resources (or text) and the unbold nodes are properties. Notice that resource element names start with upper case letters, and property element names start with lower case letters.

Tim Bray thinks of RDF in terms of triples. Maybe that is the best way for him to visualise RDF, but I prefer graphs. Thinking in graphs probably also helps understanding the RDF/XML syntax better. You can think of the bold elements as nodes, and the unbold elements as arcs. (It's unfortunate that RDF/XML Syntax Specification uses all the shortcut syntaxes in most examples, breaking the simple striping rules.)

So maybe syntax is a problem, but RDF is cool, so if it were the only problem, then the web would already have routed around it long ago. So I agree with Dave Winer that the killer app is missing. For XR I can't find any decent examples besides extracting from XHTML and RSS. If you have suggestions for other sources of XML data, please let me know.

Thursday, May 22, 2003

RPV, Tim Bray's thought experiment

Tim Bray shows an example of his syntax for RDF. I'm not really convinced, and I find the short element and attribute names unappealing. The RDF/XML version he offers isn't very pretty either. But RDF/XML can be somewhat prettier: (I tried to follow the structure Tim used in his RPV example)

<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
         xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
         xmlns="http://www.example.com/terms/">
  
  <rdfs:Resource rdf:ID="Dave">
    <fullName>
      Dave Beckett
    </fullName>
    <homePage>
      <rdfs:Resource rdf:about="http://purl.org/net/dajobe/" /> 
    </homePage>
  </rdfs:Resource>
         
  <rdfs:Resource rdf:about="http://www.w3.org/TR/rdf-syntax-grammar">
    <title xmlns="http://purl.org/dc/elements/1.1/">
      RDF/XML Syntax Specification (Revised)
    </title>
    <editor>
      <rdfs:Resource rdf:about="#Dave" /> 
    </editor>
  </rdfs:Resource>
  
</rdf:RDF> 

I think this is not that bad. It clearly shows the triples I think. (This is called striping.) The problem with RDF/XML is not the syntax, the problem is the whole idea of serializing semantics. It's not even a problem restricted to RDF. All content in the html head element of every page on my website can either be extracted from the page, or is the same across all pages. Semantics should be extracted from the available data. So here is the XR document to extract the above RDF data from the webpage it describes:

<xr:transform 
  xmlns:xr="http://w3future.com/xr/ns/"
  xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xmlns:h="http://www.w3.org/1999/xhtml"
  xmlns="http://www.example.com/terms/">
  
  <xr:introducing>
    <rdfs:Resource xr:uriSelect="$documentURI">
      <dc:title xr:select="/h:html/h:head/h:title" />
      <editor xr:select="//h:dt[.='Editor:']/following-sibling::h:dd[1]/h:a[1]">
        <rdfs:Resource>
          <fullName xr:select="." />
          <homePage>
            <rdfs:Resource xr:uriSelect="@href" />
          </homePage>
        </rdfs:Resource>
      </editor>
    </rdfs:Resource>
  </xr:introducing>
  
</xr:transform>

You can try this out on other W3C standards pages as well with the form at the bottom of the XR homepage. Here is the above XR document.

Wednesday, May 21, 2003

XPath 2.0 sequences

One of the new features of XSLT 2.0 are the new sequences in the data model. A sequence is “an ordered collection of zero or more items”. So no surprise here, just like arrays or lists in any other programming language. But sequences are special:

  • Sequences are “flat”, they may not contain other sequences.
  • An item is equivalent to a singleton sequence containing that item and vice versa.

To a programmer, this may seem very weird. But to a non-programmer this is obvious. F.e. a sequence of one can of beer is equivalent to one can of beer. And a sequence of 2 times a sequence of 3 cans of beer is only recognizable as a sequence of 6 cans of beer. So this is a beautiful and very natural abstraction.

Yet I don't know any other language that has something like it. I've been thinking about implementing it in Loell, using the following syntax:

x    = 1            // a sequence of one item
seq1 = 1, 2
seq2 = 0, seq1, 3   // 0, 1, 2, 3
seq3 = seq1, seq2   // 1, 2, 0, 1, 2, 3
 
// lists will still be there
lst1 = [0, seq1]    // [0, 1, 2]

Tuesday, May 20, 2003

XML allows data structure design in sketching mode

Simon St. Laurent (and Tim O'Reilly) nail it. [Sean McGrath]

If you work with XML on a daily basis, but sometimes have to switch back to databases, like I do, then Simon's point is painfully obvious. I also think the restriction RDF puts on XML seriously reduces this flexibility, which makes RDF less ideal for incremental design. Time for me to plug XR again. (Which was finally noticed.)

Monday, May 19, 2003

Interdependencies and Google's page ranking algorithm.

"If you want to be in Google, you gotta be on the Web" is a lovely quote and I agree with Dave Winer's new DaveNet piece. Nevertheless, blogs are ranked higher than they should be in my opinion. The solution for Google could be to check out the interdependencies between the links. If four people independently link to a page, then that's more valuable than when 1 blog links to that page, and then 10 more blogs do the same because they read the link on that first blog. (Or f.e. because the blogposts are automatically duplicated, which is even worse.)

Interdependency is easily checked. Decent bloggers properly attribute their sources. So when a link to an article is found on page 1, and page 1 also links to page 2 that also links to that article, then the link to the article on page 1 is less valuable. (This could really use a nice drawing.)

Wednesday, May 14, 2003

CSS3 Generated and Replaced Content Module: Call For Comments

The first draft of the CSS3 Generated and Replaced Content Module was published today on the W3C Technical Reports page as a Working Draft. I am therefore now soliciting comments and discussions of this draft. Please send your review comments to the www-style public mailing list (archived) (see subscription instructions). [Hixie's Natural Log]

Yummy...

Tuesday, May 13, 2003

Highlights from XML Europe

These are my impressions after visiting the XML Europe conference last week in London:

  • RDF is still alive, but only used as describing metadata. Hardly any fancy logics stuff going on, but this still results in interesting applications.
  • XSLT 2.0 is a huge improvement, and is probably going to be one of my favorite programming languages. The specialists couldn't agree how the new strict typing will affect XSLT, but at least it allowes for big optimization improvements.
  • SVG 1.2 is absolutely the coolest. The XML format for SVG makes it the obvious Flash killer. But it might even replace HTML too. Text Wrapping was missing from previous SVG version to make HTML-like layout. And Rendering Arbitrary XML is the feature that'll make the transition easier, and much more interesting. This feature is similar to the vendor-specific "behavior" feature in HTML. (HTC in IE, XBL in Mozilla) We were also shown a demo with video, which was running beneath a semi transparent overlay, all in real-time.

And all these technologies are the most powerful when they are combined. F.e. generating sing along music sheets, which is really amazing.

Saturday, May 10, 2003

Monday, May 05, 2003

Sunday, May 04, 2003

Simple Semantic Resolution

Danny Ayers released Simple Semantic Resolution - RSS 2.0 Module.

Put simply: an element is added to the source RSS 2.0 document which declares "this is RDF, and here is the mapping".

It uses my RSS to RDF converter.

XR is based on the experience of making that XSLT converter. I'm going to make an XR transformation that will do exactly the same as this RSS to RDF converter. SSR is also something that needs to be generalised to all XML documents. A possible solution could be adding a "target mime-type" attribute to the xml-stylesheet processing instruction. It would look something like this:

<?xml-stylesheet type="application/x-xr+xml"
  target-type="application/rdf+xml"
  href="http://w3future.com/tools/xhtml2rdf.xml"?>

RDF Extraction from XML (XR)

XR (XML -> RDF) is a transformation format that indicates how RDF can be extracted from a certain XML format. Once a transformation for a certian XML format is defined, RDF can be automatically extracted from every XML file in that format.

This is a work in progress, and comments are very welcome. The documentation needs a lot of work, but I hope the tutorial and the examples will be clear enough for some to play with this.