Categories
RDF Semantics

Wolfram Alpha: What is RDF?

I asked Wolfram Alpha: what is RDF?

results asking Wolfram Alpha what is rdf

I would have been more impressed by Wolfram Alpha if at the end of its interpretation of my request, it asked me, “Was this answer correct? Was this answer complete? If not correct or complete, what do you consider RDF to be?”

I then asked the same question of Google.

Google: what is RDF

Categories
Semantics

Google searchology-Rich Snippets

Google is currently having a live presentation on changes the company is making to search. The changes are quite significant, and very impressive.

The one that caught my attention, though, is rich snippets. Google will now read and incorporate two open standards, microformats and RDFa, in its search results.

So is annotating your page with microformats and RDFa worth while now? Hell, yes! Not only is Yahoo incorporating microformats and RDFa into SearchMonkey, but now, so is Google, and as part of the general Google search functionality.

More from Danny Sullivan.

Categories
RDF Semantics

Use cases and comparison of RDFa/HTML5 Microdata

I’m now a member of the HTML Working Group at the W3C, as an invited expert. I was rather surprised at how fast the membership was accepted. Surprised and faintly alarmed. I imagined existing members sitting around in the dark, rubbing their hands together and murmuring, “Ahh. Fresh meat.”

I’ve been working with Philip in comments trying to compare RDF triples from RDFa and RDF tripes from Ian’s Microdata proposal, but this type of effort deserves a more in-depth test. I still have use cases to deliver, but the ones I’ve uploaded to the HTML WG don’t seem to be generating any discussion. Instead, I’m going to do one more document, with select use cases, hopefully ones Ian’s already covered so I can compare the RDFa approach (which were typically provided with the use cases— all the use cases were provided by RDFa folks, from what I can see), and the Microdata proposal approach.

In the meantime, Ian has renamed @property to @itemprop because of the concerns we raised. This insures that there is no overlap on terminology between RDFa and Ian’s Microdata proposal. There is a still a requirement, though, that the Microdata proposal be capable of generating the same RDF as RDFa, and that will be the next set of tests.

I’m open for suggestions as to the use cases to single out for testing. And I promise to be fair in my effort. After all, I’m a member of the W3C HTML WG now—I have a responsibility to be both objective and fair, in the interest of producing the best specification.

Categories
RDF

RDFa in Drupal core

While I’m in the process of looking more closely at the Microdata proposal, I wanted to note that today marked the end of the first day of the code sprint for incorporating RDFa into the core of Drupal 7.

Yes, when Drupal 7 hits the streets, 1.7 million Drupal web sites, and counting, will have built-in support for RDFa.

Categories
HTML5 RDF

Holding on effort for HTML5

I have discontinued my efforts to re-examine Ian Hickson’s semantic microdata use cases, as Ian has just published another use case, and added a microdata section to the HTML5 specification. (update see at end of writing)

Announcement at WhatWGNew section in HTML5 draft.

First glance:

I am not an expert at RDFa, so read what I write accordingly. In my opinion, though, I do not find this customized microdata section in the HTML5 to be compatible with RDFa. Yes, one can extract RDF out of the text, but one can’t use an RDFa extractor to extract RDF out of the page. This means that people will have to use one syntax when incorporating RDFa into XHTML1.1, and XHTML2.0, and another for HTML5.

More importantly, where now we can use RDFa in HTML5, though not “validly”, with this change in the HTML5 spec, this will no longer be possible. One specific issue is with the “property” attribute.

The property attribute is defined as follows in the new HTML5 section:

The property attribute, if specified, must have a value that is an unordered set of
unique space-separated tokens representing the names of the name-value pairs that it adds. 
The attribute's value must have at least one token.

Each token must be either:

    * A valid URL that is an absolute URL, or
    * A valid reversed DNS identifier, or
    * If its corresponding item's item attribute has no tokens: a string containing neither a U+003A COLON character (:) nor a U+002E FULL STOP character (.), or

