QCodes in a Nutshell
<<< QCodes home page | QCodes' Home | QCodes in the Semantic Web context >>>
1. The term QCode stands for Qualified Code.
2. A QCode is a short format for a URI (RFC 3086) or IRI (RFC 3087) which identifies a Semantic Web resource. (Any references to URI below includes IRI.)
3. The IPTC refers to a Semantic Web resource as a Concept and to a URI which identifies that Concept as a Concept URI.
4. The IPTC design for Concepts, their URI identifiers and for vocabularies of Concepts is:
4.1. Each Concept URI is a member of one and only one CV.
Be aware: a Concept may be included in many CVs, using different Concept URIs. (Use case: a widely known celebrity may appear in different vocabularies managed by different owners.)
4.2. Each CV has a globally unique CV URI as its identifier.
Example: the IPTC Media Topic CV has http://cv.iptc.org/newscodes/mediatopic/.
4.3. Each Concept which is a member of a CV has a Code Value in that CV.
Example: the concept "theatre" in the IPTC Media Topics CV has the code 20000029
4.4. Appending this Code Value to the CV URI creates the Concept URI, which is the URI identifying the Concept.
Example: the concept "theatre" in the IPTC Media Topics CV has the Concept URI
http://cv.iptc.org/newscodes/mediatopic/20000029
Note: care must be taken that the URI resulting from the appending must be a valid URI.
4.5. If the provider of a CV wants to make the Concepts represented by the CV compatible with the Semantic Web then the URIs must comply with the requirements for Web resource identifiers.
5. The CV URI is mapped to the CV Alias by a mapping table called a Catalog. An example of a Catalog in XML with one entry is:
<catalog xmlns="http://iptc.org/std/nar/2006-10-01/">
<scheme alias="medtop" uri="http://cv.iptc.org/newscodes/mediatopic/"/>
</catalog>
6. The format of a QCode is {CV Alias}":"{Code Value}, e.g.: "medtop:20000029".
The format can be interpreted to have a CV Part and a Code Part separated by a colon.
7. A QCode identifying a Concept is translated into the corresponding URI by replacing the CV Alias with the CV URI and by removing the separating colon.
Summary:
The following data:
CV URI = http://cv.iptc.org/newscodes/mediatopic/
CV Alias = medtop
Code Value = 20000029
... results in:
- a Concept URI: http://cv.iptc.org/newscodes/mediatopic/20000029
- and its corresponding QCode: medtop:20000029
8. There is no generic algorithm for splitting a Concept URI into a CV URI and a Code Value. If such an algorithm is needed, it must be defined by the authority of the CV and it must comply with the design rules above.
We welcome feedback on and questions about QCode. You may post to the public QCodes Forum.
<<< QCodes home page | QCodes' Home | QCodes in the Semantic Web context >>>