Author

Ideas on operational equivalence for the semantic web

By Simon Grant, 2007-03-30

Background and motivation

This proposal arises in response to current work on frameworks of skill / competence / competency. (Here and for these purposes, these terms are used in broad and equivalent senses.) For skills definitions to be useful, they must be usable across contexts. If the skills acquired in education are able to be used in employment, it makes sense for the definitions used in educational contexts to be usable also in employment contexts. There are already very many informal definitions of skills frameworks, and for these to become semantically interoperable, either a common vocabulary of identifiers needs to be used, or there has to be some way of indicating equivalence between the different identifiers in use.

More background is available in other papers, e.g. the paper written for the TEN Competence workshop in Sofia, 2006 the paper written for the TEN Competence workshop in Manchester, 2007 and this work on competencies for XCRI.

The fundamental idea is to make it easy for anyone to assert equivalence between two skill definitions.

Supporting concepts

Transforming XML files or fragments into sets of triples

Loosely, here an XML fragment is taken to be the element tag referred to in the URI, normally using a "#" character in the URI and an "id=" attribute in the XML document, together with its matching closing tag and all the XML in between.

There is much now written on RDFa, a kind of more serious, RDF compatible version of microformats. See a comparison here. There is the W3C's primer, the W3C's syntax, a nice introduction by Bob DuCharme, and even a blog about RDFa.

In outline, RDFa presupposes methods of extracting RDF triples from any XHTML. Already, triples can be extracted reliably from RDF/XML in many RDF tools, and it seems likely to be straightforward to extend the RDFa approach to any suitably marked-up XML.

The important thing to be aware of is that mapping XML to RDF triples is in general a many-to-one mapping. There are an indefinite number of ways of representing a triple even in XML/RDF, let alone more general XML or XHTML using RDFa. But using RDFa (rather than Microformats) is likely to ensure that there is only one set of triples for any XML file or fragment.

While RDFa could be the default way of extracting RDF from XHTML, there need to be other ways for other file formats, and in case RDFa is not suitable. The proposed approach in these cases is to have, in each file, a link to the definition of a method for extracting RDF from that file. In general, for extracting RDF from XML files, the method could be expressed as an XSLT file.

How could equivalence be stated explicitly?

This is the essential core of these ideas.

We assume that a skill definition can be represented either by a URI which resolves to an XML file following one or other interoperability specification, or that it is part of a larger file (e.g. an ontology) but is uniquely identifiable as an XML fragment with a URI with a fragment identifier.

In each case, stating equivalence explicitly would be carried out by including something that expresses the triple

subjectpredicateobject
This definition equivalence predicate URI of other definition

One obvious equivalence predicate is the OWL predicate owl:sameAs. At this stage I believe that this is not the best approach. Better to leave owl:sameAs meaning just that - it is the same thing, just another copy of it. We need another separate predicate for operational equivalence.

Operational definitions

Equivalence of sets of triples, or RDF graphs
This is just to reference an existing concept, which may not be needed here. See http://www.w3.org/TR/rdf-concepts/#section-graph-equality
Equivalence of RDF triples
RDF Triples are here considered equivalent iff each of the subject, predicate and object are equivalent.
Equivalence of URI references
URI references, including RDF triple properties in RDF URI form, are here considered equivalent if they are:
  1. character-by-character equal;
  2. considered equivalent in terms of this W3C issue and by this discussion by Tim Bray referenced in it;
  3. they resolve to XML files or fragments which are equivalent in terms of these definitions.
Equivalence of XML files or fragments
Two XML files or fragments are here considered equivalent if:
  1. they are character-by-character equal;
  2. they are able to be transformed into an equivalent set of triples.
  3. they both contain recognisable statements that the other one is equivalent to it.
Equivalence of sets of RDF triples
Two sets of RDF triples are here considered equivalent iff for each triple in one set there is an equivalent triple in the other set.
Equivalence of literals
Two literals are equivalent if they are character-by-character equal.
There should be the possibility of multilingual literals. If there were, then two literals would be equivalent if there is at least one pair of literals that are equal and in the same language, and all pairs of literals in the same language are the same as each other.
(There may be other additional criteria of equivalence.)