Author: apevec Date: 2006-01-17 18:09:52 +0100 (Tue, 17 Jan 2006) New Revision: 1082 Added: trunk/ccm-core/sql/ccm-core/default/upgrade/6.2.0-6.3.1/ trunk/ccm-core/sql/ccm-core/default/upgrade/6.2.0-6.3.1/preferred-categories.sql trunk/ccm-core/sql/ccm-core/upgrade/oracle-se-6.2.0-6.3.1.sql trunk/ccm-core/sql/ccm-core/upgrade/postgres-6.2.0-6.3.1.sql trunk/ccm-ldn-terms/doc/esd/load.sh trunk/ccm-ldn-terms/doc/esd/xml-1.04/synonyms-lgcl-1.04.xml trunk/ccm-ldn-terms/doc/esd/xml-ipsv/synonyms-ipsv-1.00.xml trunk/ccm-ldn-terms/src/com/arsdigita/london/terms/importer/SynonymsBuilder.java Modified: trunk/ccm-core/application.xml trunk/ccm-core/sql/ccm-core/default/categorization/table-cat_category_category_map.sql trunk/ccm-core/src/ccm-core.upgrade trunk/ccm-core/src/com/arsdigita/categorization/Category.java trunk/ccm-ldn-terms/doc/esd/xml-1.04/hierarchy-lgcl-1.04.xml trunk/ccm-ldn-terms/doc/esd/xml-ipsv/hierarchy-ipsv-1.00.xml trunk/ccm-ldn-terms/src/com/arsdigita/london/terms/Domain.java trunk/ccm-ldn-terms/src/com/arsdigita/london/terms/Term.java trunk/ccm-ldn-terms/src/com/arsdigita/london/terms/importer/Parser.java Log: Introducing 'preferred' category relation type in core categorization and ldn-terms to support ESD 'synonyms' and 'search terms' within Aplaws+ categorization service Ideally, search functionality should be added to the Assign Categories step, workaround here is to put synonyms as children of their preferred terms in category tree, and add 'preferred' relation from a synonym to preferred term/category. Previously, all synonyms were loaded as Orphaned Terms which rendered then unusable (not accessible in category tree widget and wrong category path - top-level category is used to select the category tree where category belongs to). NOTE: run provided upgrade script first, then reload LGCL and IPSV hierarchy and synonyms relations: ccm-run com.arsdigita.london.terms.Importer hierarchy-* ccm-run com.arsdigita.london.terms.Importer synonyms-* Modified: trunk/ccm-core/application.xml =================================================================== --- trunk/ccm-core/application.xml 2006-01-17 16:54:32 UTC (rev 1081) +++ trunk/ccm-core/application.xml 2006-01-17 17:09:52 UTC (rev 1082) @@ -2,8 +2,8 @@ <ccm:application xmlns:ccm="http://ccm.redhat.com/ccm-project" name="ccm-core" prettyName="Core" - version="6.3.0" - release="5" + version="6.3.1" + release="1" webapp="ROOT" buildHooks="build-hooks.xml"> <ccm:dependencies> Modified: trunk/ccm-core/sql/ccm-core/default/categorization/table-cat_category_category_map.sql =================================================================== --- trunk/ccm-core/sql/ccm-core/default/categorization/table-cat_category_category_map.sql 2006-01-17 16:54:32 UTC (rev 1081) +++ trunk/ccm-core/sql/ccm-core/default/categorization/table-cat_category_category_map.sql 2006-01-17 17:09:52 UTC (rev 1082) @@ -32,7 +32,7 @@ sort_key integer, relation_type varchar(10) constraint cat_cat_map_rel_type_ck - check(relation_type in ('child','related')), + check(relation_type in ('child','related','preferred')), constraint cat_cat_cat_map_ckone check(not category_id = related_category_id), constraint cat_cat_catmap_un Added: trunk/ccm-core/sql/ccm-core/default/upgrade/6.2.0-6.3.1/preferred-categories.sql =================================================================== --- trunk/ccm-core/sql/ccm-core/default/upgrade/6.2.0-6.3.1/preferred-categories.sql 2006-01-17 16:54:32 UTC (rev 1081) +++ trunk/ccm-core/sql/ccm-core/default/upgrade/6.2.0-6.3.1/preferred-categories.sql 2006-01-17 17:09:52 UTC (rev 1082) @@ -0,0 +1,5 @@ +alter table cat_category_category_map + drop constraint cat_cat_map_rel_type_ck ; +alter table cat_category_category_map + add constraint cat_cat_map_rel_type_ck check + (relation_type in ('child','related','preferred')) ; Added: trunk/ccm-core/sql/ccm-core/upgrade/oracle-se-6.2.0-6.3.1.sql =================================================================== --- trunk/ccm-core/sql/ccm-core/upgrade/oracle-se-6.2.0-6.3.1.sql 2006-01-17 16:54:32 UTC (rev 1081) +++ trunk/ccm-core/sql/ccm-core/upgrade/oracle-se-6.2.0-6.3.1.sql 2006-01-17 17:09:52 UTC (rev 1082) @@ -0,0 +1 @@ +@@ ../default/upgrade/6.2.0-6.3.1/preferred-categories.sql Added: trunk/ccm-core/sql/ccm-core/upgrade/postgres-6.2.0-6.3.1.sql =================================================================== --- trunk/ccm-core/sql/ccm-core/upgrade/postgres-6.2.0-6.3.1.sql 2006-01-17 16:54:32 UTC (rev 1081) +++ trunk/ccm-core/sql/ccm-core/upgrade/postgres-6.2.0-6.3.1.sql 2006-01-17 17:09:52 UTC (rev 1082) @@ -0,0 +1 @@ +\i ../default/upgrade/6.2.0-6.3.1/preferred-categories.sql Modified: trunk/ccm-core/src/ccm-core.upgrade =================================================================== --- trunk/ccm-core/src/ccm-core.upgrade 2006-01-17 16:54:32 UTC (rev 1081) +++ trunk/ccm-core/src/ccm-core.upgrade 2006-01-17 17:09:52 UTC (rev 1082) @@ -10,4 +10,7 @@ <version from="6.1.1" to="6.1.2"> <script sql="ccm-core/upgrade/::database::-6.1.1-6.1.2.sql"/> </version> + <version from="6.2.0" to="6.3.1"> + <script sql="ccm-core/upgrade/::database::-6.2.0-6.3.1.sql"/> + </version> </upgrade> Modified: trunk/ccm-core/src/com/arsdigita/categorization/Category.java =================================================================== --- trunk/ccm-core/src/com/arsdigita/categorization/Category.java 2006-01-17 16:54:32 UTC (rev 1081) +++ trunk/ccm-core/src/com/arsdigita/categorization/Category.java 2006-01-17 17:09:52 UTC (rev 1082) @@ -117,6 +117,7 @@ public static final String PARENTS = "parents"; /** An attribute name for the underlying data object. */ public static final String RELATED = "related"; + public static final String PREFERRED = "preferred"; /** An attribute name for the underlying data object. */ public static final String REL_TYPE = "relationType"; /** An attribute name for the underlying data object. */ @@ -825,6 +826,15 @@ public void addRelatedCategory(Category category) { addMapping(category, RELATED); } + + /** + * Add a preferred category, which marks the current category as a synonym. + * When a synonym category is selected, preferred category should be used instead + * i.e. assigned to the item. + */ + public void addPreferredCategory(Category preferred) { + addMapping(preferred, PREFERRED); + } /** @@ -858,6 +868,13 @@ // if the cursor.size() > 0 then the object is already // a child and does not need to be added again. add(CHILD_OBJECTS, acsObj); + if (s_log.isDebugEnabled()) { + s_log.debug(acsObj+" added to "+CHILD_OBJECTS+" of catID="+getID()+" type="+relationType+" (ignored)"); + } + } else { + if (s_log.isDebugEnabled()) { + s_log.debug(acsObj+" is already related to catID="+getID()+" type="+relationType+" (ignored)"); + } } } @@ -880,10 +897,19 @@ DataObject link; if ( cursor.next() ) { link = cursor.getLink(); + if (s_log.isDebugEnabled()) { + s_log.debug("existing related catID="+category.getID()+" "+link.get(REL_TYPE)+" default="+link.get(IS_DEFAULT)); + } } else { link = add(RELATED_CATEGORIES, category); + if (s_log.isDebugEnabled()) { + s_log.debug("adding new related catID="+category.getID()); + } } cursor.close(); + if (s_log.isDebugEnabled()) { + s_log.debug("updating related catID="+category.getID()+" type="+relationType+" default=false"); + } link.set(REL_TYPE, relationType); link.set(IS_DEFAULT, Boolean.FALSE); Added: trunk/ccm-ldn-terms/doc/esd/load.sh =================================================================== --- trunk/ccm-ldn-terms/doc/esd/load.sh 2006-01-17 16:54:32 UTC (rev 1081) +++ trunk/ccm-ldn-terms/doc/esd/load.sh 2006-01-17 17:09:52 UTC (rev 1082) @@ -0,0 +1,7 @@ +set -x +export JAVA_OPTS=-Xmx512m +time ccm-run com.arsdigita.london.terms.Importer domain-* +time ccm-run com.arsdigita.london.terms.Importer hierarchy-* +time ccm-run com.arsdigita.london.terms.Importer mapping-* +time ccm-run com.arsdigita.london.terms.Importer related-* +time ccm-run com.arsdigita.london.terms.Importer synonyms-* Modified: trunk/ccm-ldn-terms/doc/esd/xml-1.04/hierarchy-lgcl-1.04.xml =================================================================== --- trunk/ccm-ldn-terms/doc/esd/xml-1.04/hierarchy-lgcl-1.04.xml 2006-01-17 16:54:32 UTC (rev 1081) +++ trunk/ccm-ldn-terms/doc/esd/xml-1.04/hierarchy-lgcl-1.04.xml 2006-01-17 17:09:52 UTC (rev 1082) @@ -1,30 +1,78 @@ -<?xml version="1.0"?> +<?xml version="1.0" encoding="UTF-8"?> <terms:hierarchy xmlns:terms="http://xmlns.redhat.com/london/terms/1.0"> <terms:domain resource="http://www.esd.org.uk/standards/lgcl/1.04/termslist.xml"/> <terms:term id="1"/> + <terms:term id="93"/> + <terms:term id="204"/> + <terms:term id="281"/> + <terms:term id="596"/> + <terms:term id="946"/> <terms:term id="1007"/> <terms:term id="1021"/> <terms:term id="1039"/> <terms:term id="1286"/> <terms:term id="1325"/> <terms:term id="1337"/> - <terms:term id="204"/> - <terms:term id="281"/> <terms:term id="3088"/> <terms:term id="3168"/> - <terms:term id="596"/> - <terms:term id="93"/> - <terms:term id="946"/> <terms:orderedPair> <terms:source> <terms:term id="1"/> </terms:source> <terms:destination isDefault="true" isPreferred="true"> + <terms:term id="5"/> + </terms:destination> + </terms:orderedPair> + <terms:orderedPair> + <terms:source> + <terms:term id="5"/> + </terms:source> + <terms:destination isDefault="true" isPreferred="true"> + <terms:term id="6"/> + </terms:destination> + </terms:orderedPair> + <terms:orderedPair> + <terms:source> + <terms:term id="1"/> + </terms:source> + <terms:destination isDefault="true" isPreferred="true"> + <terms:term id="8"/> + </terms:destination> + </terms:orderedPair> + <terms:orderedPair> + <terms:source> + <terms:term id="8"/> + </terms:source> + <terms:destination isDefault="true" isPreferred="true"> + <terms:term id="9"/> + </terms:destination> + </terms:orderedPair> + <terms:orderedPair> + <terms:source> + <terms:term id="1"/> + </terms:source> + <terms:destination isDefault="true" isPreferred="true"> <terms:term id="11"/> </terms:destination> </terms:orderedPair> <terms:orderedPair> <terms:source> + <terms:term id="3088"/> + </terms:source> + <terms:destination isDefault="true" isPreferred="true"> + <terms:term id="13"/> + </terms:destination> + </terms:orderedPair> + <terms:orderedPair> + <terms:source> + <terms:term id="11"/> + </terms:source> + <terms:destination isDefault="true" isPreferred="true"> + <terms:term id="14"/> + </terms:destination> + </terms:orderedPair> + <terms:orderedPair> + <terms:source> <terms:term id="1"/> </terms:source> <terms:destination isDefault="true" isPreferred="true"> @@ -33,14 +81,22 @@ </terms:orderedPair> <terms:orderedPair> <terms:source> - <terms:term id="1"/> + <terms:term id="15"/> </terms:source> <terms:destination isDefault="true" isPreferred="true"> - <terms:term id="1523"/> + <terms:term id="16"/> </terms:destination> </terms:orderedPair> <terms:orderedPair> <terms:source> + <terms:term id="15"/> + </terms:source> + <terms:destination isDefault="true" isPreferred="true"> + <terms:term id="20"/> + </terms:destination> + </terms:orderedPair> + <terms:orderedPair> + <terms:source> <terms:term id="1"/> </terms:source> <terms:destination isDefault="true" isPreferred="true"> @@ -49,46 +105,102 @@ </terms:orderedPair> <terms:orderedPair> <terms:source> - <terms:term id="1"/> + <terms:term id="160"/> </terms:source> <terms:destination isDefault="true" isPreferred="true"> - <terms:term id="3100"/> + <terms:term id="43"/> </terms:destination> </terms:orderedPair> <terms:orderedPair> <terms:source> - <terms:term id="1"/> + <terms:term id="3323"/> </terms:source> <terms:destination isDefault="true" isPreferred="true"> - <terms:term id="3300"/> + <terms:term id="48"/> </terms:destination> </terms:orderedPair> <terms:orderedPair> <terms:source> - <terms:term id="1"/> + <terms:term id="3323"/> </terms:source> <terms:destination isDefault="true" isPreferred="true"> + <terms:term id="49"/> + </terms:destination> + </terms:orderedPair> + <terms:orderedPair> + <terms:source> <terms:term id="3323"/> + </terms:source> + <terms:destination isDefault="true" isPreferred="true"> + <terms:term id="50"/> </terms:destination> </terms:orderedPair> <terms:orderedPair> <terms:source> - <terms:term id="1"/> + <terms:term id="3323"/> </terms:source> <terms:destination isDefault="true" isPreferred="true"> - <terms:term id="3329"/> + <terms:term id="51"/> </terms:destination> </terms:orderedPair> <terms:orderedPair> <terms:source> - <terms:term id="1"/> + <terms:term id="3323"/> </terms:source> <terms:destination isDefault="true" isPreferred="true"> - <terms:term id="5"/> + <terms:term id="52"/> </terms:destination> </terms:orderedPair> <terms:orderedPair> <terms:source> + <terms:term id="3323"/> + </terms:source> + <terms:destination isDefault="true" isPreferred="true"> + <terms:term id="53"/> + </terms:destination> + </terms:orderedPair> + <terms:orderedPair> + <terms:source> + <terms:term id="3323"/> + </terms:source> + <terms:destination isDefault="true" isPreferred="true"> + <terms:term id="54"/> + </terms:destination> + </terms:orderedPair> + <terms:orderedPair> + <terms:source> + <terms:term id="3323"/> + </terms:source> + <terms:destination isDefault="true" isPreferred="true"> + <terms:term id="55"/> + </terms:destination> + </terms:orderedPair> + <terms:orderedPair> + <terms:source> + <terms:term id="3323"/> + </terms:source> + <terms:destination isDefault="true" isPreferred="true"> + <terms:term id="56"/> + </terms:destination> + </terms:orderedPair> + <terms:orderedPair> + <terms:source> + <terms:term id="1812"/> + </terms:source> + <terms:destination isDefault="true" isPreferred="true"> + <terms:term id="57"/> + </terms:destination> + </terms:orderedPair> + <terms:orderedPair> + <terms:source> + <terms:term id="3323"/> + </terms:source> + <terms:destination isDefault="true" isPreferred="true"> + <terms:term id="58"/> + </terms:destination> + </terms:orderedPair> + <terms:orderedPair> + <terms:source> <terms:term id="1"/> </terms:source> <terms:destination isDefault="true" isPreferred="true"> @@ -105,6 +217,22 @@ </terms:orderedPair> <terms:orderedPair> <terms:source> + <terms:term id="62"/> + </terms:source> + <terms:destination isDefault="true" isPreferred="true"> + <terms:term id="63"/> + </terms:destination> + </terms:orderedPair> + <terms:orderedPair> + <terms:source> + <terms:term id="62"/> + </terms:source> + <terms:destination isDefault="true" isPreferred="true"> + <terms:term id="65"/> + </terms:destination> + </terms:orderedPair> + <terms:orderedPair> + <terms:source> <terms:term id="1"/> </terms:source> <terms:destination isDefault="true" isPreferred="true"> @@ -113,6 +241,30 @@ </terms:orderedPair> <terms:orderedPair> <terms:source> + <terms:term id="66"/> + </terms:source> + <terms:destination isDefault="true" isPreferred="true"> + <terms:term id="67"/> + </terms:destination> + </terms:orderedPair> + <terms:orderedPair> + <terms:source> + <terms:term id="62"/> + </terms:source> + <terms:destination isDefault="true" isPreferred="true"> + <terms:term id="68"/> + </terms:destination> + </terms:orderedPair> + <terms:orderedPair> + <terms:source> + <terms:term id="459"/> + </terms:source> + <terms:destination isDefault="true" isPreferred="true"> + <terms:term id="69"/> + </terms:destination> + </terms:orderedPair> + <terms:orderedPair> + <terms:source> <terms:term id="1"/> </terms:source> <terms:destination isDefault="true" isPreferred="true"> @@ -121,1042 +273,5218 @@ </terms:orderedPair> <terms:orderedPair> <terms:source> - <terms:term id="1"/> + <terms:term id="70"/> </terms:source> <terms:destination isDefault="true" isPreferred="true"> - <terms:term id="8"/> + <terms:term id="71"/> </terms:destination> </terms:orderedPair> <terms:orderedPair> <terms:source> - <terms:term id="11"/> + <terms:term id="70"/> </terms:source> <terms:destination isDefault="true" isPreferred="true"> - <terms:term id="14"/> + <terms:term id="72"/> </terms:destination> </terms:orderedPair> <terms:orderedPair> <terms:source> - <terms:term id="15"/> + <terms:term id="78"/> </terms:source> <terms:destination isDefault="true" isPreferred="true"> - <terms:term id="16"/> + <terms:term id="74"/> </terms:destination> </terms:orderedPair> <terms:orderedPair> <terms:source> - <terms:term id="15"/> + <terms:term id="70"/> </terms:source> <terms:destination isDefault="true" isPreferred="true"> - <terms:term id="20"/> + <terms:term id="75"/> </terms:destination> </terms:orderedPair> <terms:orderedPair> <terms:source> - <terms:term id="15"/> + <terms:term id="70"/> </terms:source> <terms:destination isDefault="true" isPreferred="true"> - <terms:term id="3091"/> + <terms:term id="76"/> </terms:destination> </terms:orderedPair> <terms:orderedPair> <terms:source> - <terms:term id="15"/> + <terms:term id="70"/> </terms:source> <terms:destination isDefault="true" isPreferred="true"> - <terms:term id="3159"/> + <terms:term id="78"/> </terms:destination> </terms:orderedPair> <terms:orderedPair> <terms:source> - <terms:term id="3091"/> + <terms:term id="70"/> </terms:source> - <terms:destination isDefault="true" isPreferred="false"> - <terms:term id="3137"/> + <terms:destination isDefault="true" isPreferred="true"> + <terms:term id="79"/> </terms:destination> </terms:orderedPair> <terms:orderedPair> <terms:source> - <terms:term id="21"/> + <terms:term id="70"/> </terms:source> <terms:destination isDefault="true" isPreferred="true"> - <terms:term id="3318"/> + <terms:term id="80"/> </terms:destination> </terms:orderedPair> <terms:orderedPair> <terms:source> - <terms:term id="21"/> + <terms:term id="70"/> </terms:source> <terms:destination isDefault="true" isPreferred="true"> - <terms:term id="3319"/> + <terms:term id="81"/> </terms:destination> </terms:orderedPair> <terms:orderedPair> <terms:source> - <terms:term id="21"/> + <terms:term id="70"/> </terms:source> <terms:destination isDefault="true" isPreferred="true"> - <terms:term id="3320"/> + <terms:term id="84"/> </terms:destination> </terms:orderedPair> <terms:orderedPair> <terms:source> - <terms:term id="21"/> + <terms:term id="70"/> </terms:source> <terms:destination isDefault="true" isPreferred="true"> - <terms:term id="3321"/> + <terms:term id="85"/> </terms:destination> </terms:orderedPair> <terms:orderedPair> <terms:source> - <terms:term id="21"/> + <terms:term id="70"/> </terms:source> <terms:destination isDefault="true" isPreferred="true"> - <terms:term id="3322"/> + <terms:term id="86"/> </terms:destination> </terms:orderedPair> <terms:orderedPair> <terms:source> - <terms:term id="3300"/> + <terms:term id="70"/> </terms:source> <terms:destination isDefault="true" isPreferred="true"> - <terms:term id="3301"/> + <terms:term id="87"/> </terms:destination> </terms:orderedPair> <terms:orderedPair> <terms:source> - <terms:term id="3300"/> + <terms:term id="70"/> </terms:source> <terms:destination isDefault="true" isPreferred="true"> - <terms:term id="3302"/> + <terms:term id="89"/> </terms:destination> </terms:orderedPair> <terms:orderedPair> <terms:source> - <terms:term id="3300"/> + <terms:term id="70"/> </terms:source> <terms:destination isDefault="true" isPreferred="true"> - <terms:term id="3303"/> + <terms:term id="90"/> </terms:destination> </terms:orderedPair> <terms:orderedPair> <terms:source> - <terms:term id="3300"/> + <terms:term id="70"/> </terms:source> <terms:destination isDefault="true" isPreferred="true"> - <terms:term id="3304"/> + <terms:term id="91"/> </terms:destination> </terms:orderedPair> <terms:orderedPair> <terms:source> - <terms:term id="3300"/> + <terms:term id="93"/> </terms:source> <terms:destination isDefault="true" isPreferred="true"> - <terms:term id="3305"/> + <terms:term id="95"/> </terms:destination> </terms:orderedPair> <terms:orderedPair> <terms:source> - <terms:term id="3300"/> + <terms:term id="95"/> </terms:source> <terms:destination isDefault="true" isPreferred="true"> - <terms:term id="3306"/> + <terms:term id="96"/> </terms:destination> </terms:orderedPair> <terms:orderedPair> <terms:source> - <terms:term id="3300"/> + <terms:term id="95"/> </terms:source> <terms:destination isDefault="true" isPreferred="true"> - <terms:term id="3307"/> + <terms:term id="98"/> </terms:destination> </terms:orderedPair> <terms:orderedPair> <terms:source> - <terms:term id="3300"/> + <terms:term id="95"/> </terms:source> <terms:destination isDefault="true" isPreferred="true"> - <terms:term id="3308"/> + <terms:term id="99"/> </terms:destination> </terms:orderedPair> <terms:orderedPair> <terms:source> - <terms:term id="3300"/> + <terms:term id="3118"/> </terms:source> <terms:destination isDefault="true" isPreferred="true"> - <terms:term id="3309"/> + <terms:term id="103"/> </terms:destination> </terms:orderedPair> <terms:orderedPair> <terms:source> - <terms:term id="3300"/> + <terms:term id="103"/> </terms:source> <terms:destination isDefault="true" isPreferred="true"> - <terms:term id="3310"/> + <terms:term id="104"/> </terms:destination> </terms:orderedPair> <terms:orderedPair> <terms:source> - <terms:term id="3300"/> + <terms:term id="103"/> </terms:source> <terms:destination isDefault="true" isPreferred="true"> - <terms:term id="4226"/> + <terms:term id="105"/> </terms:destination> </terms:orderedPair> <terms:orderedPair> <terms:source> - <terms:term id="3300"/> + <terms:term id="103"/> </terms:source> <terms:destination isDefault="true" isPreferred="true"> - <terms:term id="3312"/> + <terms:term id="106"/> </terms:destination> </terms:orderedPair> <terms:orderedPair> <terms:source> - <terms:term id="3300"/> + <terms:term id="184"/> </terms:source> + <terms:destination isDefault="false" isPreferred="true"> + <terms:term id="106"/> + </terms:destination> + </terms:orderedPair> + <terms:orderedPair> + <terms:source> + <terms:term id="93"/> + </terms:source> <terms:destination isDefault="true" isPreferred="true"> - <terms:term id="3313"/> + <terms:term id="107"/> </terms:destination> </terms:orderedPair> <terms:orderedPair> <terms:source> - <terms:term id="3300"/> + <terms:term id="107"/> </terms:source> <terms:destination isDefault="true" isPreferred="true"> - <terms:term id="3314"/> + <terms:term id="108"/> </terms:destination> </terms:orderedPair> <terms:orderedPair> <terms:source> - <terms:term id="3300"/> + <terms:term id="107"/> </terms:source> <terms:destination isDefault="true" isPreferred="true"> - <terms:term id="3315"/> + <terms:term id="109"/> </terms:destination> </terms:orderedPair> <terms:orderedPair> <terms:source> - <terms:term id="3300"/> + <terms:term id="107"/> </terms:source> <terms:destination isDefault="true" isPreferred="true"> - <terms:term id="3316"/> + <terms:term id="111"/> </terms:destination> </terms:orderedPair> <terms:orderedPair> <terms:source> - <terms:term id="3323"/> + <terms:term id="107"/> </terms:source> <terms:destination isDefault="true" isPreferred="true"> - <terms:term id="1812"/> + <terms:term id="113"/> </terms:destination> </terms:orderedPair> <terms:orderedPair> <terms:source> - <terms:term id="3323"/> + <terms:term id="3332"/> </terms:source> <terms:destination isDefault="true" isPreferred="true"> - <terms:term id="3139"/> + <terms:term id="115"/> </terms:destination> </terms:orderedPair> <terms:orderedPair> <terms:source> - <terms:term id="3323"/> + <terms:term id="3332"/> </terms:source> <terms:destination isDefault="true" isPreferred="true"> - <terms:term id="3324"/> + <terms:term id="116"/> </terms:destination> </terms:orderedPair> <terms:orderedPair> <terms:source> - <terms:term id="3323"/> + <terms:term id="3332"/> </terms:source> <terms:destination isDefault="true" isPreferred="true"> - <terms:term id="3325"/> + <terms:term id="117"/> </terms:destination> </terms:orderedPair> <terms:orderedPair> <terms:source> - <terms:term id="3323"/> + <terms:term id="117"/> </terms:source> <terms:destination isDefault="true" isPreferred="true"> - <terms:term id="48"/> + <terms:term id="118"/> </terms:destination> </terms:orderedPair> <terms:orderedPair> <terms:source> - <terms:term id="3323"/> + <terms:term id="117"/> </terms:source> <terms:destination isDefault="true" isPreferred="true"> - <terms:term id="49"/> + <terms:term id="119"/> </terms:destination> </terms:orderedPair> <terms:orderedPair> <terms:source> - <terms:term id="3323"/> + <terms:term id="117"/> </terms:source> <terms:destination isDefault="true" isPreferred="true"> - <terms:term id="50"/> + <terms:term id="120"/> </terms:destination> </terms:orderedPair> <terms:orderedPair> <terms:source> - <terms:term id="3323"/> + <terms:term id="117"/> </terms:source> <terms:destination isDefault="true" isPreferred="true"> - <terms:term id="51"/> + <terms:term id="121"/> </terms:destination> </terms:orderedPair> <terms:orderedPair> <terms:source> - <terms:term id="3323"/> + <terms:term id="117"/> </terms:source> <terms:destination isDefault="true" isPreferred="true"> - <terms:term id="52"/> + <terms:term id="122"/> </terms:destination> </terms:orderedPair> <terms:orderedPair> <terms:source> - <terms:term id="3323"/> + <terms:term id="117"/> </terms:source> <terms:destination isDefault="true" isPreferred="true"> - <terms:term id="53"/> + <terms:term id="123"/> </terms:destination> </terms:orderedPair> <terms:orderedPair> <terms:source> - <terms:term id="3323"/> + <terms:term id="117"/> </terms:source> <terms:destination isDefault="true" isPreferred="true"> - <terms:term id="54"/> + <terms:term id="124"/> </terms:destination> </terms:orderedPair> <terms:orderedPair> <terms:source> - <terms:term id="3323"/> + <terms:term id="117"/> </terms:source> <terms:destination isDefault="true" isPreferred="true"> - <terms:term id="55"/> + <terms:term id="125"/> </terms:destination> </terms:orderedPair> <terms:orderedPair> <terms:source> - <terms:term id="3323"/> + <terms:term id="117"/> </terms:source> <terms:destination isDefault="true" isPreferred="true"> - <terms:term id="56"/> + <terms:term id="126"/> </terms:destination> </terms:orderedPair> <terms:orderedPair> <terms:source> - <terms:term id="3323"/> + <terms:term id="117"/> </terms:source> <terms:destination isDefault="true" isPreferred="true"> - <terms:term id="58"/> + <terms:term id="127"/> </terms:destination> </terms:orderedPair> <terms:orderedPair> <terms:source> - <terms:term id="1812"/> + <terms:term id="117"/> </terms:source> - <terms:destination isDefault="true" isPreferred="false"> - <terms:term id="57"/> + <terms:destination isDefault="true" isPreferred="true"> + <terms:term id="128"/> </terms:destination> </terms:orderedPair> <terms:orderedPair> <terms:source> - <terms:term id="49"/> + <terms:term id="117"/> </terms:source> - <terms:destination isDefault="true" isPreferred="false"> - <terms:term id="2182"/> + <terms:destination isDefault="true" isPreferred="true"> + <terms:term id="129"/> </terms:destination> </terms:orderedPair> <terms:orderedPair> <terms:source> - <terms:term id="5"/> + <terms:term id="117"/> </terms:source> <terms:destination isDefault="true" isPreferred="true"> - <terms:term id="1664"/> + <terms:term id="130"/> </terms:destination> </terms:orderedPair> <terms:orderedPair> <terms:source> - <terms:term id="5"/> + <terms:term id="117"/> </terms:source> <terms:destination isDefault="true" isPreferred="true"> - <terms:term id="6"/> + <terms:term id="131"/> </terms:destination> </terms:orderedPair> <terms:orderedPair> <terms:source> - <terms:term id="59"/> + <terms:term id="117"/> </terms:source> <terms:destination isDefault="true" isPreferred="true"> - <terms:term id="1665"/> + <terms:term id="132"/> </terms:destination> </terms:orderedPair> <terms:orderedPair> <terms:source> - <terms:term id="62"/> + <terms:term id="117"/> </terms:source> - <terms:destination isDefault="true" isPreferred="false"> - <terms:term id="1676"/> + <terms:destination isDefault="true" isPreferred="true"> + <terms:term id="133"/> </terms:destination> </terms:orderedPair> <terms:orderedPair> <terms:source> - <terms:term id="62"/> + <terms:term id="3332"/> </terms:source> <terms:destination isDefault="true" isPreferred="true"> - <terms:term id="63"/> + <terms:term id="134"/> </terms:destination> </terms:orderedPair> <terms:orderedPair> <terms:source> - <terms:term id="62"/> + <terms:term id="3332"/> </terms:source> <terms:destination isDefault="true" isPreferred="true"> - <terms:term id="65"/> + <terms:term id="135"/> </terms:destination> </terms:orderedPair> <terms:orderedPair> <terms:source> - <terms:term id="62"/> + <terms:term id="3332"/> </terms:source> <terms:destination isDefault="true" isPreferred="true"> - <terms:term id="68"/> + <terms:term id="136"/> </terms:destination> </terms:orderedPair> <terms:orderedPair> <terms:source> - <terms:term id="66"/> + <terms:term id="3332"/> </terms:source> + <terms:destination isDefault="true" isPreferred="true"> + <terms:term id="137"/> + </terms:destination> + </terms:orderedPair> + <terms:orderedPair> + <terms:source> + <terms:term id="3332"/> + </terms:source> + <terms:destination isDefault="true" isPreferred="true"> + <terms:term id="139"/> + </terms:destination> + </terms:orderedPair> + <terms:orderedPair> + <terms:source> + <terms:term id="3332"/> + </terms:source> + <terms:destination isDefault="true" isPreferred="true"> + <terms:term id="141"/> + </terms:destination> + </terms:orderedPair> + <terms:orderedPair> + <terms:source> + <terms:term id="3332"/> + </terms:source> + <terms:destination isDefault="true" isPreferred="true"> + <terms:term id="142"/> + </terms:destination> + </terms:orderedPair> + <terms:orderedPair> + <terms:source> + <terms:term id="3332"/> + </terms:source> + <terms:destination isDefault="true" isPreferred="true"> + <terms:term id="143"/> + </terms:destination> + </terms:orderedPair> + <terms:orderedPair> + <terms:source> + <terms:term id="3332"/> + </terms:source> + <terms:destination isDefault="true" isPreferred="true"> + <terms:term id="144"/> + </terms:destination> + </terms:orderedPair> + <terms:orderedPair> + <terms:source> + <terms:term id="3332"/> .. |