[topicmapmail] external resources reifying
Jan Algermissen
algermissen@acm.org
Wed, 11 Feb 2004 20:34:35 +0100
> Olivier Lamborelle wrote:
> In my view:
> Internal occurrence refers to information contained in the topic maps (topicRef or resourceData)
But you cannot put a <topicRef /> inside an <occurrence> element! (see below)
> External occurence refers to information sotred outside (resourceRef)
>
> > This seems the right way to do it (with XTM), although I am not clear about what you mean by "have occurrences pointing to these topics". I think
> > you mean
> >
> > <topic id="a-document">
> > <subjectIdentity>
> > <resourceRef xlink:href="http://foo/doc1.xml" />
> > </subjectIdentity>
> > <!-- meta data goes here as occs -->
> > </topic>
> >
> > <topic id="valve16">
> > <occurrence>
> > <resourceRef xlink:href="http://foo/doc1.xml" />
> > </ocurrence>
> > </topic>
> >
> >
> No, not exactly. It would rather be something like:
>
> <topic id="a-document">
> <instanceOf><topicRef xlink:href="#external_resource"></instanceOf>
> <occurence>
> <!-- the first occurrence is the address of the reified external resource -->
> <instanceOf><topicRef xlink:href="#external_resource_address"></instanceOf>
> <resourceRef xlink:href="http://foo/doc1.xml" />
> </occurrence>
> <!-- the other occurrences are of type internal and provide metadata about the external resource -->
> <occurence>
> <instanceOf><topicRef xlink:href="#format"></instanceOf>
> <topicRef xlink:href="#graphic">
> </occurrence>
> <occurence>
> <instanceOf><topicRef xlink:href="#size"></instanceOf>
> <resourceData>100x200</resourceData>
> </occurrence>
> </topic>
>
> <topic id="valve16">
> ...
> <occurrence>
> <instanceOf><topicRef xlink:href="#external_resource"></instanceOf>
> <topicRef xlink:href="#a-document">
> </occurrence>
> </topic>
I understand what you are trying to do, but this is not XTM since you cannot put
<topicRef> inside <occurrence>. The only way to do what you are up to is the
example I gave above (well, at least in XTM).
>
> > Why? Can you give an example of what you have in mind?
> >
> As you see above, the metadata about the resource are separated from the occurence in the topic "valve16".
>
> Now, imagine that two topics are using the same external resource:
>
> <topic id="valve16">
> ...
> <occurrence>
> <instanceOf><topicRef xlink:href="#external_resource"></instanceOf>
> <scope><topicRef xlink:href="design-description"></scope>
> <topicRef xlink:href="#a-document">
> </occurrence>
> </topic>
>
> <topic id="motor4">
> ...
> <occurrence>
> <instanceOf><topicRef xlink:href="#external_resource"></instanceOf>
> <scope><topicRef xlink:href="functional-description"></scope>
> <topicRef xlink:href="#a-document">
> </occurrence>
> </topic>
>
> But each topic would use differently the resource, as indicated by the scope of each occurrence. One sees the graphic as a design description and
> the other one as a functional description.
>
> My initial question was the following: in a sense, the various "use" of the external resource can be seen as metadata of the external resource.
No, metadata is a description of the information resource (attributes). And the attributes do not
change (they are properties of the resource regardless of context).
The scope applies to the relationship between the valve and the associated document (the
occurrence is the relationship, not the information resource). 'functional-description'
describes the nature of the relationship NOT the information resource!
So,
> I would like to know how I could include them in the topic "a-document" and not have a duplicate information in each refering topic.
Be very careful to distinguish between the information resource and the occurrence (which (again)
is a relatioship).
>
> As a matter of fact, if another topic map is build with the same external resource, It would be interesting to start not only with the external
> resources but also with all the topics of type external that reified these resources.
>
> > Is the topic map the primary storage for all the information or is it an intermediary
> > format between some database and your information system?
> >
> >
> It is foreseen that the produced topic map would be feed in a database.
> The resources would stay as external xml files.
>
> >> - the scope of the topic T(R) is not used (at this time);
> >>
> >>
> > Huh? Topics don't have scope...what do you mean?
> >
> >
> No.. they can have scope,
Hmm...since you insist on this, what makes you think so?
but I have not make use of it yet to solve this issue.. but they could be part of the solution
>
> >> - an occurrence of type external for this topic provides the link to the external resource;
> >> - other occurrences of type internal provide metadata about the external resource like: language, size, origin, date of last update...;
> >>
> >>
> > Hmm...if you use the type of an occurrence for internal/external....how do you express that it
> > is size,origin, date etc...?
> >
> Inside the resource reifying topic, occurences types are more precise and indicate the kind of metadata provided (see in the sample above).
The reason for my misunderstanding was the <topicRef> uinside <occurrence> which is invalid XTM.
I really suggest you do the following (or use RDF ;-)
<topic id="a-document">
<subjectIdentity>
<resourceRef xlink:href="http://foo/doc1.xml" />
</subjectIdentity>
<!-- document type: -->
<instanceOf>
<topicRef xlink:href="online-manual" />
</instanceOf>
<!-- Document title: -->
<baseName>
<baseNameString>Valve Manual</baseNameString>
</baseName>
<!-- other meta data: -->
<occurrence>
<instanceOf>
<topicRef xlink:href="#size">
</instanceOf>
<resourceData>16MB</resourceData>
</occurrence>
<occurrence>
<instanceOf>
<topicRef xlink:href="#mime-type">
</instanceOf>
<resourceData>text/plain</resourceData>
</occurrence>
<occurrence>
<instanceOf>
<topicRef xlink:href="#last-update">
</instanceOf>
<resourceData>16/12/2003</resourceData>
</occurrence>
</topic>
<topic id="valve16">
<occurrence>
<instanceOf>
<topicRef xlink:href="#functional-description">
</instanceOf>
<scope>
<topicRef xlink:href="#expert-technician" />
</scope>
<resourceRef xlink:href="http://foo/doc1.xml" />
</ocurrence>
<occurrence>
<instanceOf>
<topicRef xlink:href="#functional-description">
</instanceOf>
<scope>
<topicRef xlink:href="#spacecraft-captain" />
</scope>
<resourceRef xlink:href="http://foo/doc2.xml" />
</ocurrence>
</topic>
Hope this helps.
Jan
>
> Olivier.
>
> --
> O. Lamborelle
> System & Operations Engineer
>
> Space Applications Services NV
> Leuvensesteenweg 325
> B-1932 Zaventem
> BELGIUM
>
> Tel: +32 2 721 15 81
> Fax: +32 2 721 54 44
> URL: http://www.spaceapplications.com
>
> _______________________________________________ topicmapmail mailing list topicmapmail@infoloom.com
> http://www.infoloom.com/mailman/listinfo/topicmapmail
--
Jan Algermissen http://www.topicmapping.com
Consultant & Programmer http://www.gooseworks.org