What does it mean to “implement RDF” or “conform to RDF”?


Gavin quoted Norm Walsh the other day as saying that his fridge conforms to the XML Infoset specification, because that spec doesn't have any conformance requirements.

Now the good news is that Norm's fridge apparently also supports RDF.

My understanding is that a “well-formed” specification identifies a certain class of artefacts, and then states requirements (often using MUST, SHOULD, MAY etc) that these artefacts have to meet in order to conform to the spec. Alternatively, the spec may define a completely new class of artefacts. For example it may define the class of “XML documents”, and define in detail what is and isn't an XML document. All this is usually spelled out in a section called “Conformance”.

Now for some specs these things are so obvious that there's little benefit in pointing them out explicitly. The Turtle spec defines the Turtle language — a class of documents. It also defines a Turtle Parser or Turtle Processor, which is a software system that turns a Turtle document into RDF graphs.

I've tried to wrap my head around what this could mean for RDF Concepts, and here's what I came up with. I've added this to the spec's Conformance section:

This specification, RDF 1.1 Concepts and Abstract Syntax, defines a data model and related terminology for use in other specifications, such as concrete RDF syntaxes, API specifications, and query languages. Implementations cannot directly conform to RDF 1.1 Concepts and Abstract Syntax, but can conform to such other specifications that are based on the RDF data model.

Another specification conforms to RDF 1.1 Concepts and Abstract Syntax if it defines operations in terms of RDF graphs or RDF datasets, and if any use of terminology defined in normative sections of RDF 1.1 Concepts and Abstract Syntax is consistent with its definitions and conformance requirements.

If this goes against anyone's intuition about what “conforming to RDF Concepts” or “implementing RDF Concepts” should mean, then please speak up and I'll try to fix it.


Received on Thursday, 10 May 2012 22:02:57 UTC