Following the face to face meting in Washington on 10 July, the working group members were joined by around 20 guests from various industry sectors that stand to benefit from POWDER. A full report on the event and the discussion held is available.
This week was a chance for those who were not able to be in Washington to catch up with last week's events and resolutions. The resolution taken in Washington to link the Descriptors from the resource Set was formally rescinded for two reasons: first there is little appreciable difference in processing requirement (which was one of the motivations for the Washington resolution) and, secondly, that a Resource Set may comprise multiple Resource Sets linked by OWL Set Operators. It isn't clear how one could validate that the Descriptors referred to the intended Resource Set. Since the resolution at the f2f meeting was passed but in a relatively luke-warm way, this week's telecon decided that it should be rescinded.
There was further discussion around the issue that vexed the face to face meeting, namely the relationship between caching and the validUntil date, how a commercial content provider could manage their DRs and so on. The example was brought up of a news front page. This could change at a moment's notice, rendering the description resource inaccurate, even if the validUntil date were set for a time as short as a day. The validUntil date could be set to, say, 30 seconds hence, however, that could put a significant and unacceptable load on the servers. Therefore it was resolved that the Primer document will include a discussion of the use of the property look up feature and how this might be used to refer to the Last Modified date for a resource. That is, a DR might describe a Resource Set if and only if it hasn't been modified since a given date/time.
A relatively small number of Working Group members met for a face to face meeting in Washington on Monday 9 and Tuesday 10 July. All resolutions were taken in the knowledge, and hope, that other members would review them and make any further comment. It is anticipated that some resolutions may be rescinded in the light of such comment.
The first topic for discussion was the comments received from the Web Application Formats Working Group's comments on POWDER's Grouping of Resources document, now available as a public working draft. As a result of the comments received, it was resolved " we create a new RDF predicate that will support the kind of wildcard-based URI pattern matching used by the WAF Group in their Enabling Read Access document. This entails making some changes to the predicate names for the regular Expression predicates and adding some explanatory text but it essentially an easy add-in to the grouping document.
The group then turned to discussing the Use Cases and Requirements document. This was a relatively easy discussion since almost all the suggestions were readily accepted. Specifically:
During this discussion the group also considered the use of 'example' websites. There are instances in the UCR document and elsewhere where 'example.mobi' has been used. However, it was recognised by the group that RFC 2606 refers specifically to example.com, example.org and example.net and these will be used throughout POWDER documentation.
The bulk of the meeting was taken up discussing the Description Resources document. The ambitious hope is to get this ready to first public working draft status at the end of the month — which is not as unrealistic as it may seem since a lot of its content is set out in the WCL Incubator Report.
The group discussed the relative merits of dc:creator vs. foaf:maker. Since the latter has a range of foaf:Agent, its semantics are better suited to Description Resources and it will therefore be used. However, we'll put a note in the document that if we find a better term, we'll use it.
There was considerable discussion around the issue date for a DR and how this may differ from the date from which it is valid. An even longer debate centred on the relationship between a DR's valid until date and HTTP cache directives. As a result:
The next big topic was whether the descriptive part of the Description Resource should be linked from the DR or from the Resource Set. After many diagrams had been drawn and examples looked at, the resolution was taken that it should be linked from the Resource Set, the logic being that the descriptors describe the resources in the set. Summing all this up it was resolved: "that a DR should have a foaf:maker, dcterms:issued, wdr:validUntil date and, if appropriate, wdr:validFrom. All have max cardinality of 1. Informative text to be included encouraging use of all of these." A graph of a DR with these features (except wdr:validFrom) was generated.
The Class that contains the descriptors will be called Descriptors. The predicate linking the Resource Set to the Descriptors will be isDescribedBy which will be a sub-property of hasTag. This will have a range of rdf:resource and can therefore point to anything (such as a bunch of user-generated tags). isDescribedBy will have a range of wdr:Descriptors.
These various resolutions effectively define the structure of a DR. However, it should be noted in this public space that group members are already reviewing this structure, in particular, the resolution that the Descriptors should be linked from the RS, so there is still further discussion to be had.
The group then turned its attention to the idea of a package of DRs. The intention here is that a content provider can set up a common link across all resources that points to a package of DRs. Parsing that package yields descriptions for given resource groups. The question is whether the package has a scope and, if so, is it true that the DRs within the package MUST between them describe all the content within the package scope. Since this cannot be assured or enforced in an intelligent way, package scope will be a processing hint, not a guarantee that a given resource will be described by the DRs in a package (although it SHOULD be).
This discussion raised the issue of commercial workflow and the need for a default description. That is, the ability to encode that "resources on specific.example.org are like this, everything else on the example.org domain is like that." That's fine as long as it's true, but what about when the content changes and the description is no longer true.
Since caching is an integral part of the Web, a statement that "everything on example.org is blue and this statement is valid for a year" MUST mean just that. If a content provider changes their offering to red within that valid until period, a processor is quite within its 'rights' to use the original DR without fetching a new one to see if the colour has changed. Ancillary discussions looked at whether each different DR should have its own URI and how HTTP cache headers should be handled.
Out of this discussion came the need for a POWDER Primer. This will include advice that:
Moving on, the group resolved that as well as creating an RDF/OWL based vocabulary, an XML Schema would also be defined which DRs MUST follow. The advantages of this is that it allows XML-only processors, i.e. non-semantic systems, to make use of Description Resources and that it provides a quick validation step for all processors.
The big drawback is that it prevents a DR creator specifying his/her own sub-properties and Classes and using those instead of the POWDER vocabulary (a semantic processor would understand the relationships, an XML processor would flag a validation error).
On balance it was felt that this was a price worth paying.
The final technical discussion was the link mechanism. After considerable thought it was agreed that we really wanted to see link/rel tags like this:
<link rel="powder" href="http://example.org/powder.rdf" type="application/rdf+xml" />
In addition, it MUST be possible to link HTML documents to Description resources using RDFa.
At the end of the meeting, the group agreed that it would suggest a session on the social aspects of the Web on the agenda for the W3C Technical Plenary meeting in November.