- From: Ben Adida <ben@mit.edu>
- Date: Sun, 22 Jan 2006 19:36:47 -0500
- To: Guus Schreiber <schreiber@cs.vu.nl>
- Cc: SWBPD list <public-swbp-wg@w3.org>, public-rdf-in-xhtml task force <public-rdf-in-xhtml-tf@w3.org>
Guus, Yes, we would like to ask the working group to approve moving the RDF/ A Primer to Working Draft status. We'd like to spend the 3-month extension to continue to get feedback from the WG and to add more examples. If this vote can be squeezed into tomorrow's telecon agenda, that would be fantastic. -Ben On Jan 22, 2006, at 7:32 PM, Guus Schreiber wrote: > > Ben, > > Areyou in a position to propose the draft for WG publication? > > Best, > Guus > > > Ben Adida wrote: >> Gary, >> Thanks very much for your comments. >> Please find the task force's responses below. Note that the >> responses from Section 1 (Overall Organization) are from me >> alone, while the responses to Section 2 (Design of RDF/A itself) >> are the result of task force discussions from this week's >> telecon. We did not have time to cover Section 1 in our telecon, >> so, as the primary author of the Primer, I take it upon myself to >> answer those organizational questions. The conceptual questions >> were discussed with everyone. >>> It is a nice piece of work with clear intentions and examples. The >>> principle of not duplicating content and embedding RDF content in >>> a way >>> browsers can extract is clearly articulated. The proposal with >>> individual examples surrounding the photos and camera use case, plus >>> showing their RDF equivalent is very informative. >> Thanks! >>> 1) Overall Organization >>> ======================= >>> >>> Would it be beneficial for the reader to have some brief >>> introduction on >>> basic constructs, before diving into how they are used in the >>> use case? >>> I found it difficult to follow the examples without first have an >>> overview understanding of (or knowing the boundary >>> surrounding...) the >>> number of ways in which RDF can be specified, and using which >>> constructs. >>> >>> For example, mid way through the doc, I found myself asking the >>> question: >>> >>> - "How about annotating tables, frames, forms and dynamic >>> content >>> from scripts producing menus and flash?" >>> >>> - "How do I create chains of triples?" For example, an >>> address of a >>> person (Mark in the example), represented by an annoymous node, >>> which in >>> turn has statements specifying triples making up the address. >>> >>> These were answered after checking the RDF/A Syntax [1]. In fact, >>> the >>> primer could effortlessly include these concepts only with a little >>> introduction to the constructs. >> We wrestled with this a bit, and we chose to keep the RDF/A >> Primer short and example-focused, leaving the syntax description >> to the RDF/ A Syntax Document. The RDF/A Primer is definitely not >> meant to be complete, but rather to give a taste of what RDF/A >> can do for you. If the Primer raised questions that led you to >> the syntax document, then that is a successful Primer, in my >> opinion. >> Mark Birbeck is working on a set of even simpler examples to >> target the blogging community. These would help introduce simple >> metadata for HTML authors, before we even bring in RDF triples. >> I'll talk more about this at Monday's telecon. >>> 1.1) In the preliminaries, the following sentence may provide some >>> initial context to the reader. >>> >>> "An XHTML document marked up with RDF/A constructs is a >>> valid XHTML >>> Document. RDF/A is about using XHTML compatible constructs and >>> extensions to specify RDF 'content'. It is not about embedding RDF >>> syntax into XHTML documents." >> Good suggestion. We'll work this into the Primer. >>> 1.2) With regards to the above questions I had while reading, I >>> suggest >>> a small section right up front to introduce the basics, possible >>> with >>> some simple examples from Section 3: >>> >>> "id" and "about" - These are equivalent to rdf:id and >>> rdf:about. >>> They can appear as xml attributes in any XHTML constructs, >>> including UL, >>> LI, DIV, BLOCKQUOTES, P ... etc. They essentially declare a rdf >>> subject >>> for constructing RDF/A statements, either locally within one >>> document, >>> or made reference-able from other documents in the case of "id". >>> >>> "link" and "meta" - These are the main constructs to create >>> rdf/a >>> statements. Link is used to create a relationship to another URI >>> resource, whereas meta is used to attach literal properties. These >>> constructs can specify its own subject using "about", or they >>> take the >>> immediate parent XHTML element's "about" as subject. In the case >>> where >>> the immediate parent does not have qualifying URI, the subject is an >>> anonymous rdf node. In the case where the immediate parent is a >>> link/meta element without an "about" URI, this statement reifies the >>> parent statement. >>> >>> "anchor" and "span" - These are alternative constructs to >>> create >>> rdf/a statements. While anchor can be used instead of link, span >>> can be >>> used instead of meta. Their difference to link and meta is that >>> anchor >>> and span applies to an 'inherited' rdf subject. The nesting >>> inheritance >>> is identical to how xmlns attribute is inherited within an XML >>> document. >>> If the nesting chain does not contain a qualified subject, the >>> document >>> itself is the subject. These constructs allow the RDF content to >>> somewhat follow the presentation of the content and thus avoid >>> duplication. >>> >>> Both meta and span each have two ways of specifying the >>> associating >>> literal value. One is reusing what would also be displayed (the >>> CDData >>> of the element): >>> >>> <[span|meta] property="dc:date" type="xsd:date">2006-01-02</ >>> span> >>> >>> The alternative is to use the 'content' attribute, where >>> the value >>> is not the the CDData and thus it is not displayed as well as being >>> different to the CDData. >>> >>> <[span|meta] property="dc:date" type="xsd:date" >>> content="2006-01-02">XYZ</span> >>> >>> In the latter case, if there is no CDData to display, this >>> effectively attaches a piece of RDF that does not have any >>> presentation >>> consequence. This symmetry is also observed with link and anchor. >> This is very useful text, but it seems much more appropriate for >> the RDF/A Syntax document. The Primer's role is really to >> introduce RDF/A to an HTML audience that isn't expected to know >> much about RDF in the first place. Jumping into a description of >> all the RDF concepts up front seems a bit much for a Primer. >> Again, I do think this is useful for the Syntax document, though. >>> 1.3 Perhaps the primer should be arranged with a target reader >>> in mind. >>> For example, to arrange from the point of view of an HTML author >>> wanting >>> to find out how to add annotations to his/her docs, in the >>> quickest time >>> possible. >>> >>> Primer How-to: >>> >>> A) say something about the Doc itself - >>> >>> => essentially already in the examples within Section 3. >>> . examples on link and meta, >>> . examples on span and anchor, >>> >>> B) declaring individual elements contained in a doc, and say >>> something >>> about them: >>> >>> . Adding an id, currently embedded within section 4.3 >>> . The use of about, currently embedded within section 4.2 >>> . Then the usual way like above (A) to add metadata. >>> . Refering back to an id within the same doc. >>> . Refering an id in a different doc. >>> >>> C) say something about external content that the author has no >>> control >>> over >>> >>> => Currently 4.1 >>> . Annotating href links, >>> . Annotating opague objects: images, scripts, objects >>> >>> D) Advanced Metadata >>> >>> . using "link" and "meta" with unqualified XHTML elements, >>> creating >>> chains of triples. >> Yes, this is exactly what we're trying to do with the added >> examples that Mark is developing. The only difference is that >> we're going to stay away from talking too much about RDF graphs, >> and rather gently guide the HTML author from adding simple >> properties to adding more complex RDF statements. >>> 1.4 Section 4.3 Qualifying chunks of document. >>> >>> The title doesn't quite match the content here. The content is >>> about how to declare elements and metadata (of individual >>> cameras on one >>> page) for other documents (photo album pages) to reference using >>> ids. It >>> is still talking about annotating individual items (Cameras) in the >>> document, and not chunks of document as a whole. >> A good point. Again, I wonder how much HTML authors will really >> differentiate here, but the language should be clear >> nevertheless. I'll work on this. >>> 2) RDF/A itself. >>> ============================= >>> >>> I must say at first glance I found the approach extremely >>> confusing. RDF >>> Mark up mixed with presentation markup such as <H1 >>> property="dc:title">. >>> But I appreciate that there aren't that many choices to avoid >>> duplication of content, and to allow RDF markup within an orthogonal >>> presentation structure. >> Yes, there is bound to be some confusion at first. We're >> certainly trying to minimize it - thus the limited scope of this >> primer. Hopefully, by the time you finished reading the document, >> you were less confused. But let us know if there are additional >> things we can do (beyond your comments here) to reduce this >> confusion. >>> 2.1) Synchronization issue between metadata on a doc, versus the >>> metadata contained within that doc itself. >>> >>> Images, files and other media will have their own metadata >>> embedded >>> in the future. Certainly another html document will have its own >>> metadata. If RDF/A allows metadata to be added locally about a >>> remote >>> URL, potentially the local metadata could be out of sync, or worse >>> contradict the metadata embedded within the resource itself? >> This is indeed an issue of concern, though it appears to be one >> that applies to all RDF serializations, including RDF/XML. >> Methods for resolving such inconsistencies should be devised at a >> general RDF level. >>> 2.2) Consistency >>> >>> I suspect there may already be an answer to this: Why are we >>> not >>> using rdf prefixed attributes for RDF/A elements/attributes? rdf:id? >>> rdf:about? rdf:property, rdf:resource, rdf:description? This >>> relates to >>> Pat's [2] comments about future migration from RDF to XHTML too. >> The most important point here is that the task force tried hard >> to use RDF/XML syntax for RDF/A, but this failed because of RDF/ >> XML's striped syntax. Note also that reusing existing HTML >> attributes turns out to make for a very good migration path for >> HTML authors (who constitute the main target of this work.) >> As per our response to Pat's comments, the right way to migrate >> large chunks of RDF/XML into HTML is to use a <link rel="meta"> >> element. The hard part of the migration requires determining >> which rendered data corresponds to which RDF property, and no >> amount of syntax can help there: it's a semantic merging operation. >>> 2.3) How about inheriting metadata through nested elements? >>> >>> > In [2] Pat Hayes wrote: >>> > >>> > Also, giving an id to a whole RDF (sub)graph fits naturally >>> > with the 'named graph' idea, unlike giving an id to every triple. >>> > >>> >>> This is interesting and would qualify as "Qualifying chunks of >>> document". For example, using some special non-presentational XHTML >>> elements to "group" metadata together? >> There may be a misunderstanding here. There *is* nesting in RDF/ >> A: you can inherit the about attribute as far up/down the DOM >> hierarchy as you'd like. Is that what you're after? >>> 2.4) The <img> element not allowing child elements makes the >>> whole RDF/A >>> approach rather uneven. Is <img> the only XHTML element that does >>> not >>> allow child element? could XHTML2 be changed to allow these meta >>> data to >>> be the solely allowed child elements? >>> >>> <li> <img src="/user/markb/photo/23456" />, >>> <span about="/user/markb/photo/23456" property="dc:title"> >>> Sunset in Nice >>> </span> >>> </li> >>> >>> Why don't we use the same approach instead of using <span>? >>> >>> <img src="/user/markb/photo/23456" property="dc:title"> >>> Sunset in Nice >>> </img> >>> >>> of ocurse this now the subject is src="". But we can still >>> make this >>> work to say for img, the "about" is the "src" attribute. See 2.5 >>> below. >> This turns out to be one of our outstanding issues that we are >> still finalizing. [1] >> We are currently leaning towards the syntax you mention, where >> the content of an image element could include metadata about that >> image and the SRC attribute would be the subject. Steven is >> checking with the XHTML working group to ensure that this does >> not cause any unforeseen complications. However, what's important >> to note is that, even if this syntax is adopted, the "Sunset in >> Nice" text in your above example would only be rendered in a >> browser if there is a failure to load the image. >> This seems consistent with the fact that the image is really an >> external resource, and any internal HTML element value should >> really be considered an ALT tag from the point of view of >> rendering. Note that the same would apply to OBJECT elements. >>> 2.5) Flexible subject/object referrals suggestion. >>> >>> Motivation 1: >>> >>> One thing that RDF/A has not considered is the annotation of >>> HTML >>> forms. Imagine sofware agents understanding the form semantically >>> and >>> automagically carryout complex form filling (beyond username, >>> passwords >>> and personal information) on behalf of the user. I believe forms' >>> annotations will be extremely important for the semantic web. >> Forms annotation is indeed important, and is already possible >> with the current RDF/A. Remember that any XHTML element can be >> annotated. What we should do is add an example in the primer to >> show how this can be done, something along the lines of (this is >> XHTML1, just to explain the principle): >> ====== >> <form method="post" action="/foobar"> >> <meta property="dc:description" content="Login Form" /> >> <input type="text" name="username"> >> <meta property="dc:title" content="username" /> >> </input> >> ... >> </form> >> ======= >> With proper annotations, browsers could become much smarter about >> what they do with these forms, as you mention. >>> Motivation 2: >>> >>> The use of content, href, about, id, are ways to specify the >>> subject and the object/value of the rdf statements. I feel that >>> they are >>> somewhat restrictive, especially when the author acknowledges >>> that there >>> are still some unavoidable duplication of content. >>> >>> To further reduce duplication of URIs and literals, as well >>> as to >>> cater for annotating HTML forms in the future, it would seem a more >>> flexible approach may be possible. >>> >>> Assuming the subject and object of the rdf statement can be >>> taken >>> from existing XHTML (or XML) element attributes, one can completely >>> avoid duplication by 'referring' to those attributes from >>> another, for >>> example: >>> >>> . <img src="http://....." attrAsStmtSubject="src"> >>> >>> . Normally the attrAsStmtSubject defaults to "about" and "id" >>> >>> . <a href="http://....." attrAsStmtObject="href"> >>> >>> . Normally the attrAsStmtObject defaults to "href" and thus >>> could >>> be unspecified. >>> >>> . Similarly attrAsStmtValue="content", >>> attrAsStmtValue="CDData", or >>> any other attributes/text element. >>> >>> Although I have not worked out the details, but I believe >>> these >>> three new attributes (attrAsStmtSubject and attrAsStmtValue/ >>> Object) are >>> compatible with RDF/A concepts, and I believe they will allow >>> forms to >>> be annotated without much content duplication. >> The task force feels that much of the motivations for these >> changes could be accomplished without any additional complexity >> (see form annotation above). Certainly, your suggestion would >> further reduce data duplication, but only with significant added >> complexity in RDF/ A. Extracting triples would become far more >> complicated, as the values of certain attributes would affect the >> actual parsing of the rest of the document. Thus, at this point, >> we would not want to adopt this recommendation. >> Thanks for some very useful and insightful comments. Please let >> us know if these answers give rise to new questions. >> -Ben Adida >> ben@mit.edu >> [1] http://www.w3.org/2001/sw/BestPractices/HTML/2005-current- >> issues#src > > -- > Free University Amsterdam, Computer Science > De Boelelaan 1081a, 1081 HV Amsterdam, The Netherlands > Tel: +31 20 598 7739/7718; e-mail: schreiber@cs.vu.nl > Home page: http://www.cs.vu.nl/~guus/ >
Received on Monday, 23 January 2006 00:37:00 UTC