115 lines
2.5 KiB
Plaintext
115 lines
2.5 KiB
Plaintext
head 1.2;
|
|
access;
|
|
symbols;
|
|
locks; strict;
|
|
comment @# @;
|
|
|
|
|
|
1.2
|
|
date 2007.09.10.00.06.33; author RenatoDeGiovanni; state Exp;
|
|
branches;
|
|
next 1.1;
|
|
|
|
1.1
|
|
date 2007.04.20.12.27.22; author RenatoDeGiovanni; state Exp;
|
|
branches;
|
|
next ;
|
|
|
|
|
|
desc
|
|
@none
|
|
@
|
|
|
|
|
|
1.2
|
|
log
|
|
@none
|
|
@
|
|
text
|
|
@%META:TOPICINFO{author="RenatoDeGiovanni" date="1189382793" format="1.1" version="1.2"}%
|
|
%META:TOPICPARENT{name="WebHome"}%
|
|
TAPIR doesn't specify an official way to "map" equivalent concepts from different conceptual schemas. Ideally this should be provided by a ConceptNameServer implemented as a complete service, but such service doesn't exist yet.
|
|
|
|
This page suggests a simple XML format to store this kind of information. TapirLink and PyWrapper are planning to use the same format.
|
|
|
|
First, a single file serves as an index of the existing translations between conceptual schemas:
|
|
|
|
<verbatim>
|
|
<mappingReferencesIndex>
|
|
<forSchema namespace="ns1">
|
|
<ref location="ns1_references.xml"/>
|
|
</forSchema>
|
|
<forSchema namespace="ns2">
|
|
<ref location="ns2_references.xml"/>
|
|
</forSchema>
|
|
...
|
|
</mappingReferencesIndex>
|
|
</verbatim>
|
|
|
|
And then each translation is defined in a separate file:
|
|
|
|
<verbatim>
|
|
<mappingReferences for="ns1">
|
|
<baseConcept id="id1">
|
|
<ref>
|
|
<concept id="id_of_equivalent_concept_1"/>
|
|
</ref>
|
|
</baseConcept>
|
|
<baseConcept id="id2">
|
|
<ref>
|
|
<concept id="id_of_equivalent_concept_2"/>
|
|
</ref>
|
|
<ref>
|
|
<concept id="id_of_equivalent_concept_3"/>
|
|
</ref>
|
|
</baseConcept>
|
|
...
|
|
</mappingReferences>
|
|
</verbatim>
|
|
|
|
Equivalent concepts inside "ref" can belong to different conceptual schemas.
|
|
|
|
Note that a mapping ns1->ns2 may not be the exact opposite of ns2->ns1.@
|
|
|
|
|
|
1.1
|
|
log
|
|
@none
|
|
@
|
|
text
|
|
@d1 1
|
|
a1 1
|
|
%META:TOPICINFO{author="RenatoDeGiovanni" date="1177072042" format="1.1" reprev="1.1" version="1.1"}%
|
|
d10 7
|
|
a16 10
|
|
<conceptualSchemaTranslations>
|
|
<fromSchema namespace="ns1">
|
|
<toSchema namspace="ns2">
|
|
<mapping location="ns1_ns2.xml"/>
|
|
<mapping location="alternative_location_for_ns1_ns2.xml"/>
|
|
</toSchema>
|
|
<toSchema namspace="ns3">
|
|
<mapping location="ns1_ns3.xml"/>
|
|
</toSchema>
|
|
</fromSchema>
|
|
d18 1
|
|
a18 1
|
|
</conceptualSchemaTranslations>
|
|
d24 14
|
|
a37 8
|
|
<conceptualSchemaTranslation from="ns1" to="ns2">
|
|
<fromConcept id="id1">
|
|
<concept id="id5"/>
|
|
</fromConcept>
|
|
<fromConcept id="id2">
|
|
<concept id="id7"/>
|
|
...maybe other elements in the future for richer mappings?...
|
|
</fromConcept>
|
|
d39 1
|
|
a39 1
|
|
</conceptualSchemaTranslation>
|
|
d42 3
|
|
a44 1
|
|
Note that a mapping ns1->ns2 may not be the exact opposite of ns2->ns1.
|
|
@
|