Home

Specifications

Schema

Commentary

Mark Wahl


Web Design by
Kristen Lanum

Commentary by Mark Wahl, CISA

Organizing principles for systems:
Identity schema element metadata in RDFa (20070906)

I've uploaded two specifications for review by the Identity Schemas working group of Identity Commons and the OpenID specifications discussions mailing list.

The document "Identity Schema Element Metadata: Basic Retrieval" defines a procedure by which a retriever can obtain a description of an identity attribute type, an identity claim type, or an identity schema, from a web site. This procedure is applicable for some InfoCard claim types, OpenID AX attribute types, and SAML attribute types. The returned metadata of the identity schema or schema element is described using RDF and is encoded in RDF/XML or RDFa.

The document "Identity Schema Element Metadata: Existing Specifications" specifies how existing RDF predicate definitions can be used for describing identity schemas and schema elements.

Still to be published is "Identity Schema Element Metadata: New Specification", which defines the predicates for the identity schema metadata for which there is no suitable existing specification.

An example RDFa-encoded identity schema is this XHTML, with the RDFa markup in bold

<?xml version="1.0"?>
<html xmlns="http://www.w3.org/1999/xhtml"
      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:owl="http://www.w3.org/2002/07/owl#"
      xmlns:higgins="http://www.eclipse.org/higgins/ontologies/2006/higgins.owl#"
>
<head about="">
 <title property="rdfs:label">Example schema containing two attribute types.</title>
 <meta property="rdfs:comment" xml:lang="en" content="This schema has two attribute type definitions: patronymic and age." />
 <meta property="owl:versionInfo" xml:lang="en" content="$1.1$" />
 <link rel="rdf:type" href="http://www.w3.org/2002/07/owl#Ontology" />
 <link rel="owl:imports" href="http://www.eclipse.org/higgins/ontologies/2006/higgins.owl" />

</head>
<body>
 <ul about="#patronymic">
  <li><span property="rdfs:label">Patryonymic</span></li>
  <li>This is an <a rel="rdf:type" href="http://www.w3.org/2002/07/owl#ObjectProperty">OWL ObjectProperty</a>.</li>
  <li>This is a sub-property of a
   <a rel="rdfs:subPropertyOf" href="http://www.eclipse.org/higgins/ontologies/2006/higgins.owl#attribute">Higgins attribute</a>.</li>
  </ul>

 <ul about="#age">
  <li><span property="rdfs:label">Age</span></li>
  <li><span property="rdfs:label" lang="de">Alter</span> (German)</li>
  <li><span property="rdfs:label" lang="fr">&#xC2;ge</span> (French)</li>
  <li>Comment: <span property="rdfs:comment">How old a person is (in years)</span></li>
  <li>This is an <a rel="rdf:type" href="http://www.w3.org/2002/07/owl#ObjectProperty">OWL ObjectProperty</a>.</li>
  <li>This is a sub-property of a
   <a rel="rdfs:subPropertyOf" href="http://www.eclipse.org/higgins/ontologies/2006/higgins.owl#attribute">Higgins attribute</a>.</li>
  </ul>
</body>
</html>

Also, I uploaded a revised draft of the specification "Language Tags for OpenID Values". That document defines a mechanism by which a party in an identity system using the OpenID protocols can associate a language tag with a string. The input to the mechanism is a language tag and a string value. The output from the mechanism is a UTF-8 encoding of a combination of the language tag and the value.