# VNM_0_VNM_1.properties 
#/*******************************************************************************
# * Copyright (c) 2007 IBM Corporation and others.
# * All rights reserved. This program and the accompanying materials
# * are made available under the terms of the Eclipse Public License v1.0
# * which accompanies this distribution, and is available at
# * http://www.eclipse.org/legal/epl-v10.html
# *
# * Contributors:
# *     IBM Corporation - initial API and implementation
# *******************************************************************************/

# This is the name of the class that will interpret the rest of the file's contents
RECORD_CLASSNAME = org.eclipse.stem.internal.data.geography.specifications.RelativePhysicalGeographicRelationshipPropertyFileSpecification

# The title of the relationship
TITLE = Physical containment of VNM level (1) by VNM (0)

# This is the date range for which the values in this file are valid
# See http://purl.org/dc/terms/1.1/valid
VALID = start=1900-01-01;

# This is the source of the data
SOURCE = http://www.ibm.com

# ISO3166-1 alpha3 keys and levels of relationship
ISOKEY_0 = VNM
ISOKEY_0_LEVEL = 0
ISOKEY_1 = VNM
ISOKEY_1_LEVEL = 1

# Record Number = Key1, Key2, relationship
1 = VNM, VN-63, Contains
2 = VNM, VN-36, Contains
3 = VNM, VN-07, Contains
4 = VNM, VN-41, Contains
5 = VNM, VN-22, Contains
6 = VNM, VN-44, Contains
7 = VNM, VN-66, Contains
8 = VNM, VN-70, Contains
9 = VNM, VN-23, Contains
10 = VNM, VN-64, Contains
11 = VNM, VN-06, Contains
12 = VNM, VN-20, Contains
13 = VNM, VN-45, Contains
14 = VNM, VN-4, Contains
15 = VNM, VN-32, Contains
16 = VNM, VN-65, Contains
17 = VNM, VN-35, Contains
18 = VNM, VN-62, Contains
19 = VNM, VN-04, Contains
20 = VNM, VN-03, Contains
21 = VNM, VN-2, Contains
22 = VNM, VN-47, Contains
23 = VNM, VN-48, Contains
24 = VNM, VN-52, Contains
25 = VNM, VN-25, Contains
26 = VNM, VN-BTH, Contains
27 = VNM, VN-39, Contains
28 = VNM, VN-05, Contains
29 = VNM, VN-02, Contains
30 = VNM, VN-24, Contains
31 = VNM, VN-51, Contains
32 = VNM, VN-49, Contains
33 = VNM, VN-46, Contains
34 = VNM, VN-SBE, Contains
35 = VNM, VN-29, Contains
36 = VNM, VN-3, Contains
37 = VNM, VN-33, Contains
38 = VNM, VN-28, Contains
39 = VNM, VN-34, Contains
40 = VNM, VN-43, Contains
41 = VNM, VN-09, Contains
42 = VNM, VN-8, Contains
43 = VNM, VN-MHI, Contains
44 = VNM, VN-HBC, Contains
45 = VNM, VN-26, Contains
46 = VNM, VN-40, Contains
47 = VNM, VN-30, Contains
48 = VNM, VN-50, Contains
49 = VNM, VN-31, Contains
50 = VNM, VN-0, Contains
51 = VNM, VN-27, Contains
52 = VNM, VN-6, Contains
