# ISR_1_ISR_2.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 ISR level (2) by ISR (1)

# 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 = ISR
ISOKEY_0_LEVEL = 1
ISOKEY_1 = ISR
ISOKEY_1_LEVEL = 2

# Record Number = Key1, Key2, relationship
1 = IL-03, IL-03-112, Contains
2 = IL-03, IL-03-111, Contains
3 = IL-01, IL-01-294, Contains
4 = IL-01, IL-01-292, Contains
5 = IL-01, IL-01-293, Contains
6 = IL-01, IL-01-291, Contains
7 = IL-04, IL-04-213, Contains
8 = IL-04, IL-04-235, Contains
9 = IL-04, IL-04-242, Contains
10 = IL-04, IL-04-222, Contains
11 = IL-04, IL-04-233, Contains
12 = IL-04, IL-04-245, Contains
13 = IL-04, IL-04-236, Contains
14 = IL-04, IL-04-243, Contains
15 = IL-04, IL-04-241, Contains
16 = IL-04, IL-04-244, Contains
17 = IL-04, IL-04-211, Contains
18 = IL-04, IL-04-232, Contains
19 = IL-04, IL-04-246, Contains
20 = IL-04, IL-04-231, Contains
21 = IL-04, IL-04-234, Contains
22 = IL-04, IL-04-212, Contains
23 = IL-04, IL-04-237, Contains
24 = IL-04, IL-04-221, Contains
25 = IL-02, IL-02-323, Contains
26 = IL-02, IL-02-324, Contains
27 = IL-02, IL-02-311, Contains
28 = IL-02, IL-02-321, Contains
29 = IL-02, IL-02-322, Contains
30 = IL-05, IL-05-623, Contains
31 = IL-05, IL-05-613, Contains
32 = IL-05, IL-05-622, Contains
33 = IL-05, IL-05-612, Contains
34 = IL-05, IL-05-625, Contains
35 = IL-05, IL-05-627, Contains
36 = IL-05, IL-05-621, Contains
37 = IL-05, IL-05-626, Contains
38 = IL-05, IL-05-611, Contains
39 = IL-05, IL-05-614, Contains
40 = IL-05, IL-05-624, Contains
41 = IL-06, IL-06-511, Contains
42 = IL-06, IL-06-513, Contains
43 = IL-06, IL-06-512, Contains
44 = IL-00, IL-00-421, Contains
45 = IL-00, IL-00-411, Contains
46 = IL-00, IL-00-412, Contains
47 = IL-00, IL-00-442, Contains
48 = IL-00, IL-00-431, Contains
49 = IL-00, IL-00-441, Contains
50 = IL-00, IL-00-422, Contains
