[sc34wg3] The application of facets

Martin Bryan sc34wg3@isotopicmaps.org
Wed, 22 May 2002 13:32:47 +0100


This is a multi-part message in MIME format.

------=_NextPart_000_05D0_01C20195.299D3A40
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit

On Sunday Steve Pepper asked that I provide some examples of the use of
facets to manage entries in a data set. Rather than try to give you large
files I have stripped down two sets of entries that can be usefully used to
show the types of problems I am trying to solve.

You need to realize I have a monthly update cycle, so that at any month only
the latest version of a topic is made available to the public, but in the
database there needs to be an entry each time a topic is updated (which is
not every month)

You will see that I am not using 13250 directly, but an XML application
defined using an W3C schema based on the AFs in 13250 and XLink, as
published at http://www.diffuse.org/TopicMaps/schema.htm. There are three
types of facet defined in the schema referenced at the start of each entry,
for defining Relevance (using a weighting figure), the month in which the
entry started to be relevant and, where appropriate, the date when it ceased
to be relevant.

The mappings defined in the schema are: Standard=topic; Names=topname;
Acronym=basename; FullName=displayname; Overview, ExplainedIn,
MainInfoSource and FormsBasisFor = occurs; StartDate and EndDate=facet,
Month=fvalue. Prompt is not a direct map to ISO 13250: it is an XLink title
element because the other elements are XLink locators within the extended
link that is the topic.

The main differences in the files are in the definition of the second
FormsBasisFor entry (which has been assigned a unique id to allow it to be
referenced) and the associated facet definitions that immediately follow it
in the stripped down example. (The funny format of the date values, with the
prefix iso-8601- is my attempt to get over the 13250 restriction that values
be a name rather than a name token. The schema only requires the name token
form, but I did not want to confuse things for you be introducing a
"deliberate error" in the markup!)

The things I would like you to note are that a) the facets apply to
occurrences, not to topics b) the two topics do not change: the occurrences
within them change c) the pointer of the occurrence has not changed as the
point in the Diffuse files that RDF schemas are referred to does not change.
What has changed is the name assigned to the occurrence as a result of a
change in the document title. Therefore, as far as the topic map engine is
concerned these are two identical subjects, which should be merged. But as
far as I, as the author, am concerned these are two topics, with different
facets as to when entries within them are relevant.

As I have said before, I consider facets to be the only practical technique
for the long-term management of topic maps in a way that will allow someone
to identify the state of a topic map at a particular date during an audit
exercise. I also see them as the only practical way of assigning values in a
range, such as those used for weighting, to topic map elements. (I
personally apply weightings to occurrences, but they may also be applicable
to the individual roles of an association as well as to topics and their
associations.)

Martin Bryan

------=_NextPart_000_05D0_01C20195.299D3A40
Content-Type: text/xml;
	name="RDF-2.xml"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment;
	filename="RDF-2.xml"

<?xml version=3D"1.0" encoding=3D"UTF-8"?>
<!--?xml-stylesheet type=3D"text/xsl" =
href=3D"http://www.diffuse.org/TopicMaps/Topic.xsl"?-->
<Standard id=3D"RDF" xmlns:xlink=3D"http://www.w3.org/1999/xlink" =
xmlns=3D"http://www.diffuse.org/TopicMaps/DiffuseTopics" =
xmlns:xsi=3D"http://www.w3.org/2000/10/XMLSchema-instance" =
xsi:schemaLocation=3D"http://www.diffuse.org/TopicMaps/DiffuseTopics.xsd"=
>
	<Names>
		<Acronym>RDF</Acronym>
		<FullName>Resource Description Framework</FullName>
	</Names>
	<Overview xlink:href=3D"http://www.diffuse.org/meta.html#RDF"/>
	<ExplainedIn =
xlink:href=3D"http://www.dlib.org/dlib/may98/miller/05miller.html">
		<Prompt>An Introduction to the Resource Description Framework</Prompt>
	</ExplainedIn>
	<MainInfoSource xlink:href=3D"http://www.w3.org/RDF" =
owner=3D"http://www.diffuse.org/fora.html#W3C">
		<Prompt>World Wide Web Consortium (W3C)</Prompt>
	</MainInfoSource>
	<FormsBasisFor xlink:href=3D"http://www.diffuse.org/meta.html#Prism">
		<Prompt>Publishing Requirements for Industry Standard Metadata =
(PRISM)</Prompt>
	</FormsBasisFor>
	<FormsBasisFor xlink:href=3D"http://www.diffuse.org/meta.html#RDF" =
id=3D"RDFVocabulary">
		<Prompt>RDF Vocabulary Description Language 1.0: RDF Schema</Prompt>
	</FormsBasisFor>
	<StartDate xlink:type=3D"extended"><Month value=3D"iso-8601-200204" =
xlink:href=3D"#RDFVocabulary"><Prompt>April =
2002</Prompt></Month></StartDate>
</Standard>
------=_NextPart_000_05D0_01C20195.299D3A40
Content-Type: text/xml;
	name="RDF-1.xml"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment;
	filename="RDF-1.xml"

<?xml version=3D"1.0" encoding=3D"UTF-8"?>
<!--?xml-stylesheet type=3D"text/xsl" =
href=3D"http://www.diffuse.org/TopicMaps/Topic.xsl"?-->
<Standard id=3D"RDF" xmlns:xlink=3D"http://www.w3.org/1999/xlink" =
xmlns=3D"http://www.diffuse.org/TopicMaps/DiffuseTopics" =
xmlns:xsi=3D"http://www.w3.org/2000/10/XMLSchema-instance" =
xsi:schemaLocation=3D"http://www.diffuse.org/TopicMaps/DiffuseTopics.xsd"=
>
	<Names>
		<Acronym>RDF</Acronym>
		<FullName>Resource Description Framework</FullName>
	</Names>
	<Overview xlink:href=3D"http://www.diffuse.org/meta.html#RDF"/>
	<ExplainedIn =
xlink:href=3D"http://www.dlib.org/dlib/may98/miller/05miller.html">
		<Prompt>An Introduction to the Resource Description Framework</Prompt>
	</ExplainedIn>
	<MainInfoSource xlink:href=3D"http://www.w3.org/RDF" =
owner=3D"http://www.diffuse.org/fora.html#W3C">
		<Prompt>World Wide Web Consortium (W3C)</Prompt>
	</MainInfoSource>
	<FormsBasisFor xlink:href=3D"http://www.diffuse.org/meta.html#Prism">
		<Prompt>Publishing Requirements for Industry Standard Metadata =
(PRISM)</Prompt>
	</FormsBasisFor>
       <FormsBasisFor =
xlink:href=3D"http://www.diffuse.org/meta.html#RDF" id=3D"RDFS">
		<Prompt>RDF Schema</Prompt>
	</FormsBasisFor>
	<StartDate xlink:type=3D"extended"><Month value=3D"iso-8601-200003" =
xlink:href=3D"#RDFS"><Prompt>March 2000</Prompt></Month></StartDate>
	<EndDate xlink:type=3D"extended"><Month value=3D"iso-8601-200204" =
xlink:href=3D"#RDFS"><Prompt>April 2002</Prompt></Month></EndDate>
</Standard>

------=_NextPart_000_05D0_01C20195.299D3A40--