It does seem like the last item describing valid values was cut off, and a bit garbled, so I can’t make any interpretation based on it.

Now compare this with the description provided in the RDFa specification:

@property
    a whitespace separated list of CURIEs, used for expressing relationships
 between a subject and some literal text (also a 'predicate');

A CURIE is of the form:

curie       :=   [ [ prefix ] ':' ] reference

prefix      :=   NCName

reference   :=   irelative-ref (as defined in [IRI])

Which is really tech gobbledy for a value such as “dc:title”, where “dc” is an an abbreviation for the vocabulary namespace, in this case the Dublin Core namespace of “http://purl.org/dc/elements/1.1/”.

According to the HTML5 spec, the use of the CURIE is invalid in HTML5. Depending upon how parsers handle invalid attribute values, the use of the CURIE could actually generate an HTML error, because the HTML5 specification requires that the value either be a full URI, or reverse DNS identifier, such as com.java.somevalue.

In addition, we can’t use RDFa parsers on the HTML5 markup, because the RDFa specification specifically states that property attribute values must be in the form of CURIEs, and anything else is ignored, as Ian notes in the WhatWG announcement of his customized microdata format handling:

An alternative is to go back to the non-URI class names we had above. This doesn’t break compatibility with the RDFa processors, because when there is no colon in the property=”” or rel=”” attributes, the RDFa processors just ignore the values (this is the “no prefix” mapping of CURIEs).

According to the RDFa syntax specification, RDFa does not define a ‘no prefix’ mapping, meaning that this form of CURIE is not supported. If the value is ignored, than whether it would break RDFa parsers is moot, because what value is there to running such a parser against a page that would return no data?

Ian’s philosophy on the use of CURIEs is that these are too hard for people to understand. However, I think that people would have an easier time with them, then they would a reversed DNS identifier, which is a pure code construct made popular in certain programming languages.

There are other what I consider to be significant dissimilarities between the HTML5 proposal, and RDFa, but I’ll hold on these for now. I’d like to see what the RDFa community has to say on the new specification addition before I go further in examining the HTML5 proposal.

Ian has provided some code which seemingly extracts RDF triples out of his own customized microdata format. Will the format hold up under rigorous testing with other test cases that have had successful results in the RDFa space? I don’t know. Regardless, I do know that all of the technology that has been adapted for use with RDFa will not work with the HTML5 microdata, and whatever works with HTML5, will not work with RDFa.

I’ve heard from someone in the RDF space who thinks the HTML5 specification is “close” to RDFa, and only needs a few tweaks. I lack the experience, or perhaps the foresight, to see the same degree of similarity. And this leads me to question whether I should continue with my own re-visiting of the use cases.

I had said once before that I am willing to put the work in, if I felt it would add value to the effort. I hope I will be forgiven for believing that my work won’t impact on the direction the HTML5 editor takes. This wouldn’t be an issue, so much, if I also felt my efforts were of value to the RDFa community. I have not received any indication from the RDFa community that they see my continuing efforts as beneficial. So, I’m not necessarily completely discontinuing my effort, but I am putting it on hold, until I ascertain whether my efforts are beneficial or not.

Update

I just sent the following to the HTML comment list, and the What WG list:

Sorry for the double emails today.

I will continue with revisiting the use cases for the microdata section. One additional component I’ll add to the use cases is applying my interpretation of how RDFa might handle the use case, as compared to how it could be handled with Ian’s new HTML5 microdata proposal. This will, of course, slow me down a bit.

Note, though, that I don’t claim to be an expert on either RDFa or Ian’s new microdata proposal. My hope is that if I make a mistake, or I’m not clear, folks will respond to my writing with corrections and/or additions. The purpose behind my effort is to open discussion. I will admit, though, that I do have a bias for RDFa, primarily because this is something that’s real, today, and that I can use, today.