Copyright © 2005 W3C ® (MIT, ERCIM, Keio), All Rights Reserved. W3C liability, trademark, document use and software licensing rules apply. Your interactions with this site are in accordance with our public and Member privacy statements.
Need to write an abstract here
This section describes the status of this document at the time of its publication. Other documents may supersede this document. A list of Final Incubator Group Reports is available. See also the W3C technical reports index at http://www.w3.org/TR/.
This is a preliminary draft designed to act as a focus for discussion by the group. That discussion has yet to take place and the contents of this document must be seen as temporary.
This document was developed by the W3C Content Label Incubator Group.
Publication of this document by W3C as part of the W3C Incubator Activity indicates no endorsement of its content by W3C, nor that W3C has, is, or will be allocating any resources to the issues addressed by it. Participation in Incubator Groups and publication of Incubator Group Reports at the W3C site are benefits of W3C Membership.
As set out in the charter, the group looked for "... a way of making any number of assertions about a resource or group of resources." Furthermore "... those assertions should be testable in some way through automated means."
fwiw, I think we should revisit what "testable" means - i.e. an assertion that I wrote a document is not "testable" as such but is an assertion that we need to be able to make within the scope of what we are trying to do.
also fwiw, I think that we need to be clear what we mean by automatic testing. We definitely mean that the assertions need to be expressed in a form that an automated tester - or any automated process - can parse effectively. We do not mean, imo, that assertions that are not open to automatic verification are not valid assertions. As Paul often points out, the WAI stuff is partly testable.
Further, imo, I think we need to introduce the concept of verification, verifiable, authentic and so on.
summary: I think we need to include a section on refinement and clarification of charter following the study the group has put in
In addition to its original sponsors, the XG attracted participation from AT&T, AOL Inc., the Center for Democracy and Technology, Centre Virtuel de la Connaissance sur l'Europe, the Internet Association of Japan, Maryland Information and Network Dynamics Lab at the University of Maryland, Opera Software and RuleSpace. The diverse membership reflects a widely recognized need to be able to "label content" for various purposes. These range from child protection through to scientific accuracy, from the identification of mobile-friendly and/or accessible content to linking of thematically-related resources.
Initial work focused on revising and improving the use cases given in the charter, and the derivation of high level requirements from them [use]. Based on that work, the group was able to create a more detailed set of requirements and definitions that are more readily expressed in technological terms.
Editor's note: Add more when possible about the tech used here, where RDF is appropriate, where it is not etc.
Is there need for discussion the above plus SysArch etc. and the other stuff that actually gets done, as well as work that is yet to be done. Need for reference to use cases?
assertion - the expression of an opinion at a point in time using a defined vocabulary about a resource or set of resources and optionally their directly or indirectly linked resources.
resource - the result of dereferencing a URI
vocabulary - a set of named properties are applicable to an aspect of [experiencing] a resource or to the resource itself, together with the data type of the values that those properties may assume and optionally a constrained list of such values. i.e. it defines the possible values the meaning and relationship of x and y in the statement "The value of property x in respect of Resource R is y"
Note to self mainly, if x has primarily boolean values true/false should it also be possible to code for "unknown", "indeterminate", "partly true".
Certificate -
Trustmark -
Validation
Claim- an assertion that is subject to validation
and so on ...
vocabularies also need encoding. So do validation statements.
vocabularies need identifiers and resolution mechanisms.
It is not necessary for a cLabel to consist of assertions that are made by different entities. [i.e. a cLabel is the expression of opinion of only one party per f. above and there is no foreseen requirement to group labels from more than one party]
The requirements above can be expressed in a more programmatic way as follows. A Content Label (cLabel) can carry a variety statements such as:
cLabel { That resource R has the property P1 is true That resource R has Property P2 that has value V That resource R meets WCAG 1.0 AA is true That resource R was created in accordance with satisfactory procedures is true }
I think that labels, metadata validity statements and possibly individual assertions need unique and unambiguous identifiers?
Where R may be either a single resource identified by its own URI or a group of resources.
Think that the resource R cannot only be identified by its URI it may also need identification by its creation time (or version). An assertion is made at a specific point in time about a specific version of a resource. It may be that in practice you can tell whether the assertion matches the current version of the resource by looking at the creation time of the label and the creation time of the resource and if the latter is later than the former, then the label is inapplicable. But this in turn introduces the question of whether in some cases (like the Kai-Dietrich get out clause) that the label refers to no particular version of the resource it refers to the way in which resources are created.
A URI may stand in for a group of resources, as follows:
The assumption here is that if, for example, the definition of WCAG 1.0 AA is looked up, it will be seen that it includes WCAG 1.0 A plus a several atomic statements. The cLabel makes the basic statement, the data that a client looks up reveals the semantics of the data and perhaps how it relates to other elements.
Further, it is necessary to be able to make statements like:
metadata { cLabel was created by $organization { has the e-mail address mail@organization.org has a homepage at $url has a feedback page at $URL ... } cLabel was created on $date cLabel was last reviewed by $person }
Finally, it is necessary to be able to send a real-time request to $organization seeking automatic confirmation that it was responsible for creating the cLabel, i.e. authenticating the label and the claims made.
Also need to be able to make statements like:
validity { metadata and cLabel verified by $organization { has email sss ... } verified on $date}
We could a) define a specific architecture, or; b) give one or more examples of how cLabels can be used and authenticated.
The Quatro model provides on example, actually on example with three variants. See http://www.quatro-project.org/howto/Default.htm#s4
Other options include Chris Bizer's work on TriQL.P Trust Architecture
The PRIME Project This is more about identity than trust as such
Jen Goldbeck's Trust on the Web project, Film Trust etc.
And we could posit the general statement that cLabels constitute a single data point that could be used in any framework.
Need to be able to do simple things like embed labels in their metadata and embed that metadata in the content that they refer to.
Do the above cited requirements cope with the requirements and the following actors?
Roles may be shared by single actual entities. Multiple actual entities may share roles. Entities may be human or automated.
Content Creator - A creator of content
Content Label[l]er – Entity that expresses an opinion about content. May be the content creator
Portal Provider – Entity that serves content to end user.
End User – Entity that ultimately consumes content
User Agent - A means of retrieving and rendering Web content for End Users mediated by the use of labels.
User Agent Provider - Entity that provides a tool that renders, decorates or otherwise differentiates content on the basis of label information.
Vocabulary Provider – Entity responsible for creation and maintenance of vocabularies
Certification Provider – Entity that verifies the claims of a content provider.
Search Provider – Entity that provides a tool or service that uses [in whole or in part] the content of labels to discriminate content.
Can we do this in two ways?
The RDF model - how to express cLabels, cLabel metadata and how to express defaults and overrides.
Key question remains: how to group URIs. There was a discussion about this between Sandro Hawke and Dan Bri on the public mailing list. Essentially we need:
We must be mindful of SPARQL's abilities here. http://www.w3.org/TR/2006/WD-rdf-sparql-query-20060220/#SparqlOps looks relevant.
Sando also offered...that an application specific approach like:
<http://www.w3.org/> rdf:type icra:ChildSafeSiteTree.
seems fine, and in the presence of suitable rules could generate
<...> rdf:type irca:ChildSafe.
as necessary. The rule might be:
if icra:ChildSafeSiteTree(y) y.uri = prefix x.uri.startsWith(prefix) then icra:ChildSafe(x)
RDF-CL offers this kind of approach already:
<label:Ruleset> <label:hasHostRestrictions> <label:Hosts> <label:hostRestriction>example.org</label:hostRestriction> </label:Hosts> </label:hasHostRestrictions> <label:hasDefaultLabel rdf:resource="#label_1" /> </label:Ruleset>
Where "label_1" contains the actual descriptive claims.
How about something based on the P3P methodology - it's XML, not RDF, based and has a separate Policy Reference File that tells an agent where to get the actual policy for a given URI, then you get the actual policy (label). The example Policy Reference File (confusingly for those us with a PICS background called a PRF)looks like this:
<META xmlns="http://www.w3.org/2002/01/P3Pv1"> <POLICY-REFERENCES> <EXPIRY max-age="172800"/> <POLICY-REF about="/P3P/Policies.xml#first"> <INCLUDE>/*</INCLUDE> <EXCLUDE>/catalog/*</EXCLUDE> <EXCLUDE>/cgi-bin/*</EXCLUDE> <EXCLUDE>/servlet/*</EXCLUDE> </POLICY-REF> <POLICY-REF about="/P3P/Policies.xml#second"> <INCLUDE>/catalog/*</INCLUDE> </POLICY-REF> <POLICY-REF about="/P3P/Policies.xml#third"> <INCLUDE>/cgi-bin/*</INCLUDE> <INCLUDE>/servlet/*</INCLUDE> <EXCLUDE>/servlet/unknown</EXCLUDE> </POLICY-REF> </POLICY-REFERENCES> </META>
First named editor of the P3P spec is Lorrie Cranor who was then with AT&T, now at CMU.