Project

General

Profile

« Previous | Next » 

Revision 45318

codebase used to migrate to java8 the production system

View differences:

modules/dnet-mapreduce-jobs/trunk/install.sh
1
#!/bin/bash
2

  
3
VERSION=`xmlstarlet sel -t -m "/_:project/_:version" -v "." pom.xml`
4
echo "using version: $VERSION"
5

  
6
mvn clean install;
7
rm -rf ~/.m2/repository/eu/dnetlib/dnet-mapreduce-jobs-assembly;
8
mvn assembly:assembly -DskipTests=true && mvn install:install-file -Dfile=target/dnet-mapreduce-jobs-$VERSION-jar-with-dependencies.jar -DgroupId=eu.dnetlib -DartifactId=dnet-mapreduce-jobs-assembly -Dversion=$VERSION -Dpackaging=jar
0 9

  
modules/dnet-mapreduce-jobs/trunk/deploy.info
1
{"type_source": "SVN", "goal": "package -U -T 4C source:jar", "url": "http://svn-public.driver.research-infrastructures.eu/driver/dnet40/modules/dnet-mapreduce-jobs/trunk/", "deploy_repository": "dnet4-snapshots", "version": "4", "mail": "sandro.labruzzo@isti.cnr.it,michele.artini@isti.cnr.it, claudio.atzori@isti.cnr.it, alessia.bardi@isti.cnr.it", "deploy_repository_url": "http://maven.research-infrastructures.eu/nexus/content/repositories/dnet4-snapshots", "name": "dnet-mapreduce-jobs"}
modules/dnet-mapreduce-jobs/trunk/src/test/java/eu/dnetlib/data/mapreduce/dedup/OafMergeTest.java
1
package eu.dnetlib.data.mapreduce.dedup;
2

  
3
import java.util.List;
4
import java.util.UUID;
5

  
6
import com.google.common.base.Predicate;
7
import com.google.common.collect.Iterables;
8
import com.google.common.collect.Lists;
9
import eu.dnetlib.data.mapreduce.util.OafTest;
10
import eu.dnetlib.data.proto.FieldTypeProtos.StructuredProperty;
11
import eu.dnetlib.data.proto.KindProtos.Kind;
12
import eu.dnetlib.data.proto.OafProtos.Oaf;
13
import eu.dnetlib.data.proto.OafProtos.OafEntity;
14
import eu.dnetlib.data.proto.OafProtos.OafEntity.Builder;
15
import eu.dnetlib.data.proto.ResultProtos.Result;
16
import eu.dnetlib.data.proto.ResultProtos.Result.Instance;
17
import eu.dnetlib.data.proto.TypeProtos.Type;
18
import eu.dnetlib.data.transform.OafEntityMerger;
19
import org.junit.Before;
20
import org.junit.Test;
21

  
22
public class OafMergeTest {
23

  
24
	private List<Oaf> oafList;
25

  
26
	private OafEntityMerger merger;
27

  
28
	@Before
29
	public void setUp() throws Exception {
30

  
31
		merger = new OafEntityMerger();
32
		oafList = Lists.newArrayList();
33
		oafList.add(getOaf("0.1").setEntity(
34
				getEntity("id_1", null, "pid_1").setResult(
35
						Result.newBuilder().setMetadata(
36
								Result.Metadata.newBuilder().setDateofacceptance(OafTest.sf("2012-01-01"))
37
										.addTitle(OafTest.getStructuredproperty("vvvv Title", "main title", "dnet:dataCite_title"))
38
										.setResulttype(OafTest.getQualifier("publication", "dnet:result_typologies"))))).build());
39
		oafList.add(getOaf("0.1").setEntity(
40
				getEntity("id_2", "originalId_2", "pid_2").setResult(
41
						Result.newBuilder().setMetadata(
42
								Result.Metadata.newBuilder().setDateofacceptance(OafTest.sf(""))
43
										.addTitle(OafTest.getStructuredproperty("aaaa Title", "main title", "dnet:dataCite_title"))
44
										.setResulttype(OafTest.getQualifier("publication", "dnet:result_typologies"))))).build());
45
		oafList.add(getOaf("0.2").setEntity(
46
				getEntity("id_3", "originalId_2", "pid_2").setResult(
47
						Result.newBuilder().setMetadata(
48
								Result.Metadata.newBuilder().addTitle(OafTest.getStructuredproperty("cccc Title", "sub title", "dnet:dataCite_title"))
49
										.setResulttype(OafTest.getQualifier("publication", "dnet:result_typologies"))))).build());
50

  
51
		oafList.add(getOaf("0.3").setEntity(
52
				getEntity("id_$", null, "pid_3").setResult(
53
						Result.newBuilder().setMetadata(
54
								Result.Metadata.newBuilder().setPublisher(OafTest.sf("AMER CHEMICAL SOCXXXXXXXXXXXXXXXXX"))
55
										.setResulttype(OafTest.getQualifier("publication", "dnet:result_typologies"))))).build());
56
		oafList.add(getOaf("0.5").setEntity(
57
				getEntity("id_5", null, null).setResult(
58
						Result.newBuilder().setMetadata(
59
								Result.Metadata.newBuilder().addTitle(OafTest.getStructuredproperty("hhhh title", "main title", "dnet:dataCite_title"))
60
										.setPublisher(OafTest.sf("AMER CHEMICAL SOC X"))
61
										.setResulttype(OafTest.getQualifier("publication", "dnet:result_typologies")).setStoragedate(OafTest.sf("2012-11-18"))
62
										.setLanguage(OafTest.getQualifier("eng", "dnet:languages")).addDescription(OafTest.sf("original description")))))
63
				.build());
64
		oafList.add(getOaf("0.6").setEntity(
65
				getEntity("id_6", null, "pid_6").setResult(
66
						Result.newBuilder().setMetadata(
67
								Result.Metadata.newBuilder().setResulttype(OafTest.getQualifier("publication", "dnet:result_typologies"))
68
										.addDescription(OafTest.sf("new description"))).addInstance(OafTest.getInstance("id", "name")))).build());
69
	}
70

  
71
	@Test
72
	public void test_merge() {
73

  
74
		final Oaf.Builder builder = Oaf.newBuilder();
75

  
76
		for (final Oaf oaf : oafList) {
77
			builder.mergeFrom(oaf);
78
		}
79

  
80
		final Result.Metadata.Builder metadata = builder.getEntityBuilder().getResultBuilder().getMetadataBuilder();
81
		final Iterable<StructuredProperty> filter = Iterables.filter(metadata.getTitleList(), new Predicate<StructuredProperty>() {
82

  
83
			@Override
84
			public boolean apply(final StructuredProperty sp) {
85
				return (sp.getQualifier() != null) && sp.getQualifier().getClassname().equals("main title");
86
			}
87
		});
88

  
89
		final StructuredProperty last = Iterables.getLast(filter);
90

  
91
		metadata.clearTitle().addAllTitle(Lists.newArrayList(last));
92

  
93
		System.out.println(builder.build().toString());
94
	}
95

  
96
	@Test
97
	public void test_merger() {
98

  
99
		final Oaf merge = merger.mergeEntities(null, "id", oafList).build();
100

  
101
		System.out.println(merge.toString());
102
	}
103

  
104
	// @Test
105
	// public void test_sort() {
106
	// Queue<Result> q = new PriorityQueue<Result>(3, DedupReducer.cmp);
107
	// for (Oaf oaf : oafList) {
108
	// q.add(oaf.getEntity().getResult());
109
	// }
110
	//
111
	// while (!q.isEmpty()) {
112
	// Result r = q.remove();
113
	// List<StructuredProperty> titles = r.getMetadata().getTitleList();
114
	// if (!titles.isEmpty()) {
115
	// System.out.println(titles.get(0).getValue());
116
	// }
117
	// }
118
	// }
119

  
120
	private Oaf.Builder getOaf(final String trust) {
121
		return Oaf.newBuilder().setKind(Kind.entity).setDataInfo(OafTest.getDataInfo(trust)).setLastupdatetimestamp(System.currentTimeMillis());
122
	}
123

  
124
	private OafEntity.Builder getEntity(final String id, final String originalId, final String pid) {
125
		final Builder entity =
126
				OafEntity.newBuilder().setType(Type.result).setId(id).addOriginalId(originalId != null ? originalId : UUID.randomUUID().toString());
127

  
128
		if (pid != null) {
129
			entity.addPid(OafTest.getStructuredproperty(pid, "class", "scheme"));
130
		}
131

  
132
		return entity;
133
	}
134

  
135
}
modules/dnet-mapreduce-jobs/trunk/src/test/java/eu/dnetlib/data/mapreduce/dedup/cc/VertexWritableTest.java
1
package eu.dnetlib.data.mapreduce.dedup.cc;
2

  
3
import java.util.TreeSet;
4

  
5
import eu.dnetlib.data.mapreduce.hbase.dedup.cc.VertexWritable;
6
import org.apache.commons.lang.StringUtils;
7
import org.apache.hadoop.io.Text;
8
import org.junit.Test;
9

  
10
import static org.junit.Assert.assertTrue;
11

  
12
/**
13
 * Created by claudio on 15/10/15.
14
 */
15
public class VertexWritableTest {
16

  
17
	@Test
18
	public void testSerialise() {
19
		VertexWritable v = new VertexWritable();
20

  
21
		v.setActivated(true);
22
		v.setVertexId(new Text("a"));
23

  
24
		TreeSet<Text> edges = new TreeSet<Text>();
25
		for(int i=0; i<5; i++) {
26
			edges.add(new Text("" + i));
27
		}
28
		v.setEdges(edges);
29

  
30
		assertTrue(v.toString() != null);
31
		final String json = v.toJSON();
32
		assertTrue(StringUtils.isNotBlank(json));
33

  
34
		System.out.println(json);
35

  
36
		final VertexWritable v1 = VertexWritable.fromJSON(json);
37
		final String json1 = v1.toJSON();
38
		assertTrue(json.equals(json1));
39

  
40
		System.out.println(json1);
41
	}
42

  
43
}
modules/dnet-mapreduce-jobs/trunk/src/test/java/eu/dnetlib/data/mapreduce/dedup/TitleOrderingTest.java
1
package eu.dnetlib.data.mapreduce.dedup;
2

  
3
import java.util.LinkedList;
4
import java.util.List;
5
import java.util.Map;
6
import java.util.PriorityQueue;
7
import java.util.Queue;
8
import java.util.UUID;
9

  
10
import org.apache.commons.io.IOUtils;
11
import org.junit.Before;
12
import org.junit.Test;
13
import org.springframework.core.io.ClassPathResource;
14

  
15
import com.google.common.collect.Lists;
16
import com.google.common.collect.Maps;
17

  
18
import eu.dnetlib.pace.clustering.NGramUtils;
19
import eu.dnetlib.pace.config.Type;
20
import eu.dnetlib.pace.model.Field;
21
import eu.dnetlib.pace.model.FieldListImpl;
22
import eu.dnetlib.pace.model.FieldValueImpl;
23
import eu.dnetlib.pace.model.MapDocument;
24
import eu.dnetlib.pace.model.MapDocumentComparator;
25

  
26
public class TitleOrderingTest {
27

  
28
	private List<MapDocument> results = Lists.newArrayList();
29

  
30
	@Before
31
	public void setUp() throws Exception {
32

  
33
		final List<String> lines = IOUtils.readLines(new ClassPathResource("eu/dnetlib/data/mapreduce/dedup/titles.txt").getInputStream());
34
		for (final String title : lines) {
35
			final Map<String, Field> fieldMap = Maps.newHashMap();
36
			final FieldListImpl list = new FieldListImpl();
37
			list.add(new FieldValueImpl(Type.String, "title", title));
38
			fieldMap.put("title", list);
39
			results.add(new MapDocument("id-" + UUID.randomUUID(), fieldMap));
40
		}
41
	}
42

  
43
	@Test
44
	public void test() {
45

  
46
		final Queue<MapDocument> queue = new PriorityQueue<MapDocument>(100, new MapDocumentComparator("title"));
47

  
48
		queue.addAll(results);
49

  
50
		final Queue<MapDocument> queue2 = simplifyQueue(queue);
51

  
52
		while (!queue2.isEmpty()) {
53
			final MapDocument doc = queue2.remove();
54
			System.out.println(doc.values("title").stringValue());
55
		}
56
	}
57

  
58
	private Queue<MapDocument> simplifyQueue(final Queue<MapDocument> queue) {
59
		final Queue<MapDocument> q = new LinkedList<MapDocument>();
60

  
61
		String fieldRef = "";
62
		final List<MapDocument> tempResults = Lists.newArrayList();
63

  
64
		while (!queue.isEmpty()) {
65
			final MapDocument result = queue.remove();
66

  
67
			if (!result.values("title").isEmpty()) {
68
				final String field = NGramUtils.cleanupForOrdering(result.values("title").stringValue());
69
				if (field.equals(fieldRef)) {
70
					tempResults.add(result);
71
				} else {
72
					if (tempResults.size() < 5) {
73
						q.addAll(tempResults);
74
					} else {
75
						System.out.println("Skipped field: " + fieldRef + " - size: " + tempResults.size());
76
					}
77
					tempResults.clear();
78
					tempResults.add(result);
79
					fieldRef = field;
80
				}
81
			}
82
		}
83
		if (tempResults.size() < 5) {
84
			q.addAll(tempResults);
85
		} else {
86
			System.out.println("Skipped field: " + fieldRef + " - size: " + tempResults.size());
87
		}
88

  
89
		return q;
90
	}
91

  
92
}
modules/dnet-mapreduce-jobs/trunk/src/test/java/eu/dnetlib/data/mapreduce/hbase/dedup/experiment/CsvEntryTest.java
1
package eu.dnetlib.data.mapreduce.hbase.dedup.experiment;
2

  
3
import org.hsqldb.util.CSVWriter;
4
import org.junit.Test;
5
import org.junit.Before;
6
import org.junit.After;
7

  
8
import static org.junit.Assert.assertNotNull;
9
import static org.junit.Assert.assertTrue;
10

  
11
/**
12
 * CsvEntry Tester.
13
 *
14
 * @author <Authors name>
15
 * @version 1.0
16
 * @since <pre>Apr 20, 2016</pre>
17
 */
18
public class CsvEntryTest {
19

  
20
	private CsvEntry csvEntry;
21

  
22
	@Before
23
	public void before() throws Exception {
24
		csvEntry = new CsvEntry();
25
	}
26

  
27
	/**
28
	 * Method: addFeature(final String f)
29
	 */
30
	@Test
31
	public void testAddFeature() throws Exception {
32
		csvEntry.addFeature("a");
33
		assertTrue(csvEntry.getFeatures().contains("a"));
34
	}
35

  
36
	/**
37
	 * Method: getFeatures()
38
	 */
39
	@Test
40
	public void testGetFeatures() throws Exception {
41
		csvEntry.addFeature("a");
42
		assertNotNull(csvEntry.getFeatures());
43
		assertTrue(csvEntry.getFeatures().size() == 1);
44
	}
45

  
46
	/**
47
	 * Method: fromJson(final String json)
48
	 */
49
	@Test
50
	public void testFromJson() throws Exception {
51
		csvEntry.addFeature("a");
52
		csvEntry.addFeature("b");
53

  
54
		final String json = csvEntry.toString();
55

  
56
		final CsvEntry another = CsvEntry.fromJson(json);
57

  
58
		assertTrue(another.equals(csvEntry));
59
	}
60

  
61
}
modules/dnet-mapreduce-jobs/trunk/src/test/java/eu/dnetlib/data/mapreduce/hbase/dedup/experiment/CsvSerialiserTest.java
1
package eu.dnetlib.data.mapreduce.hbase.dedup.experiment;
2

  
3
import static org.junit.Assert.assertEquals;
4

  
5
import java.util.Iterator;
6
import java.util.List;
7
import java.util.Set;
8
import java.util.UUID;
9

  
10
import com.google.common.base.Predicate;
11
import com.google.common.base.Splitter;
12
import com.google.common.collect.Iterables;
13
import com.google.common.collect.Lists;
14
import com.google.common.collect.Sets;
15
import eu.dnetlib.pace.model.Person;
16
import org.apache.commons.lang.RandomStringUtils;
17
import org.apache.commons.lang.StringUtils;
18
import org.apache.commons.lang.math.RandomUtils;
19
import org.apache.commons.logging.Log;
20
import org.apache.commons.logging.LogFactory;
21
import org.junit.Before;
22
import org.junit.Test;
23

  
24
/**
25
 * Created by claudio on 26/04/16.
26
 */
27
public class CsvSerialiserTest {
28

  
29
	private static final Log log = LogFactory.getLog(CsvSerialiserTest.class);
30

  
31
	private CsvSerialiser csvSerialiser;
32

  
33
	private static List<String> ALL_FEATURES = Lists.newLinkedList();
34

  
35
	static {
36
		ALL_FEATURES.add("a");
37
		ALL_FEATURES.add("b");
38
		ALL_FEATURES.add("c");
39
		ALL_FEATURES.add("d");
40
		ALL_FEATURES.add("e");
41
		ALL_FEATURES.add("f");
42
	}
43

  
44
	@Before
45
	public void setUp() {
46
		csvSerialiser = new CsvSerialiser();
47
	}
48

  
49
	@Test
50
	public void testSerialiser() {
51
		final List<CsvEntry> list = Lists.newArrayList();
52

  
53
		final int nRows = RandomUtils.nextInt(10) + 3;
54
		for(int i = 0; i<nRows; i++) {
55
			list.add(getRandomCsvEntry());
56
		}
57

  
58
		final String csv = csvSerialiser.asCSV(list);
59

  
60
		log.info("\n" + csv);
61

  
62
		verifyLength(csv);
63
	}
64

  
65
	@Test
66
	public void testSerialiser2() {
67
		final List<CsvEntry> list = Lists.newArrayList();
68

  
69
		final int nRows = RandomUtils.nextInt(10) + 3;
70
		for(int i = 0; i<nRows; i++) {
71
			list.add(getCsvEntry(i));
72
		}
73

  
74
		final String csv = csvSerialiser.asCSV(list);
75
		log.info("\n" + csv);
76

  
77
		verifyLength(csv);
78
	}
79

  
80
	@Test
81
	public void testSerialiser3() {
82
		final String name = "Manghi, Paolo as ";
83
		final Person p = new Person(name, false);
84
		final String s = p.getSurnameString() + StringUtils.substring(p.getNameString(), 0, 1);
85

  
86
		log.info(String.format("'%s'", s.replaceAll("[^a-zA-Z ]", "").toLowerCase().trim()));
87
	}
88

  
89
	private void verifyLength(final String csv) {
90
		final Iterator<String> lines = Splitter.on("\n").split(csv).iterator();
91
		final List<String> header = Lists.newArrayList(Splitter.on(",").split(lines.next()));
92

  
93
		while(lines.hasNext()) {
94
			List<String> line = Lists.newArrayList(Splitter.on(",").trimResults().omitEmptyStrings().split(lines.next()));
95
			if (!line.isEmpty()) {
96
				assertEquals(header.size(), line.size());
97
			}
98
		}
99
	}
100

  
101
	private CsvEntry getCsvEntry(final int i) {
102
		final CsvEntry e = new CsvEntry();
103
		e.setKey(i+"");
104

  
105
		final Set<String> features = Sets.newLinkedHashSet(Iterables.filter(ALL_FEATURES, new Predicate<String>() {
106
			@Override
107
			public boolean apply(final String s) {
108
				return RandomUtils.nextBoolean();
109
			}
110
		}));
111

  
112
		e.setFeatures(features);
113

  
114
		log.info(String.format("%s - %s", i, features));
115
		//log.info(e.toString() + "\n");
116

  
117
		return e;
118
	}
119

  
120
	public CsvEntry getRandomCsvEntry() {
121
		final CsvEntry e = new CsvEntry();
122
		e.setKey(UUID.randomUUID().toString());
123
		final int nFeatures = RandomUtils.nextInt(4) + 1;
124
		for(int i = 0; i<nFeatures; i++) {
125
			e.addFeature("ft." + RandomStringUtils.randomAlphabetic(2) + " \"" + RandomStringUtils.randomAlphabetic(2) + "\" " + RandomStringUtils.randomAlphabetic(2));
126
		}
127
		return e;
128
	}
129
}
modules/dnet-mapreduce-jobs/trunk/src/test/java/eu/dnetlib/data/mapreduce/hbase/broker/EventFactoryTest.java
1
package eu.dnetlib.data.mapreduce.hbase.broker;
2

  
3
import java.util.UUID;
4

  
5
import org.apache.commons.lang.math.RandomUtils;
6
import org.apache.commons.logging.Log;
7
import org.apache.commons.logging.LogFactory;
8
import org.dom4j.DocumentException;
9
import org.junit.Test;
10

  
11
import com.googlecode.protobuf.format.JsonFormat;
12

  
13
import eu.dnetlib.broker.objects.OpenAireEventPayload;
14
import eu.dnetlib.data.mapreduce.hbase.broker.mapping.EventFactory;
15
import eu.dnetlib.data.mapreduce.hbase.broker.mapping.HighlightFactory;
16
import eu.dnetlib.data.mapreduce.hbase.broker.mapping.OpenAireEventPayloadFactory;
17
import eu.dnetlib.data.mapreduce.hbase.broker.model.EventMessage;
18
import eu.dnetlib.data.mapreduce.util.OafTest;
19
import eu.dnetlib.data.proto.FieldTypeProtos.KeyValue;
20
import eu.dnetlib.data.proto.FieldTypeProtos.Qualifier;
21
import eu.dnetlib.data.proto.FieldTypeProtos.StructuredProperty;
22
import eu.dnetlib.data.proto.OafProtos.OafEntity;
23
import eu.dnetlib.data.proto.OafProtos.OafEntity.Builder;
24
import eu.dnetlib.data.proto.ResultProtos.Result;
25
import eu.dnetlib.data.proto.ResultProtos.Result.Instance;
26
import eu.dnetlib.data.proto.TypeProtos.Type;
27

  
28
/**
29
 * Created by claudio on 22/07/16.
30
 */
31
public class EventFactoryTest {
32

  
33
	private static final Log log = LogFactory.getLog(EventFactoryTest.class);
34

  
35
	@Test
36
	public void testEventFactory() throws DocumentException {
37

  
38
		final OafEntity source = getEntity("id_1", null, "pid_1").setResult(
39
				Result.newBuilder().setMetadata(
40
						Result.Metadata.newBuilder().setDateofacceptance(OafTest.sf("2012-01-01"))
41
								.addTitle(sp("vvvv Title", "main title", "dnet:dataCite_title"))
42
								.setResulttype(q("publication", "dnet:result_typologies")))
43
						.addInstance(Instance.newBuilder()
44
								.setHostedby(kv("456", "PubMed"))
45
								.setLicence(q("OPEN", "dnet:licenses"))
46
								.addUrl("http://456")))
47
				.build();
48

  
49
		final OafEntity oaf = getEntity("id_2", "originalId_2", "pid_2").setResult(
50
				Result.newBuilder().setMetadata(
51
						Result.Metadata.newBuilder().setDateofacceptance(OafTest.sf(""))
52
								.addTitle(sp("aaaa Title", "main title", "dnet:dataCite_title"))
53
								.setResulttype(q("publication", "dnet:result_typologies")))
54
						.addInstance(
55
								Instance.newBuilder()
56
										.setHostedby(kv("123", "Puma"))
57
										.setLicence(q("CLOSED", "dnet:licenses"))
58
										.addUrl("http://123")))
59
				.build();
60

  
61
		log.info("oaf: " + JsonFormat.printToString(oaf));
62

  
63
		final float trust = RandomUtils.nextFloat();
64
		final EventMessage event = EventFactory.asEvent(oaf, Topic.ENRICH_MISSING_PUBLICATION_DATE, new OpenAireEventPayload(), source, trust);
65

  
66
		final OpenAireEventPayload p = OpenAireEventPayloadFactory.fromOAF(oaf, source, trust);
67
		final OpenAireEventPayload payload = HighlightFactory.highlightEnrichPublicationDate(p, OafTest.sf("2012-01-01"));
68

  
69
		final String payloadJson = payload.toJSON();
70

  
71
		log.info("payload: " + payloadJson);
72
		log.info("payload: " + OpenAireEventPayload.fromJSON(payloadJson).toJSON());
73

  
74
		event.setPayload(payload.toJSON());
75

  
76
		log.info("event: " + event.toString());
77

  
78
	}
79

  
80
	private Qualifier.Builder q(final String classid, final String scheme) {
81
		return OafTest.getQualifier(classid, scheme);
82
	}
83

  
84
	private KeyValue.Builder kv(final String k, final String v) {
85
		return KeyValue.newBuilder().setKey(k).setValue(v);
86
	}
87

  
88
	private StructuredProperty.Builder sp(final String v, final String classid, final String scheme) {
89
		return OafTest.getStructuredproperty(v, classid, scheme);
90
	}
91

  
92
	private OafEntity.Builder getEntity(final String id, final String originalId, final String pid) {
93
		final Builder entity =
94
				OafEntity.newBuilder().setType(Type.result).setId(id).addOriginalId(originalId != null ? originalId : UUID.randomUUID().toString());
95

  
96
		if (pid != null) {
97
			entity.addPid(OafTest.getStructuredproperty(pid, "doi", "scheme"));
98
		}
99

  
100
		return entity;
101
	}
102

  
103
}
modules/dnet-mapreduce-jobs/trunk/src/test/java/eu/dnetlib/data/mapreduce/hbase/index/config/RelClassesTest.java
1
package eu.dnetlib.data.mapreduce.hbase.index.config;
2

  
3
import org.junit.Test;
4

  
5
import static org.junit.Assert.assertEquals;
6
import static org.junit.Assert.assertNotNull;
7

  
8
public class RelClassesTest {
9

  
10
	public static final String relClassesJson =
11
			"[\"isProvidedBy:provides\",\r\n\"provides:isProvidedBy\",\r\n\"merges:isMergedIn\",\r\n\"isMergedIn:merges\",\r\n\"isSimilarTo:isSimilarTo\",\r\n\"isCoAuthorOf:isCoAuthorOf\",\r\n\"isAuthorOf:hasAuthor\",\r\n\"hasAuthor:isAuthorOf\",\r\n\"isParticipant:hasParticipant\",\r\n\"hasParticipant:isParticipant\",\r\n\"isProducedBy:produces\",\r\n\"produces:isProducedBy\",\r\n\"hasAmongTopNSimilarDocuments:isAmongTopNSimilarDocuments\",\r\n\"isAmongTopNSimilarDocuments:hasAmongTopNSimilarDocuments\",\r\n\"isRelatedTo:isRelatedTo\",\r\n\"isContact:hasContact\",\r\n\"hasContact:isContact\",\n"
12
					+ "\"isContributorOf:hasContributor\","
13
					+ "\"hasContributor:isContributorOf\","
14
					+ "\"isPartOf:hasPart\",\n"
15
					+ "\"hasPart:isPartOf\",\n"
16
					+ "\"isSupplementedBy:isSupplementTo\","
17
					+ "\"isSupplementTo:isSupplementedBy\"]";
18

  
19
	@Test
20
	public void testRelClasses() {
21
		RelClasses relClasses = new RelClasses(relClassesJson);
22
		assertNotNull(relClasses);
23

  
24
		String providedBy = relClasses.getInverse("provides");
25
		assertEquals(providedBy, "isProvidedBy");
26

  
27
		String provides = relClasses.getInverse("isProvidedBy");
28
		assertEquals(provides, "provides");
29
	}
30
}
modules/dnet-mapreduce-jobs/trunk/src/test/java/eu/dnetlib/data/mapreduce/hbase/index/config/Context.java
1
package eu.dnetlib.data.mapreduce.hbase.index.config;
2

  
3
public class Context {
4

  
5
	public final static String xml = "<ContextDSResources>" + "<entry id=\"egi\" label=\"EGI\" name=\"context\" type=\"community\"/>"
6
			+ "<entry id=\"egi::classification\" label=\"Scientific Disciplines\" name=\"category\" type=\"\"/>"
7
			+ "<entry id=\"egi::classification::natsc\" label=\"Natural Sciences\" name=\"concept\" type=\"\"/>"
8
			+ "<entry id=\"egi::classification::natsc::math\" label=\"Mathematics\" name=\"concept\" type=\"\"/>"
9
			+ "<entry id=\"egi::classification::natsc::math::applied\" label=\"Applied Mathematics\" name=\"concept\" type=\"\"/>"
10
			+ "<entry id=\"egi::classification::natsc::math::pure\" label=\"Pure Mathematics\" name=\"concept\" type=\"\"/>"
11
			+ "<entry id=\"egi::classification::natsc::math::stats\" label=\"Statistics and Probability\" name=\"concept\" type=\"\"/>"
12
			+ "<entry id=\"egi::classification::natsc::math::other\" label=\"Other\" name=\"concept\" type=\"\"/>"
13
			+ "<entry id=\"egi::classification::natsc::cosc\" label=\"Computer sciences\" name=\"concept\" type=\"\"/>"
14
			+ "<entry id=\"egi::classification::natsc::cosc::algo\" label=\"Algorithms\" name=\"concept\" type=\"\"/>"
15
			+ "<entry id=\"egi::classification::natsc::cosc::artii\" label=\"Artificial Intelligence\" name=\"concept\" type=\"\"/>"
16
			+ "<entry id=\"egi::classification::natsc::cosc::carc\" label=\"Computer architecture\" name=\"concept\" type=\"\"/>"
17
			+ "<entry id=\"egi::classification::natsc::cosc::ccomm\" label=\"Computer communications\" name=\"concept\" type=\"\"/>"
18
			+ "<entry id=\"egi::classification::natsc::cosc::cgraph\" label=\"Computer graphics\" name=\"concept\" type=\"\"/>"
19
			+ "<entry id=\"egi::classification::natsc::cosc::csecr\" label=\"Computer security and reliability\" name=\"concept\" type=\"\"/>"
20
			+ "<entry id=\"egi::classification::natsc::cosc::dstr\" label=\"Data structures\" name=\"concept\" type=\"\"/>"
21
			+ "<entry id=\"egi::classification::natsc::cosc::disc\" label=\"Distributed computing\" name=\"concept\" type=\"\"/>"
22
			+ "<entry id=\"egi::classification::natsc::cosc::hci\" label=\"Human-computer interaction\" name=\"concept\" type=\"\"/>"
23
			+ "<entry id=\"egi::classification::natsc::cosc::opes\" label=\"Operating systems\" name=\"concept\" type=\"\"/>"
24
			+ "<entry id=\"egi::classification::natsc::cosc::parc\" label=\"Parallel computing\" name=\"concept\" type=\"\"/>"
25
			+ "<entry id=\"egi::classification::natsc::cosc::plan\" label=\"Programming languages\" name=\"concept\" type=\"\"/>"
26
			+ "<entry id=\"egi::classification::natsc::cosc::qcom\" label=\"Quantum computing\" name=\"concept\" type=\"\"/>"
27
			+ "<entry id=\"egi::classification::natsc::cosc::softe\" label=\"software engineering\" name=\"concept\" type=\"\"/>"
28
			+ "<entry id=\"egi::classification::natsc::cosc::theo\" label=\"Theory of computation\" name=\"concept\" type=\"\"/>"
29
			+ "<entry id=\"egi::classification::natsc::cosc::other\" label=\"Other\" name=\"concept\" type=\"\"/>"
30
			+ "<entry id=\"egi::classification::natsc::infos\" label=\"Information sciences\" name=\"concept\" type=\"\"/>"
31
			+ "<entry id=\"egi::classification::natsc::infos::dman\" label=\"Data management\" name=\"concept\" type=\"\"/>"
32
			+ "<entry id=\"egi::classification::natsc::infos::dmin\" label=\"Data mining\" name=\"concept\" type=\"\"/>"
33
			+ "<entry id=\"egi::classification::natsc::infos::iret\" label=\"Information retrieval\" name=\"concept\" type=\"\"/>"
34
			+ "<entry id=\"egi::classification::natsc::infos::iman\" label=\"Information management\" name=\"concept\" type=\"\"/>"
35
			+ "<entry id=\"egi::classification::natsc::infos::kman\" label=\"Knowledge management\" name=\"concept\" type=\"\"/>"
36
			+ "<entry id=\"egi::classification::natsc::infos::mult\" label=\"Multimedia, hypermedia\" name=\"concept\" type=\"\"/>"
37
			+ "<entry id=\"egi::classification::natsc::infos::other\" label=\"Other\" name=\"concept\" type=\"\"/>"
38
			+ "<entry id=\"egi::classification::natsc::earths\" label=\"Earth sciences\" name=\"concept\" type=\"\"/>"
39
			+ "<entry id=\"egi::classification::natsc::earths::atms\" label=\"Atmospheric science\" name=\"concept\" type=\"\"/>"
40
			+ "<entry id=\"egi::classification::natsc::earths::clim\" label=\"Climate research\" name=\"concept\" type=\"\"/>"
41
			+ "<entry id=\"egi::classification::natsc::earths::geoc\" label=\"Geochemistry\" name=\"concept\" type=\"\"/>"
42
			+ "<entry id=\"egi::classification::natsc::earths::geol\" label=\"Geology\" name=\"concept\" type=\"\"/>"
43
			+ "<entry id=\"egi::classification::natsc::earths::geop\" label=\"Geophysics\" name=\"concept\" type=\"\"/>"
44
			+ "<entry id=\"egi::classification::natsc::earths::hydr\" label=\"Hydrology\" name=\"concept\" type=\"\"/>"
45
			+ "<entry id=\"egi::classification::natsc::earths::mine\" label=\"Mineralogy\" name=\"concept\" type=\"\"/>"
46
			+ "<entry id=\"egi::classification::natsc::earths::ocea\" label=\"Oceanography\" name=\"concept\" type=\"\"/>"
47
			+ "<entry id=\"egi::classification::natsc::earths::pala\" label=\"palaeontology\" name=\"concept\" type=\"\"/>"
48
			+ "<entry id=\"egi::classification::natsc::earths::pgeo\" label=\"Physical geography\" name=\"concept\" type=\"\"/>"
49
			+ "<entry id=\"egi::classification::natsc::earths::seis\" label=\"Seismology\" name=\"concept\" type=\"\"/>"
50
			+ "<entry id=\"egi::classification::natsc::earths::volc\" label=\"Volcanology\" name=\"concept\" type=\"\"/>"
51
			+ "<entry id=\"egi::classification::natsc::earths::other\" label=\"Other\" name=\"concept\" type=\"\"/>"
52
			+ "<entry id=\"egi::classification::natsc::biosc\" label=\"Biological sciences\" name=\"concept\" type=\"\"/>"
53
			+ "<entry id=\"egi::classification::natsc::biosc::aerob\" label=\"Aerobiology\" name=\"concept\" type=\"\"/>"
54
			+ "<entry id=\"egi::classification::natsc::biosc::bact\" label=\"Bacteriology\" name=\"concept\" type=\"\"/>"
55
			+ "<entry id=\"egi::classification::natsc::biosc::behav\" label=\"Behavioural biology\" name=\"concept\" type=\"\"/>"
56
			+ "<entry id=\"egi::classification::natsc::biosc::bimol\" label=\"Biochemistry and molecular biology\" name=\"concept\" type=\"\"/>"
57
			+ "<entry id=\"egi::classification::natsc::biosc::bcons\" label=\"Biodiversity conservation\" name=\"concept\" type=\"\"/>"
58
			+ "<entry id=\"egi::classification::natsc::biosc::binfo\" label=\"Bioinformatics\" name=\"concept\" type=\"\"/>"
59
			+ "<entry id=\"egi::classification::natsc::biosc::brhy\" label=\"Biological rhythm\" name=\"concept\" type=\"\"/>"
60
			+ "<entry id=\"egi::classification::natsc::biosc::biol\" label=\"Biology\" name=\"concept\" type=\"\"/>"
61
			+ "<entry id=\"egi::classification::natsc::biosc::bioph\" label=\"Biophysics\" name=\"concept\" type=\"\"/>"
62
			+ "<entry id=\"egi::classification::natsc::biosc::bota\" label=\"Botany\" name=\"concept\" type=\"\"/>"
63
			+ "<entry id=\"egi::classification::natsc::biosc::cellb\" label=\"Cell biology\" name=\"concept\" type=\"\"/>"
64
			+ "<entry id=\"egi::classification::natsc::biosc::cobio\" label=\"Computational biology\" name=\"concept\" type=\"\"/>"
65
			+ "<entry id=\"egi::classification::natsc::biosc::cryo\" label=\"Cryobiology\" name=\"concept\" type=\"\"/>"
66
			+ "<entry id=\"egi::classification::natsc::biosc::devb\" label=\"Developmental biology\" name=\"concept\" type=\"\"/>"
67
			+ "<entry id=\"egi::classification::natsc::biosc::ecol\" label=\"Ecology\" name=\"concept\" type=\"\"/>"
68
			+ "<entry id=\"egi::classification::natsc::biosc::evolb\" label=\"Evolutionary biology\" name=\"concept\" type=\"\"/>"
69
			+ "<entry id=\"egi::classification::natsc::biosc::gehe\" label=\"Genetics and heredity\" name=\"concept\" type=\"\"/>"
70
			+ "<entry id=\"egi::classification::natsc::biosc::marin\" label=\"Marine and Freshwater biology\" name=\"concept\" type=\"\"/>"
71
			+ "<entry id=\"egi::classification::natsc::biosc::mbio\" label=\"Mathematical biology\" name=\"concept\" type=\"\"/>"
72
			+ "<entry id=\"egi::classification::natsc::biosc::mibio\" label=\"Microbiology\" name=\"concept\" type=\"\"/>"
73
			+ "<entry id=\"egi::classification::natsc::biosc::myco\" label=\"Mycology\" name=\"concept\" type=\"\"/>"
74
			+ "<entry id=\"egi::classification::natsc::biosc::plant\" label=\"Plant science\" name=\"concept\" type=\"\"/>"
75
			+ "<entry id=\"egi::classification::natsc::biosc::repr\" label=\"Reproductive biology\" name=\"concept\" type=\"\"/>"
76
			+ "<entry id=\"egi::classification::natsc::biosc::strub\" label=\"Structural biology\" name=\"concept\" type=\"\"/>"
77
			+ "<entry id=\"egi::classification::natsc::biosc::taxo\" label=\"Taxonomy\" name=\"concept\" type=\"\"/>"
78
			+ "<entry id=\"egi::classification::natsc::biosc::theob\" label=\"Theoretical biology\" name=\"concept\" type=\"\"/>"
79
			+ "<entry id=\"egi::classification::natsc::biosc::therm\" label=\"Thermal biology\" name=\"concept\" type=\"\"/>"
80
			+ "<entry id=\"egi::classification::natsc::biosc::viro\" label=\"Virology\" name=\"concept\" type=\"\"/>"
81
			+ "<entry id=\"egi::classification::natsc::biosc::zool\" label=\"Zoology\" name=\"concept\" type=\"\"/>"
82
			+ "<entry id=\"egi::classification::natsc::biosc::other\" label=\"Other\" name=\"concept\" type=\"\"/>"
83
			+ "<entry id=\"egi::classification::natsc::physc\" label=\"Physical sciences\" name=\"concept\" type=\"\"/>"
84
			+ "<entry id=\"egi::classification::natsc::physc::acce\" label=\"Acceleration physics\" name=\"concept\" type=\"\"/>"
85
			+ "<entry id=\"egi::classification::natsc::physc::acou\" label=\"Acoustics\" name=\"concept\" type=\"\"/>"
86
			+ "<entry id=\"egi::classification::natsc::physc::aero\" label=\"Aerosol physics\" name=\"concept\" type=\"\"/>"
87
			+ "<entry id=\"egi::classification::natsc::physc::astrb\" label=\"Astrobiology\" name=\"concept\" type=\"\"/>"
88
			+ "<entry id=\"egi::classification::natsc::physc::astrn\" label=\"Astronomy\" name=\"concept\" type=\"\"/>"
89
			+ "<entry id=\"egi::classification::natsc::physc::astrp\" label=\"Astroparticle physics\" name=\"concept\" type=\"\"/>"
90
			+ "<entry id=\"egi::classification::natsc::physc::astrph\" label=\"Astrophysics\" name=\"concept\" type=\"\"/>"
91
			+ "<entry id=\"egi::classification::natsc::physc::atmc\" label=\"Atomic\" name=\"concept\" type=\"\"/>"
92
			+ "<entry id=\"egi::classification::natsc::physc::chph\" label=\"Chemical physics\" name=\"concept\" type=\"\"/>"
93
			+ "<entry id=\"egi::classification::natsc::physc::comph\" label=\"Computational physics\" name=\"concept\" type=\"\"/>"
94
			+ "<entry id=\"egi::classification::natsc::physc::conds\" label=\"Condensed matter physics\" name=\"concept\" type=\"\"/>"
95
			+ "<entry id=\"egi::classification::natsc::physc::cryog\" label=\"Cryogenics\" name=\"concept\" type=\"\"/>"
96
			+ "<entry id=\"egi::classification::natsc::physc::fluid\" label=\"Fluid mechanics\" name=\"concept\" type=\"\"/>"
97
			+ "<entry id=\"egi::classification::natsc::physc::fusi\" label=\"Fusion\" name=\"concept\" type=\"\"/>"
98
			+ "<entry id=\"egi::classification::natsc::physc::hene\" label=\"High energy physics\" name=\"concept\" type=\"\"/>"
99
			+ "<entry id=\"egi::classification::natsc::physc::mathp\" label=\"Mathematical physics\" name=\"concept\" type=\"\"/>"
100
			+ "<entry id=\"egi::classification::natsc::physc::medip\" label=\"Medical physics\" name=\"concept\" type=\"\"/>"
101
			+ "<entry id=\"egi::classification::natsc::physc::molep\" label=\"Molecular physics\" name=\"concept\" type=\"\"/>"
102
			+ "<entry id=\"egi::classification::natsc::physc::nuclp\" label=\"Nuclear physics\" name=\"concept\" type=\"\"/>"
103
			+ "<entry id=\"egi::classification::natsc::physc::optc\" label=\"Optics\" name=\"concept\" type=\"\"/>"
104
			+ "<entry id=\"egi::classification::natsc::physc::partp\" label=\"Particle physics\" name=\"concept\" type=\"\"/>"
105
			+ "<entry id=\"egi::classification::natsc::physc::phys\" label=\"Physics\" name=\"concept\" type=\"\"/>"
106
			+ "<entry id=\"egi::classification::natsc::physc::plans\" label=\"Planetary science\" name=\"concept\" type=\"\"/>"
107
			+ "<entry id=\"egi::classification::natsc::physc::plsm\" label=\"Plasma physics\" name=\"concept\" type=\"\"/>"
108
			+ "<entry id=\"egi::classification::natsc::physc::spac\" label=\"Space physics\" name=\"concept\" type=\"\"/>"
109
			+ "<entry id=\"egi::classification::natsc::physc::quant\" label=\"Quantum physics\" name=\"concept\" type=\"\"/>"
110
			+ "<entry id=\"egi::classification::natsc::physc::other\" label=\"Other\" name=\"concept\" type=\"\"/>"
111
			+ "<entry id=\"egi::classification::natsc::chesc\" label=\"Chemical sciences\" name=\"concept\" type=\"\"/>"
112
			+ "<entry id=\"egi::classification::natsc::chesc::analc\" label=\"Analytical chemistry\" name=\"concept\" type=\"\"/>"
113
			+ "<entry id=\"egi::classification::natsc::chesc::chem\" label=\"Chemistry\" name=\"concept\" type=\"\"/>"
114
			+ "<entry id=\"egi::classification::natsc::chesc::collc\" label=\"Colloid chemistry\" name=\"concept\" type=\"\"/>"
115
			+ "<entry id=\"egi::classification::natsc::chesc::compc\" label=\"Computational chemistry\" name=\"concept\" type=\"\"/>"
116
			+ "<entry id=\"egi::classification::natsc::chesc::elecc\" label=\"Electrochemistry\" name=\"concept\" type=\"\"/>"
117
			+ "<entry id=\"egi::classification::natsc::chesc::innuc\" label=\"Inorganic and nuclear chemistry\" name=\"concept\" type=\"\"/>"
118
			+ "<entry id=\"egi::classification::natsc::chesc::mathc\" label=\"Mathematical chemistry\" name=\"concept\" type=\"\"/>"
119
			+ "<entry id=\"egi::classification::natsc::chesc::orgc\" label=\"Organic chemistry\" name=\"concept\" type=\"\"/>"
120
			+ "<entry id=\"egi::classification::natsc::chesc::phyc\" label=\"Physical chemistry\" name=\"concept\" type=\"\"/>"
121
			+ "<entry id=\"egi::classification::natsc::chesc::polc\" label=\"Polymer chemistry\" name=\"concept\" type=\"\"/>"
122
			+ "<entry id=\"egi::classification::natsc::chesc::other\" label=\"Other\" name=\"concept\" type=\"\"/>"
123
			+ "<entry id=\"egi::classification::engt\" label=\"Engineering and Technology\" name=\"concept\" type=\"\"/>"
124
			+ "<entry id=\"egi::classification::engt::cieng\" label=\"Civil engineering\" name=\"concept\" type=\"\"/>"
125
			+ "<entry id=\"egi::classification::engt::civeng::arche\" label=\"Architecture engineering\" name=\"concept\" type=\"\"/>"
126
			+ "<entry id=\"egi::classification::engt::civeng::cieng\" label=\"Civil engineering\" name=\"concept\" type=\"\"/>"
127
			+ "<entry id=\"egi::classification::engt::civeng::cipro\" label=\"Civil protection\" name=\"concept\" type=\"\"/>"
128
			+ "<entry id=\"egi::classification::engt::civeng::costr\" label=\"Construction/Structural engineering\" name=\"concept\" type=\"\"/>"
129
			+ "<entry id=\"egi::classification::engt::civeng::treng\" label=\"Transport engineering\" name=\"concept\" type=\"\"/>"
130
			+ "<entry id=\"egi::classification::engt::civeng::other\" label=\"Other\" name=\"concept\" type=\"\"/>"
131
			+ "<entry id=\"egi::classification::engt::eeie\" label=\"Electrical, electronic and information engineering\" name=\"concept\" type=\"\"/>"
132
			+ "<entry id=\"egi::classification::engt::eeie::comes\" label=\"Communication engineering and systems\" name=\"concept\" type=\"\"/>"
133
			+ "<entry id=\"egi::classification::engt::eeie::comha\" label=\"Computer hardware and architecture\" name=\"concept\" type=\"\"/>"
134
			+ "<entry id=\"egi::classification::engt::eeie::elele\" label=\"Electrical and electronic engineering\" name=\"concept\" type=\"\"/>"
135
			+ "<entry id=\"egi::classification::engt::eeie::robaut\" label=\"Robotics, Automation and Control Systems\" name=\"concept\" type=\"\"/>"
136
			+ "<entry id=\"egi::classification::engt::eeie::other\" label=\"Other\" name=\"concept\" type=\"\"/>"
137
			+ "<entry id=\"egi::classification::engt::meng\" label=\"Mechanical engineering\" name=\"concept\" type=\"\"/>"
138
			+ "<entry id=\"egi::classification::engt::meng::apmec\" label=\"Applied mechanics\" name=\"concept\" type=\"\"/>"
139
			+ "<entry id=\"egi::classification::engt::meng::audm\" label=\"Audio engineering\" name=\"concept\" type=\"\"/>"
140
			+ "<entry id=\"egi::classification::engt::meng::nucl\" label=\"Nuclear related engineering\" name=\"concept\" type=\"\"/>"
141
			+ "<entry id=\"egi::classification::engt::meng::relia\" label=\"Reliability analysis\" name=\"concept\" type=\"\"/>"
142
			+ "<entry id=\"egi::classification::engt::meng::therd\" label=\"Thermodynamics\" name=\"concept\" type=\"\"/>"
143
			+ "<entry id=\"egi::classification::engt::meng::other\" label=\"other\" name=\"concept\" type=\"\"/>"
144
			+ "<entry id=\"egi::classification::engt::aeros\" label=\"Aerospace engineering\" name=\"concept\" type=\"\"/>"
145
			+ "<entry id=\"egi::classification::engt::aeros::aeren\" label=\"Aeronautical engineering\" name=\"concept\" type=\"\"/>"
146
			+ "<entry id=\"egi::classification::engt::aeros::astren\" label=\"Astronautical engineering\" name=\"concept\" type=\"\"/>"
147
			+ "<entry id=\"egi::classification::engt::aeros::other\" label=\"Other\" name=\"concept\" type=\"\"/>"
148
			+ "<entry id=\"egi::classification::engt::cheme\" label=\"Chemical engineering\" name=\"concept\" type=\"\"/>"
149
			+ "<entry id=\"egi::classification::engt::cheme::cheme\" label=\"Chemical engineering\" name=\"concept\" type=\"\"/>"
150
			+ "<entry id=\"egi::classification::engt::cheme::chempr\" label=\"Chemical process engineering\" name=\"concept\" type=\"\"/>"
151
			+ "<entry id=\"egi::classification::engt::cheme::other\" label=\"Other\" name=\"concept\" type=\"\"/>"
152
			+ "<entry id=\"egi::classification::engt::maten\" label=\"Materials engineering\" name=\"concept\" type=\"\"/>"
153
			+ "<entry id=\"egi::classification::engt::maten::ceram\" label=\"Ceramics\" name=\"concept\" type=\"\"/>"
154
			+ "<entry id=\"egi::classification::engt::maten::coatf\" label=\"Coating and films\" name=\"concept\" type=\"\"/>"
155
			+ "<entry id=\"egi::classification::engt::maten::compos\" label=\"Composites\" name=\"concept\" type=\"\"/>"
156
			+ "<entry id=\"egi::classification::engt::maten::paperw\" label=\"Paper and wood\" name=\"concept\" type=\"\"/>"
157
			+ "<entry id=\"egi::classification::engt::maten::text\" label=\"Textiles\" name=\"concept\" type=\"\"/>"
158
			+ "<entry id=\"egi::classification::engt::maten::other\" label=\"Other\" name=\"concept\" type=\"\"/>"
159
			+ "<entry id=\"egi::classification::engt::bioeng\" label=\"Bioengineering and Biomedical engineering\" name=\"concept\" type=\"\"/>"
160
			+ "<entry id=\"egi::classification::engt::bioeng::bioeng\" label=\"Bioengineering\" name=\"concept\" type=\"\"/>"
161
			+ "<entry id=\"egi::classification::engt::bioeng::biomed\" label=\"Biomedical engineering\" name=\"concept\" type=\"\"/>"
162
			+ "<entry id=\"egi::classification::engt::bioeng::other\" label=\"Other\" name=\"concept\" type=\"\"/>"
163
			+ "<entry id=\"egi::classification::engt::enveng\" label=\"Environmental engineering\" name=\"concept\" type=\"\"/>"
164
			+ "<entry id=\"egi::classification::engt::enveng::enfue\" label=\"Energy and fuels\" name=\"concept\" type=\"\"/>"
165
			+ "<entry id=\"egi::classification::engt::enveng::geoen\" label=\"Geological engineering\" name=\"concept\" type=\"\"/>"
166
			+ "<entry id=\"egi::classification::engt::enveng::geote\" label=\"Geotechnics\" name=\"concept\" type=\"\"/>"
167
			+ "<entry id=\"egi::classification::engt::enveng::oceae\" label=\"Ocean engineering\" name=\"concept\" type=\"\"/>"
168
			+ "<entry id=\"egi::classification::engt::enveng::minep\" label=\"Mining and mineral processing\" name=\"concept\" type=\"\"/>"
169
			+ "<entry id=\"egi::classification::engt::enveng::petren\" label=\"Petroleum engineering\" name=\"concept\" type=\"\"/>"
170
			+ "<entry id=\"egi::classification::engt::enveng::remse\" label=\"Remote sensing\" name=\"concept\" type=\"\"/>"
171
			+ "<entry id=\"egi::classification::engt::enveng::seav\" label=\"Sea vessels\" name=\"concept\" type=\"\"/>"
172
			+ "<entry id=\"egi::classification::engt::enveng::other\" label=\"Other\" name=\"concept\" type=\"\"/>"
173
			+ "<entry id=\"egi::classification::engt::envbio\" label=\"Environmental biotechnology\" name=\"concept\" type=\"\"/>"
174
			+ "<entry id=\"egi::classification::engt::envbio::biore\" label=\"Bioremediation\" name=\"concept\" type=\"\"/>"
175
			+ "<entry id=\"egi::classification::engt::envbio::diabi\" label=\"Diagnostic biotechnologies\" name=\"concept\" type=\"\"/>"
176
			+ "<entry id=\"egi::classification::engt::envbio::other\" label=\"Other\" name=\"concept\" type=\"\"/>"
177
			+ "<entry id=\"egi::classification::engt::indbio\" label=\"Industrial  biotechnology\" name=\"concept\" type=\"\"/>"
178
			+ "<entry id=\"egi::classification::engt::indbio::biden\" label=\"Bio-derived novel materials\" name=\"concept\" type=\"\"/>"
179
			+ "<entry id=\"egi::classification::engt::indbio::bicat\" label=\"Biocatalysis\" name=\"concept\" type=\"\"/>"
180
			+ "<entry id=\"egi::classification::engt::indbio::bibul\" label=\"Bioderived bulk and fine chemicals\" name=\"concept\" type=\"\"/>"
181
			+ "<entry id=\"egi::classification::engt::indbio::bifue\" label=\"Biofuels\" name=\"concept\" type=\"\"/>"
182
			+ "<entry id=\"egi::classification::engt::indbio::bimat\" label=\"Biomaterials\" name=\"concept\" type=\"\"/>"
183
			+ "<entry id=\"egi::classification::engt::indbio::bipro\" label=\"Bioprocessing technologies\" name=\"concept\" type=\"\"/>"
184
			+ "<entry id=\"egi::classification::engt::indbio::biprd\" label=\"Bioproducts\" name=\"concept\" type=\"\"/>"
185
			+ "<entry id=\"egi::classification::engt::indbio::ferm\" label=\"Fermentation\" name=\"concept\" type=\"\"/>"
186
			+ "<entry id=\"egi::classification::engt::indbio::other\" label=\"Other\" name=\"concept\" type=\"\"/>"
187
			+ "<entry id=\"egi::classification::engt::nante\" label=\"Nano-technology\" name=\"concept\" type=\"\"/>"
188
			+ "<entry id=\"egi::classification::engt::nante::nanma\" label=\"Nano-materials\" name=\"concept\" type=\"\"/>"
189
			+ "<entry id=\"egi::classification::engt::nante::nanpr\" label=\"Nano-processes\" name=\"concept\" type=\"\"/>"
190
			+ "<entry id=\"egi::classification::engt::nante::other\" label=\"Other\" name=\"concept\" type=\"\"/>"
191
			+ "<entry id=\"egi::classification::medsc\" label=\"Medical and Health Sciences\" name=\"concept\" type=\"\"/>"
192
			+ "<entry id=\"egi::classification::medsc::basicm\" label=\"Basic medicine\" name=\"concept\" type=\"\"/>"
193
			+ "<entry id=\"egi::classification::medsc::basicm::anatm\" label=\"Anatomy and morphology\" name=\"concept\" type=\"\"/>"
194
			+ "<entry id=\"egi::classification::medsc::basicm::hugen\" label=\"Human genetics\" name=\"concept\" type=\"\"/>"
195
			+ "<entry id=\"egi::classification::medsc::basicm::immu\" label=\"Immunology\" name=\"concept\" type=\"\"/>"
196
			+ "<entry id=\"egi::classification::medsc::basicm::medch\" label=\"Medicinal chemistry\" name=\"concept\" type=\"\"/>"
197
			+ "<entry id=\"egi::classification::medsc::basicm::neusc\" label=\"Neuroscience\" name=\"concept\" type=\"\"/>"
198
			+ "<entry id=\"egi::classification::medsc::basicm::path\" label=\"Pathology\" name=\"concept\" type=\"\"/>"
199
			+ "<entry id=\"egi::classification::medsc::basicm::pharm\" label=\"Pharmacology and pharmacy\" name=\"concept\" type=\"\"/>"
200
			+ "<entry id=\"egi::classification::medsc::basicm::physi\" label=\"Physiology\" name=\"concept\" type=\"\"/>"
201
			+ "<entry id=\"egi::classification::medsc::basicm::toxi\" label=\"Toxicology\" name=\"concept\" type=\"\"/>"
202
			+ "<entry id=\"egi::classification::medsc::basicm::other\" label=\"Other\" name=\"concept\" type=\"\"/>"
203
			+ "<entry id=\"egi::classification::medsc::clinm\" label=\"Clinical medicine\" name=\"concept\" type=\"\"/>"
204
			+ "<entry id=\"egi::classification::medsc::clinm::alle\" label=\"Allergy\" name=\"concept\" type=\"\"/>"
205
			+ "<entry id=\"egi::classification::medsc::clinm::anae\" label=\"Anaesthesiology\" name=\"concept\" type=\"\"/>"
206
			+ "<entry id=\"egi::classification::medsc::clinm::andro\" label=\"Andrology\" name=\"concept\" type=\"\"/>"
207
			+ "<entry id=\"egi::classification::medsc::clinm::cardi\" label=\"Cardiac and Cardiovascular systems\" name=\"concept\" type=\"\"/>"
208
			+ "<entry id=\"egi::classification::medsc::clinm::emerg\" label=\"Critical care/Emergency medicine\" name=\"concept\" type=\"\"/>"
209
			+ "<entry id=\"egi::classification::medsc::clinm::dent\" label=\"Dentistry, oral surgery/medicine\" name=\"concept\" type=\"\"/>"
210
			+ "<entry id=\"egi::classification::medsc::clinm::derm\" label=\"Dermatology and venereal diseases\" name=\"concept\" type=\"\"/>"
211
			+ "<entry id=\"egi::classification::medsc::clinm::gastr\" label=\"Gastroenterology and hepatology\" name=\"concept\" type=\"\"/>"
212
			+ "<entry id=\"egi::classification::medsc::clinm::gener\" label=\"General and internal medicine\" name=\"concept\" type=\"\"/>"
213
			+ "<entry id=\"egi::classification::medsc::clinm::geria\" label=\"Geriatrics and gerontology\" name=\"concept\" type=\"\"/>"
214
			+ "<entry id=\"egi::classification::medsc::clinm::hema\" label=\"Hematology\" name=\"concept\" type=\"\"/>"
215
			+ "<entry id=\"egi::classification::medsc::clinm::compl\" label=\"Integrative and Complementary medicine\" name=\"concept\" type=\"\"/>"
216
			+ "<entry id=\"egi::classification::medsc::clinm::medim\" label=\"Medical imaging\" name=\"concept\" type=\"\"/>"
217
			+ "<entry id=\"egi::classification::medsc::clinm::nucim\" label=\"Nuclear medicine\" name=\"concept\" type=\"\"/>"
218
			+ "<entry id=\"egi::classification::medsc::clinm::obstg\" label=\"Obstetrics and gynaecology\" name=\"concept\" type=\"\"/>"
219
			+ "<entry id=\"egi::classification::medsc::clinm::oncol\" label=\"Oncology\" name=\"concept\" type=\"\"/>"
220
			+ "<entry id=\"egi::classification::medsc::clinm::ophth\" label=\"Ophthalmology\" name=\"concept\" type=\"\"/>"
221
			+ "<entry id=\"egi::classification::medsc::clinm::optom\" label=\"Optometry\" name=\"concept\" type=\"\"/>"
222
			+ "<entry id=\"egi::classification::medsc::clinm::ortho\" label=\"Orthopaedics\" name=\"concept\" type=\"\"/>"
223
			+ "<entry id=\"egi::classification::medsc::clinm::otori\" label=\"Otorhinolaryngology\" name=\"concept\" type=\"\"/>"
224
			+ "<entry id=\"egi::classification::medsc::clinm::paedi\" label=\"Paediatrics\" name=\"concept\" type=\"\"/>"
225
			+ "<entry id=\"egi::classification::medsc::clinm::periph\" label=\"Peripheral vascular disease\" name=\"concept\" type=\"\"/>"
226
			+ "<entry id=\"egi::classification::medsc::clinm::psych\" label=\"Psychiatry\" name=\"concept\" type=\"\"/>"
227
			+ "<entry id=\"egi::classification::medsc::clinm::radio\" label=\"Radiology\" name=\"concept\" type=\"\"/>"
228
			+ "<entry id=\"egi::classification::medsc::clinm::respi\" label=\"Respiratory systems\" name=\"concept\" type=\"\"/>"
229
			+ "<entry id=\"egi::classification::medsc::clinm::rheum\" label=\"Rheumatology\" name=\"concept\" type=\"\"/>"
230
			+ "<entry id=\"egi::classification::medsc::clinm::surge\" label=\"Surgery\" name=\"concept\" type=\"\"/>"
231
			+ "<entry id=\"egi::classification::medsc::clinm::transp\" label=\"Transplantation\" name=\"concept\" type=\"\"/>"
232
			+ "<entry id=\"egi::classification::medsc::clinm::urol\" label=\"Urology and nephrology\" name=\"concept\" type=\"\"/>"
233
			+ "<entry id=\"egi::classification::medsc::clinm::other\" label=\"Other\" name=\"concept\" type=\"\"/>"
234
			+ "<entry id=\"egi::classification::medsc::healsc\" label=\"Health science\" name=\"concept\" type=\"\"/>"
235
			+ "<entry id=\"egi::classification::medsc::healsc::epide\" label=\"Epidemiology\" name=\"concept\" type=\"\"/>"
236
			+ "<entry id=\"egi::classification::medsc::healsc::caresc\" label=\"Health care science and services\" name=\"concept\" type=\"\"/>"
237
			+ "<entry id=\"egi::classification::medsc::healsc::policy\" label=\"Health policy and services\" name=\"concept\" type=\"\"/>"
238
			+ "<entry id=\"egi::classification::medsc::healsc::infec\" label=\"Infectious diseases\" name=\"concept\" type=\"\"/>"
239
			+ "<entry id=\"egi::classification::medsc::healsc::ethic\" label=\"Medical ethics\" name=\"concept\" type=\"\"/>"
240
			+ "<entry id=\"egi::classification::medsc::healsc::nurse\" label=\"Nursing\" name=\"concept\" type=\"\"/>"
241
			+ "<entry id=\"egi::classification::medsc::healsc::nutri\" label=\"Nutrition and Dietetics\" name=\"concept\" type=\"\"/>"
242
			+ "<entry id=\"egi::classification::medsc::healsc::occup\" label=\"Occupational health\" name=\"concept\" type=\"\"/>"
243
			+ "<entry id=\"egi::classification::medsc::healsc::paras\" label=\"Parasitology\" name=\"concept\" type=\"\"/>"
244
			+ "<entry id=\"egi::classification::medsc::healsc::publi\" label=\"Public and environmental health\" name=\"concept\" type=\"\"/>"
245
			+ "<entry id=\"egi::classification::medsc::healsc::sobio\" label=\"Social biomedical science\" name=\"concept\" type=\"\"/>"
246
			+ "<entry id=\"egi::classification::medsc::healsc::sport\" label=\"Sport and fitness science\" name=\"concept\" type=\"\"/>"
247
			+ "<entry id=\"egi::classification::medsc::healsc::subst\" label=\"Substance abuse\" name=\"concept\" type=\"\"/>"
248
			+ "<entry id=\"egi::classification::medsc::healsc::trop\" label=\"Tropical medicine\" name=\"concept\" type=\"\"/>"
249
			+ "<entry id=\"egi::classification::medsc::healsc::other\" label=\"Other\" name=\"concept\" type=\"\"/>"
250
			+ "<entry id=\"egi::classification::medsc::medbio\" label=\"Medical biotechnology\" name=\"concept\" type=\"\"/>"
251
			+ "<entry id=\"egi::classification::medsc::medbio::bdev\" label=\"Biomedical devices\" name=\"concept\" type=\"\"/>"
252
			+ "<entry id=\"egi::classification::medsc::medbio::hbio\" label=\"Health-related biotechnology\" name=\"concept\" type=\"\"/>"
253
			+ "<entry id=\"egi::classification::medsc::medbio::phbio\" label=\"Pharmaceutical biotechnology\" name=\"concept\" type=\"\"/>"
254
			+ "<entry id=\"egi::classification::medsc::medbio::bioeth\" label=\"Biotechnology and medical ethics\" name=\"concept\" type=\"\"/>"
255
			+ "<entry id=\"egi::classification::medsc::medbio::mdia\" label=\"Molecular diagnostics\" name=\"concept\" type=\"\"/>"
256
			+ "<entry id=\"egi::classification::medsc::medbio::bmani\" label=\"Biophysical manipulation\" name=\"concept\" type=\"\"/>"
257
			+ "<entry id=\"egi::classification::medsc::medbio::other\" label=\"Other\" name=\"concept\" type=\"\"/>"
258
			+ "<entry id=\"egi::classification::agrisc\" label=\"Agricultural Sciences\" name=\"concept\" type=\"\"/>"
259
			+ "<entry id=\"egi::classification::agrisc::agrfor\" label=\"Agriculture, forestry, and fisheries\" name=\"concept\" type=\"\"/>"
260
			+ "<entry id=\"egi::classification::agrisc::agrfor::agri\" label=\"Agriculture\" name=\"concept\" type=\"\"/>"
261
			+ "<entry id=\"egi::classification::agrisc::agrfor::agrpl\" label=\"Agronomy, plant breeding, plant protection\" name=\"concept\" type=\"\"/>"
262
			+ "<entry id=\"egi::classification::agrisc::agrfor::fish\" label=\"Fishery\" name=\"concept\" type=\"\"/>"
263
			+ "<entry id=\"egi::classification::agrisc::agrfor::fore\" label=\"Forestry\" name=\"concept\" type=\"\"/>"
264
			+ "<entry id=\"egi::classification::agrisc::agrfor::horti\" label=\"Horticulture and viticulture\" name=\"concept\" type=\"\"/>"
265
			+ "<entry id=\"egi::classification::agrisc::agrfor::soil\" label=\"Soil science\" name=\"concept\" type=\"\"/>"
266
			+ "<entry id=\"egi::classification::agrisc::agrfor::other\" label=\"Other\" name=\"concept\" type=\"\"/>"
267
			+ "<entry id=\"egi::classification::agrisc::anisc\" label=\"Animal and dairy sciences\" name=\"concept\" type=\"\"/>"
268
			+ "<entry id=\"egi::classification::agrisc::anisc::anisc\" label=\"Animal science\" name=\"concept\" type=\"\"/>"
269
			+ "<entry id=\"egi::classification::agrisc::anisc::dair\" label=\"Dairy science\" name=\"concept\" type=\"\"/>"
270
			+ "<entry id=\"egi::classification::agrisc::anisc::husb\" label=\"Husbandry\" name=\"concept\" type=\"\"/>"
271
			+ "<entry id=\"egi::classification::agrisc::anisc::pets\" label=\"Pets\" name=\"concept\" type=\"\"/>"
272
			+ "<entry id=\"egi::classification::agrisc::anisc::other\" label=\"Other\" name=\"concept\" type=\"\"/>"
273
			+ "<entry id=\"egi::classification::agrisc::vetsc\" label=\"Veterinary sciences\" name=\"concept\" type=\"\"/>"
274
			+ "<entry id=\"egi::classification::agrisc::vetsc::vanae\" label=\"Veterinary anaesthesiology\" name=\"concept\" type=\"\"/>"
275
			+ "<entry id=\"egi::classification::agrisc::vetsc::vmed\" label=\"Veterinary medicine\" name=\"concept\" type=\"\"/>"
276
			+ "<entry id=\"egi::classification::agrisc::vetsc::vophth\" label=\"Veterinary ophtahlmology\" name=\"concept\" type=\"\"/>"
277
			+ "<entry id=\"egi::classification::agrisc::vetsc::vpath\" label=\"Veterinary pathobiology\" name=\"concept\" type=\"\"/>"
278
			+ "<entry id=\"egi::classification::agrisc::vetsc::vrad\" label=\"Veterinary radiology\" name=\"concept\" type=\"\"/>"
279
			+ "<entry id=\"egi::classification::agrisc::vetsc::vrepr\" label=\"Veterinary reproduction\" name=\"concept\" type=\"\"/>"
280
			+ "<entry id=\"egi::classification::agrisc::vetsc::vsurg\" label=\"Veterinary surgery\" name=\"concept\" type=\"\"/>"
281
			+ "<entry id=\"egi::classification::agrisc::vetsc::other\" label=\"Other\" name=\"concept\" type=\"\"/>"
282
			+ "<entry id=\"egi::classification::agrisc::agrbio\" label=\"Agricultural biotechnology\" name=\"concept\" type=\"\"/>"
283
			+ "<entry id=\"egi::classification::agrisc::agrbio::bmass\" label=\"Biomass feedstock production tech.\" name=\"concept\" type=\"\"/>"
284
			+ "<entry id=\"egi::classification::agrisc::agrbio::bphar\" label=\"Biopharming\" name=\"concept\" type=\"\"/>"
285
			+ "<entry id=\"egi::classification::agrisc::agrbio::diagn\" label=\"Diagnostics\" name=\"concept\" type=\"\"/>"
286
			+ "<entry id=\"egi::classification::agrisc::agrbio::fbiot\" label=\"Food biotechnology\" name=\"concept\" type=\"\"/>"
287
			+ "<entry id=\"egi::classification::agrisc::agrbio::gmtec\" label=\"GM technology\" name=\"concept\" type=\"\"/>"
288
			+ "<entry id=\"egi::classification::agrisc::agrbio::lclon\" label=\"Livestock cloning\" name=\"concept\" type=\"\"/>"
289
			+ "<entry id=\"egi::classification::agrisc::agrbio::masel\" label=\"Marker assisted selection\" name=\"concept\" type=\"\"/>"
290
			+ "<entry id=\"egi::classification::agrisc::agrbio::other\" label=\"Other\" name=\"concept\" type=\"\"/>"
291
			+ "<entry id=\"egi::classification::sosc\" label=\"Social Sciences\" name=\"concept\" type=\"\"/>"
292
			+ "<entry id=\"egi::classification::sosc::psych\" label=\"Psychology\" name=\"concept\" type=\"\"/>"
293
			+ "<entry id=\"egi::classification::sosc::psych::biops\" label=\"Biological Psychology\" name=\"concept\" type=\"\"/>"
294
			+ "<entry id=\"egi::classification::sosc::psych::clips\" label=\"Clinical Psychology\" name=\"concept\" type=\"\"/>"
295
			+ "<entry id=\"egi::classification::sosc::psych::cogps\" label=\"Cognitive Psychology\" name=\"concept\" type=\"\"/>"
296
			+ "<entry id=\"egi::classification::sosc::psych::comps\" label=\"Comparative Psychology\" name=\"concept\" type=\"\"/>"
297
			+ "<entry id=\"egi::classification::sosc::psych::devps\" label=\"Developmental Psychology\" name=\"concept\" type=\"\"/>"
298
			+ "<entry id=\"egi::classification::sosc::psych::edups\" label=\"Educational and School Psychology\" name=\"concept\" type=\"\"/>"
299
			+ "<entry id=\"egi::classification::sosc::psych::evops\" label=\"Evolutionary Psychology\" name=\"concept\" type=\"\"/>"
300
			+ "<entry id=\"egi::classification::sosc::psych::indps\" label=\"Industrial-organisational Psychology\" name=\"concept\" type=\"\"/>"
301
			+ "<entry id=\"egi::classification::sosc::psych::persps\" label=\"Personality Psychology\" name=\"concept\" type=\"\"/>"
302
			+ "<entry id=\"egi::classification::sosc::psych::posps\" label=\"Positive Psychology\" name=\"concept\" type=\"\"/>"
303
			+ "<entry id=\"egi::classification::sosc::psych::socps\" label=\"Social Psychology\" name=\"concept\" type=\"\"/>"
304
			+ "<entry id=\"egi::classification::sosc::psych::other\" label=\"Other\" name=\"concept\" type=\"\"/>"
305
			+ "<entry id=\"egi::classification::sosc::econ\" label=\"Economics, finance and business\" name=\"concept\" type=\"\"/>"
306
			+ "<entry id=\"egi::classification::sosc::econ::busman\" label=\"Business and management\" name=\"concept\" type=\"\"/>"
307
			+ "<entry id=\"egi::classification::sosc::econ::econom\" label=\"Economics and Econometrics\" name=\"concept\" type=\"\"/>"
308
			+ "<entry id=\"egi::classification::sosc::econ::finan\" label=\"Finance\" name=\"concept\" type=\"\"/>"
309
			+ "<entry id=\"egi::classification::sosc::econ::indus\" label=\"Industrial relations\" name=\"concept\" type=\"\"/>"
310
			+ "<entry id=\"egi::classification::sosc::econ::other\" label=\"Other\" name=\"concept\" type=\"\"/>"
311
			+ "<entry id=\"egi::classification::sosc::edusc\" label=\"Educational sciences\" name=\"concept\" type=\"\"/>"
312
			+ "<entry id=\"egi::classification::sosc::edusc::genedu\" label=\"General Education\" name=\"concept\" type=\"\"/>"
313
			+ "<entry id=\"egi::classification::sosc::edusc::spedu\" label=\"Special Education\" name=\"concept\" type=\"\"/>"
314
			+ "<entry id=\"egi::classification::sosc::edusc::other\" label=\"Other\" name=\"concept\" type=\"\"/>"
315
			+ "<entry id=\"egi::classification::sosc::socio\" label=\"Sociology\" name=\"concept\" type=\"\"/>"
316
			+ "<entry id=\"egi::classification::sosc::socio::anthro\" label=\"Anthropology\" name=\"concept\" type=\"\"/>"
317
			+ "<entry id=\"egi::classification::sosc::socio::demog\" label=\"Demography\" name=\"concept\" type=\"\"/>"
318
			+ "<entry id=\"egi::classification::sosc::socio::ethno\" label=\"Ethnology\" name=\"concept\" type=\"\"/>"
319
			+ "<entry id=\"egi::classification::sosc::socio::famil\" label=\"Family studies\" name=\"concept\" type=\"\"/>"
320
			+ "<entry id=\"egi::classification::sosc::socio::socst\" label=\"Social studies\" name=\"concept\" type=\"\"/>"
321
			+ "<entry id=\"egi::classification::sosc::socio::sowork\" label=\"Social work\" name=\"concept\" type=\"\"/>"
322
			+ "<entry id=\"egi::classification::sosc::socio::sociol\" label=\"Sociology\" name=\"concept\" type=\"\"/>"
323
			+ "<entry id=\"egi::classification::sosc::socio::women\" label=\"Women's and gender studies\" name=\"concept\" type=\"\"/>"
324
			+ "<entry id=\"egi::classification::sosc::socio::other\" label=\"Other\" name=\"concept\" type=\"\"/>"
325
			+ "<entry id=\"egi::classification::sosc::law\" label=\"Law\" name=\"concept\" type=\"\"/>"
326
			+ "<entry id=\"egi::classification::sosc::law::canol\" label=\"Canon Law\" name=\"concept\" type=\"\"/>"
327
			+ "<entry id=\"egi::classification::sosc::law::civill\" label=\"Civil Law\" name=\"concept\" type=\"\"/>"
328
			+ "<entry id=\"egi::classification::sosc::law::comparl\" label=\"Comparative Law\" name=\"concept\" type=\"\"/>"
329
			+ "<entry id=\"egi::classification::sosc::law::compel\" label=\"Competition Law\" name=\"concept\" type=\"\"/>"
330
			+ "<entry id=\"egi::classification::sosc::law::constl\" label=\"Constitutional Law\" name=\"concept\" type=\"\"/>"
331
			+ "<entry id=\"egi::classification::sosc::law::crimil\" label=\"Criminal Law\" name=\"concept\" type=\"\"/>"
332
			+ "<entry id=\"egi::classification::sosc::law::islaml\" label=\"Islamic Law\" name=\"concept\" type=\"\"/>"
333
			+ "<entry id=\"egi::classification::sosc::law::jewil\" label=\"Jewish Law\" name=\"concept\" type=\"\"/>"
334
			+ "<entry id=\"egi::classification::sosc::law::juris\" label=\"Jurisprudence\" name=\"concept\" type=\"\"/>"
335
			+ "<entry id=\"egi::classification::sosc::law::other\" label=\"Other\" name=\"concept\" type=\"\"/>"
336
			+ "<entry id=\"egi::classification::sosc::polsc\" label=\"Political Sciences\" name=\"concept\" type=\"\"/>"
337
			+ "<entry id=\"egi::classification::sosc::polsc::compp\" label=\"Comparative Politics\" name=\"concept\" type=\"\"/>"
338
			+ "<entry id=\"egi::classification::sosc::polsc::empir\" label=\"Empirical pata analysis\" name=\"concept\" type=\"\"/>"
339
			+ "<entry id=\"egi::classification::sosc::polsc::intre\" label=\"International relations\" name=\"concept\" type=\"\"/>"
340
			+ "<entry id=\"egi::classification::sosc::polsc::organ\" label=\"Organisational theory\" name=\"concept\" type=\"\"/>"
341
			+ "<entry id=\"egi::classification::sosc::polsc::polec\" label=\"Political economy\" name=\"concept\" type=\"\"/>"
342
			+ "<entry id=\"egi::classification::sosc::polsc::polph\" label=\"Political philosophy\" name=\"concept\" type=\"\"/>"
343
			+ "<entry id=\"egi::classification::sosc::polsc::pubad\" label=\"Public administration\" name=\"concept\" type=\"\"/>"
344
			+ "<entry id=\"egi::classification::sosc::polsc::thsta\" label=\"Theories of the state\" name=\"concept\" type=\"\"/>"
345
			+ "<entry id=\"egi::classification::sosc::polsc::other\" label=\"Other\" name=\"concept\" type=\"\"/>"
346
			+ "<entry id=\"egi::classification::sosc::soecge\" label=\"Social and economic geography\" name=\"concept\" type=\"\"/>"
347
			+ "<entry id=\"egi::classification::sosc::soecge::cuecge\" label=\"Cultural and economic geography\" name=\"concept\" type=\"\"/>"
348
			+ "<entry id=\"egi::classification::sosc::soecge::transp\" label=\"Transport planning\" name=\"concept\" type=\"\"/>"
349
			+ "<entry id=\"egi::classification::sosc::soecge::urbst\" label=\"Urban studies\" name=\"concept\" type=\"\"/>"
350
			+ "<entry id=\"egi::classification::sosc::soecge::other\" label=\"Other\" name=\"concept\" type=\"\"/>"
351
			+ "<entry id=\"egi::classification::sosc::media\" label=\"Media and communications\" name=\"concept\" type=\"\"/>"
352
			+ "<entry id=\"egi::classification::sosc::media::cuecge\" label=\"Information science - social\" name=\"concept\" type=\"\"/>"
353
			+ "<entry id=\"egi::classification::sosc::media::journ\" label=\"Journalism\" name=\"concept\" type=\"\"/>"
354
			+ "<entry id=\"egi::classification::sosc::media::librsc\" label=\"Library science\" name=\"concept\" type=\"\"/>"
355
			+ "<entry id=\"egi::classification::sosc::media::mediasoc\" label=\"Media and socio-cultural communication\" name=\"concept\" type=\"\"/>"
356
			+ "<entry id=\"egi::classification::sosc::media::other\" label=\"Other\" name=\"concept\" type=\"\"/>"
357
			+ "<entry id=\"egi::classification::human\" label=\"Humanities\" name=\"concept\" type=\"\"/>"
358
			+ "<entry id=\"egi::classification::human::hist\" label=\"History and Archaeology\" name=\"concept\" type=\"\"/>"
359
			+ "<entry id=\"egi::classification::human::hist::archae\" label=\"Archaeology\" name=\"concept\" type=\"\"/>"
360
			+ "<entry id=\"egi::classification::human::hist::hist\" label=\"History\" name=\"concept\" type=\"\"/>"
361
			+ "<entry id=\"egi::classification::human::hist::other\" label=\"Other\" name=\"concept\" type=\"\"/>"
362
			+ "<entry id=\"egi::classification::human::lang\" label=\"Languages and literature\" name=\"concept\" type=\"\"/>"
363
			+ "<entry id=\"egi::classification::human::lang::genlang\" label=\"General language studies\" name=\"concept\" type=\"\"/>"
364
			+ "<entry id=\"egi::classification::human::lang::genlit\" label=\"General literature studies\" name=\"concept\" type=\"\"/>"
365
			+ "<entry id=\"egi::classification::human::lang::ling\" label=\"Linguistics\" name=\"concept\" type=\"\"/>"
366
			+ "<entry id=\"egi::classification::human::lang::liter\" label=\"Literary theory\" name=\"concept\" type=\"\"/>"
367
			+ "<entry id=\"egi::classification::human::lang::splang\" label=\"Specific languages\" name=\"concept\" type=\"\"/>"
368
			+ "<entry id=\"egi::classification::human::lang::split\" label=\"Specific literatures\" name=\"concept\" type=\"\"/>"
369
			+ "<entry id=\"egi::classification::human::lang::other\" label=\"Other\" name=\"concept\" type=\"\"/>"
370
			+ "<entry id=\"egi::classification::human::philos\" label=\"Philosophy, ethics and religion\" name=\"concept\" type=\"\"/>"
371
			+ "<entry id=\"egi::classification::human::philos::ethic\" label=\"Ethics\" name=\"concept\" type=\"\"/>"
372
			+ "<entry id=\"egi::classification::human::philos::philsc\" label=\"Philosophy of science/technology\" name=\"concept\" type=\"\"/>"
373
			+ "<entry id=\"egi::classification::human::philos::philo\" label=\"Philosophy\" name=\"concept\" type=\"\"/>"
374
			+ "<entry id=\"egi::classification::human::philos::relig\" label=\"Religious studies\" name=\"concept\" type=\"\"/>"
375
			+ "<entry id=\"egi::classification::human::philos::theol\" label=\"Theology\" name=\"concept\" type=\"\"/>"
376
			+ "<entry id=\"egi::classification::human::philos::other\" label=\"Other\" name=\"concept\" type=\"\"/>"
377
			+ "<entry id=\"egi::classification::human::arts\" label=\"Arts\" name=\"concept\" type=\"\"/>"
378
			+ "<entry id=\"egi::classification::human::arts::archi\" label=\"Architectural design\" name=\"concept\" type=\"\"/>"
379
			+ "<entry id=\"egi::classification::human::arts::folk\" label=\"Folklore Studies\" name=\"concept\" type=\"\"/>"
380
			+ "<entry id=\"egi::classification::human::arts::media\" label=\"Media Studies\" name=\"concept\" type=\"\"/>"
381
			+ "<entry id=\"egi::classification::human::arts::music\" label=\"Musicology\" name=\"concept\" type=\"\"/>"
382
			+ "<entry id=\"egi::classification::human::arts::perf\" label=\"Performing arts studies\" name=\"concept\" type=\"\"/>"
383
			+ "<entry id=\"egi::classification::human::arts::Other\" label=\"Other\" name=\"concept\" type=\"\"/>"
384
			+ "<entry id=\"egi::classification::supp\" label=\"Support Activities\" name=\"concept\" type=\"\"/>"
385
			+ "<entry id=\"egi::classification::supp::digarc\" label=\"Digital Archives\" name=\"concept\" type=\"\"/>"
386
			+ "<entry id=\"egi::classification::supp::infra\" label=\"Infrastructure Development\" name=\"concept\" type=\"\"/>"
387
			+ "<entry id=\"egi::classification::supp::train\" label=\"Training/Demonstrations\" name=\"concept\" type=\"\"/>"
388
			+ "<entry id=\"egi::classification::supp::other\" label=\"Other\" name=\"concept\" type=\"\"/>"
389
			+ "<entry id=\"egi::projects\" label=\"EGI Projects\" name=\"category\" type=\"\"/>"
390
			+ "<entry id=\"egi::projects::biomedbridges\" label=\"BioMedBridges\" name=\"concept\" type=\"\"/>"
391
			+ "<entry id=\"egi::projects::biovel\" label=\"BioVel\" name=\"concept\" type=\"\"/>"
392
			+ "<entry id=\"egi::projects::chain\" label=\"CHAIN\" name=\"concept\" type=\"\"/>"
393
			+ "<entry id=\"egi::projects::dchrp\" label=\"DCH-RP\" name=\"concept\" type=\"\"/>"
394
			+ "<entry id=\"egi::projects::decide\" label=\"DECIDE\" name=\"concept\" type=\"\"/>"
395
			+ "<entry id=\"egi::projects::drihms\" label=\"DRIHMS\" name=\"concept\" type=\"\"/>"
396
			+ "<entry id=\"egi::projects::efiscal\" label=\"e-Fiscal\" name=\"concept\" type=\"\"/>"
397
			+ "<entry id=\"egi::projects::esciencetalk\" label=\"e-ScienceTalk\" name=\"concept\" type=\"\"/>"
398
			+ "<entry id=\"egi::projects::ige\" label=\"IGE\" name=\"concept\" type=\"\"/>"
399
			+ "<entry id=\"egi::projects::enventory\" label=\"e.NVENTORY\" name=\"concept\" type=\"\"/>"
400
			+ "<entry id=\"egi::projects::egdi\" label=\"EDGI\" name=\"concept\" type=\"\"/>"
401
			+ "<entry id=\"egi::projects::egiinspire\" label=\"EGI-InSPIRE\" name=\"concept\" type=\"\"/>"
402
			+ "<entry id=\"egi::projects::emi\" label=\"EMI\" name=\"concept\" type=\"\"/>"
403
			+ "<entry id=\"egi::projects::envri\" label=\"ENVRI\" name=\"concept\" type=\"\"/>"
404
			+ "<entry id=\"egi::projects::erflow\" label=\"ER-Flow\" name=\"concept\" type=\"\"/>"
405
			+ "<entry id=\"egi::projects::mantychore\" label=\"MANTYCHORE\" name=\"concept\" type=\"\"/>"
406
			+ "<entry id=\"egi::projects::mapper\" label=\"MAPPER\" name=\"concept\" type=\"\"/>"
407
			+ "<entry id=\"egi::projects::scalalife\" label=\"SCALALIFE\" name=\"concept\" type=\"\"/>"
408
			+ "<entry id=\"egi::projects::scibus\" label=\"SCI-BUS\" name=\"concept\" type=\"\"/>"
409
			+ "<entry id=\"egi::projects::shiwa\" label=\"SHIWA\" name=\"concept\" type=\"\"/>"
410
			+ "<entry id=\"egi::projects::siena\" label=\"SIENA\" name=\"concept\" type=\"\"/>"
411
			+ "<entry id=\"egi::projects::stratuslab\" label=\"STRATUSLAB\" name=\"concept\" type=\"\"/>"
412
			+ "<entry id=\"egi::projects::uvasce\" label=\"UVACSE\" name=\"concept\" type=\"\"/>"
413
			+ "<entry id=\"egi::projects::verce\" label=\"VERCE\" name=\"concept\" type=\"\"/>"
414
			+ "<entry id=\"egi::projects::wenmr\" label=\"WENMR\" name=\"concept\" type=\"\"/>"
415
			+ "<entry id=\"egi::projects::helixn\" label=\"Helix Nebula\" name=\"concept\" type=\"\"/>"
416
			+ "<entry id=\"egi::projects::fedsm\" label=\"FedSM\" name=\"concept\" type=\"\"/>"
417
			+ "<entry id=\"egi::country\" label=\"Countries\" name=\"category\" type=\"\"/>"
418
			+ "<entry id=\"egi::country::ba\" label=\"Bosnia and Herzegovina\" name=\"concept\" type=\"\"/>"
419
			+ "<entry id=\"egi::country::be\" label=\"Belgium\" name=\"concept\" type=\"\"/>"
420
			+ "<entry id=\"egi::country::bg\" label=\"Bulgaria\" name=\"concept\" type=\"\"/>"
421
			+ "<entry id=\"egi::country::ch\" label=\"Switzerland\" name=\"concept\" type=\"\"/>"
422
			+ "<entry id=\"egi::country::cy\" label=\"Cyprus\" name=\"concept\" type=\"\"/>"
423
			+ "<entry id=\"egi::country::cz\" label=\"Czech Republic\" name=\"concept\" type=\"\"/>"
424
			+ "<entry id=\"egi::country::de\" label=\"Germany\" name=\"concept\" type=\"\"/>"
425
			+ "<entry id=\"egi::country::dk\" label=\"Denmark\" name=\"concept\" type=\"\"/>"
426
			+ "<entry id=\"egi::country::ee\" label=\"Estonia\" name=\"concept\" type=\"\"/>"
427
			+ "<entry id=\"egi::country::es\" label=\"Spain\" name=\"concept\" type=\"\"/>"
428
			+ "<entry id=\"egi::country::fi\" label=\"Finland\" name=\"concept\" type=\"\"/>"
429
			+ "<entry id=\"egi::country::fr\" label=\"France\" name=\"concept\" type=\"\"/>"
430
			+ "<entry id=\"egi::country::gr\" label=\"Greece\" name=\"concept\" type=\"\"/>"
431
			+ "<entry id=\"egi::country::hr\" label=\"Croatia\" name=\"concept\" type=\"\"/>"
432
			+ "<entry id=\"egi::country::hu\" label=\"Hungary\" name=\"concept\" type=\"\"/>"
433
			+ "<entry id=\"egi::country::ie\" label=\"Ireland\" name=\"concept\" type=\"\"/>"
434
			+ "<entry id=\"egi::country::il\" label=\"Israel\" name=\"concept\" type=\"\"/>"
435
			+ "<entry id=\"egi::country::it\" label=\"Italy\" name=\"concept\" type=\"\"/>"
436
			+ "<entry id=\"egi::country::lt\" label=\"Lithuania\" name=\"concept\" type=\"\"/>"
437
			+ "<entry id=\"egi::country::lu\" label=\"Luxembourg\" name=\"concept\" type=\"\"/>"
438
			+ "<entry id=\"egi::country::lv\" label=\"Latvia\" name=\"concept\" type=\"\"/>"
439
			+ "<entry id=\"egi::country::me\" label=\"Montenegro\" name=\"concept\" type=\"\"/>"
440
			+ "<entry id=\"egi::country::mk\" label=\"Macedonia\" name=\"concept\" type=\"\"/>"
441
			+ "<entry id=\"egi::country::nl\" label=\"the Netherlands\" name=\"concept\" type=\"\"/>"
442
			+ "<entry id=\"egi::country::nr\" label=\"Norway\" name=\"concept\" type=\"\"/>"
443
			+ "<entry id=\"egi::country::pl\" label=\"Poland\" name=\"concept\" type=\"\"/>"
444
			+ "<entry id=\"egi::country::pt\" label=\"Portugal\" name=\"concept\" type=\"\"/>"
445
			+ "<entry id=\"egi::country::ro\" label=\"Romania\" name=\"concept\" type=\"\"/>"
446
			+ "<entry id=\"egi::country::rs\" label=\"Serbia\" name=\"concept\" type=\"\"/>"
447
			+ "<entry id=\"egi::country::si\" label=\"Slovenia\" name=\"concept\" type=\"\"/>"
448
			+ "<entry id=\"egi::country::sk\" label=\"Slovakia\" name=\"concept\" type=\"\"/>"
449
			+ "<entry id=\"egi::country::se\" label=\"Sweden\" name=\"concept\" type=\"\"/>"
450
			+ "<entry id=\"egi::country::tr\" label=\"Turkey\" name=\"concept\" type=\"\"/>"
451
			+ "<entry id=\"egi::country::uk\" label=\"United Kingdom\" name=\"concept\" type=\"\"/>"
452
			+ "<entry id=\"egi::country::am\" label=\"ARmenia\" name=\"concept\" type=\"\"/>"
453
			+ "<entry id=\"egi::country::md\" label=\"Moldova\" name=\"concept\" type=\"\"/>"
454
			+ "<entry id=\"egi::country::ru\" label=\"Russia\" name=\"concept\" type=\"\"/>"
455
			+ "<entry id=\"egi::organisation\" label=\"EGI Members\" name=\"category\" type=\"\"/>"
456
			+ "<entry id=\"egi::organisation::etfbl\" label=\"ETFBL\" name=\"concept\" type=\"\"/>"
457
			+ "<entry id=\"egi::organisation::belnet\" label=\"BELNET\" name=\"concept\" type=\"\"/>"
458
			+ "<entry id=\"egi::organisation::iictbas\" label=\"IICT-BAS\" name=\"concept\" type=\"\"/>"
459
			+ "<entry id=\"egi::organisation::swing\" label=\"SWiNG\" name=\"concept\" type=\"\"/>"
460
			+ "<entry id=\"egi::organisation::cygrid\" label=\"CyGrid\" name=\"concept\" type=\"\"/>"
461
			+ "<entry id=\"egi::organisation::cesnet\" label=\"CESNET\" name=\"concept\" type=\"\"/>"
462
			+ "<entry id=\"egi::organisation::gaussallianz\" label=\"Gauss-Allianz\" name=\"concept\" type=\"\"/>"
463
			+ "<entry id=\"egi::organisation::dcsc\" label=\"DCSC\" name=\"concept\" type=\"\"/>"
464
			+ "<entry id=\"egi::organisation::eenet\" label=\"EENet\" name=\"concept\" type=\"\"/>"
465
			+ "<entry id=\"egi::organisation::csic\" label=\"CSIC\" name=\"concept\" type=\"\"/>"
466
			+ "<entry id=\"egi::organisation::csc\" label=\"CSC\" name=\"concept\" type=\"\"/>"
467
			+ "<entry id=\"egi::organisation::cnrs\" label=\"CNRS\" name=\"concept\" type=\"\"/>"
468
			+ "<entry id=\"egi::organisation::grnet\" label=\"GRNET\" name=\"concept\" type=\"\"/>"
469
			+ "<entry id=\"egi::organisation::srce\" label=\"SRCE\" name=\"concept\" type=\"\"/>"
470
			+ "<entry id=\"egi::organisation::niif\" label=\"NIIF\" name=\"concept\" type=\"\"/>"
471
			+ "<entry id=\"egi::organisation::gridireland\" label=\"Grid-Ireland\" name=\"concept\" type=\"\"/>"
472
			+ "<entry id=\"egi::organisation::iucc\" label=\"IUCC\" name=\"concept\" type=\"\"/>"
473
			+ "<entry id=\"egi::organisation::infn\" label=\"INFN\" name=\"concept\" type=\"\"/>"
474
			+ "<entry id=\"egi::organisation::vu\" label=\"VU\" name=\"concept\" type=\"\"/>"
475
			+ "<entry id=\"egi::organisation::restena\" label=\"RESTENA\" name=\"concept\" type=\"\"/>"
476
			+ "<entry id=\"egi::organisation::lumii\" label=\"LUMII\" name=\"concept\" type=\"\"/>"
477
			+ "<entry id=\"egi::organisation::uom\" label=\"UoM\" name=\"concept\" type=\"\"/>"
478
			+ "<entry id=\"egi::organisation::margi\" label=\"MARGI\" name=\"concept\" type=\"\"/>"
479
			+ "<entry id=\"egi::organisation::ncf\" label=\"NCF\" name=\"concept\" type=\"\"/>"
480
			+ "<entry id=\"egi::organisation::uninett\" label=\"UNINETT Sigma AS\" name=\"concept\" type=\"\"/>"
481
			+ "<entry id=\"egi::organisation::cyfronet\" label=\"CYFRONET AGH\" name=\"concept\" type=\"\"/>"
482
			+ "<entry id=\"egi::organisation::umic\" label=\"umic\" name=\"concept\" type=\"\"/>"
483
			+ "<entry id=\"egi::organisation::ici\" label=\"ICI\" name=\"concept\" type=\"\"/>"
484
			+ "<entry id=\"egi::organisation::ipb\" label=\"IPB\" name=\"concept\" type=\"\"/>"
485
			+ "<entry id=\"egi::organisation::arnes\" label=\"ARNES\" name=\"concept\" type=\"\"/>"
486
			+ "<entry id=\"egi::organisation::slovakgrid\" label=\"SlovakGrid\" name=\"concept\" type=\"\"/>"
487
			+ "<entry id=\"egi::organisation::snic\" label=\"SNIC\" name=\"concept\" type=\"\"/>"
488
			+ "<entry id=\"egi::organisation::ulakbim\" label=\"ULAKBIM\" name=\"concept\" type=\"\"/>"
489
			+ "<entry id=\"egi::organisation::jisc\" label=\"JISC\" name=\"concept\" type=\"\"/>"
490
			+ "<entry id=\"egi::organisation::iiapnas\" label=\"IIAP NAS RA\" name=\"concept\" type=\"\"/>"
491
			+ "<entry id=\"egi::organisation::renam\" label=\"RENAM\" name=\"concept\" type=\"\"/>"
492
			+ "<entry id=\"egi::organisation::earena\" label=\"e-ARENA\" name=\"concept\" type=\"\"/>"
493
			+ "<entry id=\"egi::organisation::embl\" label=\"EMBL\" name=\"concept\" type=\"\"/>"
494
			+ "<entry id=\"egi::organisation::cern\" label=\"CERN\" name=\"concept\" type=\"\"/>"
495
			+ "<entry id=\"egi::virtual\" label=\"EGI virtual organizations\" name=\"category\" type=\"\"/>"
496
			+ "<entry id=\"egi::virtual::2352\" label=\"vo.grand-est.fr\" name=\"concept\" type=\"\"/>"
497
			+ "<entry id=\"egi::virtual::41\" label=\"astron\" name=\"concept\" type=\"\"/>"
498
			+ "<entry id=\"egi::virtual::26\" label=\"theophys\" name=\"concept\" type=\"\"/>"
499
			+ "<entry id=\"egi::virtual::504\" label=\"vo.londongrid.ac.uk\" name=\"concept\" type=\"\"/>"
500
			+ "<entry id=\"egi::virtual::78\" label=\"vo.grif.fr\" name=\"concept\" type=\"\"/>"
501
			+ "<entry id=\"egi::virtual::1670\" label=\"eo-grid.ikd.kiev.ua\" name=\"concept\" type=\"\"/>"
502
			+ "<entry id=\"egi::virtual::2332\" label=\"ops.ndgf.org\" name=\"concept\" type=\"\"/>"
503
			+ "<entry id=\"egi::virtual::1430\" label=\"vo.msfg.fr\" name=\"concept\" type=\"\"/>"
504
			+ "<entry id=\"egi::virtual::40\" label=\"ilc\" name=\"concept\" type=\"\"/>"
505
			+ "<entry id=\"egi::virtual::2592\" label=\"gr-sim.grid.auth.gr\" name=\"concept\" type=\"\"/>"
506
			+ "<entry id=\"egi::virtual::2172\" label=\"chem.vo.ibergrid.eu\" name=\"concept\" type=\"\"/>"
507
			+ "<entry id=\"egi::virtual::311\" label=\"vo.sbg.in2p3.fr\" name=\"concept\" type=\"\"/>"
508
			+ "<entry id=\"egi::virtual::10273\" label=\"comet.j-parc.jp\" name=\"concept\" type=\"\"/>"
509
			+ "<entry id=\"egi::virtual::10258\" label=\"vo.earthserver.eu\" name=\"concept\" type=\"\"/>"
510
			+ "<entry id=\"egi::virtual::10249\" label=\"vo.sn2ns.in2p3.fr\" name=\"concept\" type=\"\"/>"
511
			+ "<entry id=\"egi::virtual::96\" label=\"trgridd\" name=\"concept\" type=\"\"/>"
512
			+ "<entry id=\"egi::virtual::710\" label=\"vo.pic.es\" name=\"concept\" type=\"\"/>"
513
			+ "<entry id=\"egi::virtual::13\" label=\"zeus\" name=\"concept\" type=\"\"/>"
514
			+ "<entry id=\"egi::virtual::106\" label=\"supernemo.vo.eu-egee.org\" name=\"concept\" type=\"\"/>"
515
			+ "<entry id=\"egi::virtual::6\" label=\"biomed\" name=\"concept\" type=\"\"/>"
516
			+ "<entry id=\"egi::virtual::890\" label=\"prod.vo.eu-eela.eu\" name=\"concept\" type=\"\"/>"
517
			+ "<entry id=\"egi::virtual::1030\" label=\"vo.ops.csic.es\" name=\"concept\" type=\"\"/>"
518
			+ "<entry id=\"egi::virtual::250\" label=\"euindia\" name=\"concept\" type=\"\"/>"
519
			+ "<entry id=\"egi::virtual::476\" label=\"vo.northgrid.ac.uk\" name=\"concept\" type=\"\"/>"
520
			+ "<entry id=\"egi::virtual::10283\" label=\"drihm.eu\" name=\"concept\" type=\"\"/>"
521
			+ "<entry id=\"egi::virtual::2153\" label=\"ict.vo.ibergrid.eu\" name=\"concept\" type=\"\"/>"
522
			+ "<entry id=\"egi::virtual::10284\" label=\"hyperk.org\" name=\"concept\" type=\"\"/>"
523
			+ "<entry id=\"egi::virtual::2312\" label=\"vo.eu-decide.eu\" name=\"concept\" type=\"\"/>"
524
			+ "<entry id=\"egi::virtual::1250\" label=\"superbvo.org\" name=\"concept\" type=\"\"/>"
525
			+ "<entry id=\"egi::virtual::494\" label=\"gilda\" name=\"concept\" type=\"\"/>"
526
			+ "<entry id=\"egi::virtual::10252\" label=\"xenon.biggrid.nl\" name=\"concept\" type=\"\"/>"
527
			+ "<entry id=\"egi::virtual::130\" label=\"balticgrid\" name=\"concept\" type=\"\"/>"
528
			+ "<entry id=\"egi::virtual::10265\" label=\"gerda.mpg.de\" name=\"concept\" type=\"\"/>"
529
			+ "<entry id=\"egi::virtual::67\" label=\"belle\" name=\"concept\" type=\"\"/>"
530
			+ "<entry id=\"egi::virtual::2252\" label=\"vo.stratuslab.eu\" name=\"concept\" type=\"\"/>"
531
			+ "<entry id=\"egi::virtual::10026\" label=\"camont\" name=\"concept\" type=\"\"/>"
532
			+ "<entry id=\"egi::virtual::10285\" label=\"peachnote.com\" name=\"concept\" type=\"\"/>"
533
			+ "<entry id=\"egi::virtual::98\" label=\"ific\" name=\"concept\" type=\"\"/>"
534
			+ "<entry id=\"egi::virtual::1190\" label=\"pacs.infn.it\" name=\"concept\" type=\"\"/>"
535
			+ "<entry id=\"egi::virtual::2192\" label=\"oxgrid.ox.ac.uk\" name=\"concept\" type=\"\"/>"
536
			+ "<entry id=\"egi::virtual::810\" label=\"glast.org\" name=\"concept\" type=\"\"/>"
537
			+ "<entry id=\"egi::virtual::2372\" label=\"demo.vo.edges-grid.eu\" name=\"concept\" type=\"\"/>"
538
			+ "<entry id=\"egi::virtual::2052\" label=\"vo.dorii.eu\" name=\"concept\" type=\"\"/>"
539
			+ "<entry id=\"egi::virtual::1110\" label=\"vo.u-psud.fr\" name=\"concept\" type=\"\"/>"
540
			+ "<entry id=\"egi::virtual::479\" label=\"vo.cta.in2p3.fr\" name=\"concept\" type=\"\"/>"
541
			+ "<entry id=\"egi::virtual::1630\" label=\"hgdemo\" name=\"concept\" type=\"\"/>"
542
			+ "<entry id=\"egi::virtual::31\" label=\"ngs.ac.uk\" name=\"concept\" type=\"\"/>"
543
			+ "<entry id=\"egi::virtual::10260\" label=\"mpi-kickstart.egi.eu\" name=\"concept\" type=\"\"/>"
544
			+ "<entry id=\"egi::virtual::1912\" label=\"ops.vo.ibergrid.eu\" name=\"concept\" type=\"\"/>"
545
			+ "<entry id=\"egi::virtual::97\" label=\"trgride\" name=\"concept\" type=\"\"/>"
546
			+ "<entry id=\"egi::virtual::2472\" label=\"vo.indicate-project.eu\" name=\"concept\" type=\"\"/>"
547
			+ "<entry id=\"egi::virtual::411\" label=\"vo.lpnhe.in2p3.fr\" name=\"concept\" type=\"\"/>"
548
			+ "<entry id=\"egi::virtual::49\" label=\"planck\" name=\"concept\" type=\"\"/>"
549
			+ "<entry id=\"egi::virtual::7\" label=\"egeode\" name=\"concept\" type=\"\"/>"
550
			+ "<entry id=\"egi::virtual::2492\" label=\"vo.sim-e-child.org\" name=\"concept\" type=\"\"/>"
551
			+ "<entry id=\"egi::virtual::2212\" label=\"uniandes.edu.co\" name=\"concept\" type=\"\"/>"
552
			+ "<entry id=\"egi::virtual::910\" label=\"oper.vo.eu-eela.eu\" name=\"concept\" type=\"\"/>"
553
			+ "<entry id=\"egi::virtual::10251\" label=\"vo.france-grilles.fr\" name=\"concept\" type=\"\"/>"
554
			+ "<entry id=\"egi::virtual::20\" label=\"ncf\" name=\"concept\" type=\"\"/>"
555
			+ "<entry id=\"egi::virtual::10268\" label=\"vo.astro.pic.es\" name=\"concept\" type=\"\"/>"
556
			+ "<entry id=\"egi::virtual::570\" label=\"vo.hess-experiment.eu\" name=\"concept\" type=\"\"/>"
557
			+ "<entry id=\"egi::virtual::1650\" label=\"sgdemo\" name=\"concept\" type=\"\"/>"
558
			+ "<entry id=\"egi::virtual::2152\" label=\"phys.vo.ibergrid.eu\" name=\"concept\" type=\"\"/>"
559
			+ "<entry id=\"egi::virtual::22\" label=\"infngrid\" name=\"concept\" type=\"\"/>"
560
			+ "<entry id=\"egi::virtual::69\" label=\"embrace\" name=\"concept\" type=\"\"/>"
561
			+ "<entry id=\"egi::virtual::10250\" label=\"bbmri.nl\" name=\"concept\" type=\"\"/>"
562
			+ "<entry id=\"egi::virtual::10083\" label=\"gridit\" name=\"concept\" type=\"\"/>"
563
			+ "<entry id=\"egi::virtual::10257\" label=\"vo.aginfra.eu\" name=\"concept\" type=\"\"/>"
564
			+ "<entry id=\"egi::virtual::2432\" label=\"shiwa-workflow.eu\" name=\"concept\" type=\"\"/>"
565
			+ "<entry id=\"egi::virtual::10267\" label=\"igi.italiangrid.it\" name=\"concept\" type=\"\"/>"
566
			+ "<entry id=\"egi::virtual::1450\" label=\"armgrid.grid.am\" name=\"concept\" type=\"\"/>"
567
			+ "<entry id=\"egi::virtual::104\" label=\"gridcc\" name=\"concept\" type=\"\"/>"
568
			+ "<entry id=\"egi::virtual::1510\" label=\"vo.turbo.pic.es\" name=\"concept\" type=\"\"/>"
569
			+ "<entry id=\"egi::virtual::37\" label=\"hone\" name=\"concept\" type=\"\"/>"
570
			+ "<entry id=\"egi::virtual::2176\" label=\"eng.vo.ibergrid.eu\" name=\"concept\" type=\"\"/>"
571
			+ "<entry id=\"egi::virtual::2174\" label=\"earth.vo.ibergrid.eu\" name=\"concept\" type=\"\"/>"
572
			+ "<entry id=\"egi::virtual::10287\" label=\"projects.nl\" name=\"concept\" type=\"\"/>"
573
			+ "<entry id=\"egi::virtual::107\" label=\"auger\" name=\"concept\" type=\"\"/>"
574
			+ "<entry id=\"egi::virtual::670\" label=\"vo.lpsc.in2p3.fr\" name=\"concept\" type=\"\"/>"
575
			+ "<entry id=\"egi::virtual::90\" label=\"eela\" name=\"concept\" type=\"\"/>"
576
			+ "<entry id=\"egi::virtual::94\" label=\"trgridb\" name=\"concept\" type=\"\"/>"
577
			+ "<entry id=\"egi::virtual::81\" label=\"proactive\" name=\"concept\" type=\"\"/>"
578
			+ "<entry id=\"egi::virtual::990\" label=\"desktopgrid.vo.edges-grid.eu\" name=\"concept\" type=\"\"/>"
579
			+ "<entry id=\"egi::virtual::1610\" label=\"vo.delphi.cern.ch\" name=\"concept\" type=\"\"/>"
580
			+ "<entry id=\"egi::virtual::10262\" label=\"vo.gridcl.fr\" name=\"concept\" type=\"\"/>"
581
			+ "<entry id=\"egi::virtual::44\" label=\"ildg\" name=\"concept\" type=\"\"/>"
582
			+ "<entry id=\"egi::virtual::1710\" label=\"bg-edu.grid.acad.bg\" name=\"concept\" type=\"\"/>"
583
			+ "<entry id=\"egi::virtual::36\" label=\"desy\" name=\"concept\" type=\"\"/>"
584
			+ "<entry id=\"egi::virtual::3\" label=\"lhcb\" name=\"concept\" type=\"\"/>"
585
			+ "<entry id=\"egi::virtual::5\" label=\"esr\" name=\"concept\" type=\"\"/>"
586
			+ "<entry id=\"egi::virtual::25\" label=\"inaf\" name=\"concept\" type=\"\"/>"
587
			+ "<entry id=\"egi::virtual::970\" label=\"vo.grid.auth.gr\" name=\"concept\" type=\"\"/>"
588
			+ "<entry id=\"egi::virtual::89\" label=\"argo\" name=\"concept\" type=\"\"/>"
589
			+ "<entry id=\"egi::virtual::58\" label=\"see\" name=\"concept\" type=\"\"/>"
590
			+ "<entry id=\"egi::virtual::10282\" label=\"kzvo.isragrid.org.il\" name=\"concept\" type=\"\"/>"
591
			+ "<entry id=\"egi::virtual::10271\" label=\"neurogrid.incf.org\" name=\"concept\" type=\"\"/>"
592
			+ "<entry id=\"egi::virtual::150\" label=\"gaussian\" name=\"concept\" type=\"\"/>"
593
			+ "<entry id=\"egi::virtual::62\" label=\"pheno\" name=\"concept\" type=\"\"/>"
594
			+ "<entry id=\"egi::virtual::39\" label=\"hermes\" name=\"concept\" type=\"\"/>"
595
			+ "<entry id=\"egi::virtual::10256\" label=\"mice\" name=\"concept\" type=\"\"/>"
596
			+ "<entry id=\"egi::virtual::77\" label=\"vo.lal.in2p3.fr\" name=\"concept\" type=\"\"/>"
597
			+ "<entry id=\"egi::virtual::15\" label=\"magic\" name=\"concept\" type=\"\"/>"
598
			+ "<entry id=\"egi::virtual::1952\" label=\"vo.neugrid.eu\" name=\"concept\" type=\"\"/>"
599
			+ "<entry id=\"egi::virtual::1933\" label=\"iber.vo.ibergrid.eu\" name=\"concept\" type=\"\"/>"
600
			+ "<entry id=\"egi::virtual::473\" label=\"vo.scotgrid.ac.uk\" name=\"concept\" type=\"\"/>"
601
			+ "<entry id=\"egi::virtual::60\" label=\"geant4\" name=\"concept\" type=\"\"/>"
602
			+ "<entry id=\"egi::virtual::79\" label=\"vo.ipno.in2p3.fr\" name=\"concept\" type=\"\"/>"
603
			+ "<entry id=\"egi::virtual::76\" label=\"apesci\" name=\"concept\" type=\"\"/>"
604
			+ "<entry id=\"egi::virtual::14\" label=\"compchem\" name=\"concept\" type=\"\"/>"
605
			+ "<entry id=\"egi::virtual::68\" label=\"ops\" name=\"concept\" type=\"\"/>"
606
			+ "<entry id=\"egi::virtual::461\" label=\"vo.agata.org\" name=\"concept\" type=\"\"/>"
607
			+ "<entry id=\"egi::virtual::10270\" label=\"na62.vo.gridpp.ac.uk\" name=\"concept\" type=\"\"/>"
608
			+ "<entry id=\"egi::virtual::452\" label=\"seegrid\" name=\"concept\" type=\"\"/>"
609
			+ "<entry id=\"egi::virtual::2552\" label=\"snoplus.snolab.ca\" name=\"concept\" type=\"\"/>"
610
			+ "<entry id=\"egi::virtual::497\" label=\"vo.irfu.cea.fr\" name=\"concept\" type=\"\"/>"
611
			+ "<entry id=\"egi::virtual::110\" label=\"gridpp\" name=\"concept\" type=\"\"/>"
612
			+ "<entry id=\"egi::virtual::10254\" label=\"ukmhd.ac.uk\" name=\"concept\" type=\"\"/>"
613
			+ "<entry id=\"egi::virtual::830\" label=\"euasia.euasiagrid.org\" name=\"concept\" type=\"\"/>"
614
			+ "<entry id=\"egi::virtual::2392\" label=\"vo.mure.in2p3.fr\" name=\"concept\" type=\"\"/>"
615
			+ "<entry id=\"egi::virtual::46\" label=\"icecube\" name=\"concept\" type=\"\"/>"
616
			+ "<entry id=\"egi::virtual::85\" label=\"ghep\" name=\"concept\" type=\"\"/>"
617
			+ "<entry id=\"egi::virtual::19\" label=\"pvier\" name=\"concept\" type=\"\"/>"
618
			+ "<entry id=\"egi::virtual::10275\" label=\"neiss.org.uk\" name=\"concept\" type=\"\"/>"
619
			+ "<entry id=\"egi::virtual::271\" label=\"eumed\" name=\"concept\" type=\"\"/>"
620
			+ "<entry id=\"egi::virtual::1730\" label=\"moldyngrid\" name=\"concept\" type=\"\"/>"
621
			+ "<entry id=\"egi::virtual::10259\" label=\"israelvo.isragrid.org.il\" name=\"concept\" type=\"\"/>"
622
			+ "<entry id=\"egi::virtual::75\" label=\"twgrid\" name=\"concept\" type=\"\"/>"
623
			+ "<entry id=\"egi::virtual::467\" label=\"enmr.eu\" name=\"concept\" type=\"\"/>"
624
			+ "<entry id=\"egi::virtual::950\" label=\"xfel.eu\" name=\"concept\" type=\"\"/>"
625
			+ "<entry id=\"egi::virtual::2\" label=\"alice\" name=\"concept\" type=\"\"/>"
626
			+ "<entry id=\"egi::virtual::64\" label=\"hungrid\" name=\"concept\" type=\"\"/>"
627
			+ "<entry id=\"egi::virtual::105\" label=\"euchina\" name=\"concept\" type=\"\"/>"
628
			+ "<entry id=\"egi::virtual::1330\" label=\"meteo.see-grid-sci.eu\" name=\"concept\" type=\"\"/>"
629
			+ "<entry id=\"egi::virtual::1270\" label=\"vlemed\" name=\"concept\" type=\"\"/>"
630
			+ "<entry id=\"egi::virtual::482\" label=\"vo.gear.cern.ch\" name=\"concept\" type=\"\"/>"
631
			+ "<entry id=\"egi::virtual::2512\" label=\"vo.aleph.cern.ch\" name=\"concept\" type=\"\"/>"
632
			+ "<entry id=\"egi::virtual::1570\" label=\"vo.complex-systems.eu\" name=\"concept\" type=\"\"/>"
633
			+ "<entry id=\"egi::virtual::1\" label=\"atlas\" name=\"concept\" type=\"\"/>"
634
			+ "<entry id=\"egi::virtual::11\" label=\"virgo\" name=\"concept\" type=\"\"/>"
635
			+ "<entry id=\"egi::virtual::47\" label=\"enea\" name=\"concept\" type=\"\"/>"
636
			+ "<entry id=\"egi::virtual::88\" label=\"aegis\" name=\"concept\" type=\"\"/>"
637
			+ "<entry id=\"egi::virtual::8\" label=\"cdf\" name=\"concept\" type=\"\"/>"
638
			+ "<entry id=\"egi::virtual::10276\" label=\"epic.vo.gridpp.ac.uk\" name=\"concept\" type=\"\"/>"
639
			+ "<entry id=\"egi::virtual::610\" label=\"vo.southgrid.ac.uk\" name=\"concept\" type=\"\"/>"
640
			+ "<entry id=\"egi::virtual::2173\" label=\"life.vo.ibergrid.eu\" name=\"concept\" type=\"\"/>"
641
			+ "<entry id=\"egi::virtual::1050\" label=\"vo.general.csic.es\" name=\"concept\" type=\"\"/>"
642
			+ "<entry id=\"egi::virtual::1932\" label=\"tut.vo.ibergrid.eu\" name=\"concept\" type=\"\"/>"
643
			+ "<entry id=\"egi::virtual::10255\" label=\"vo.france-asia.org\" name=\"concept\" type=\"\"/>"
644
			+ "<entry id=\"egi::virtual::1150\" label=\"vo.up.pt\" name=\"concept\" type=\"\"/>"
645
			+ "<entry id=\"egi::virtual::1410\" label=\"lattice.itep.ru\" name=\"concept\" type=\"\"/>"
646
			+ "<entry id=\"egi::virtual::1891\" label=\"belle2.org\" name=\"concept\" type=\"\"/>"
647
			+ "<entry id=\"egi::virtual::61\" label=\"auvergrid\" name=\"concept\" type=\"\"/>"
648
			+ "<entry id=\"egi::virtual::71\" label=\"fusion\" name=\"concept\" type=\"\"/>"
649
			+ "<entry id=\"egi::virtual::1810\" label=\"vo.panda.gsi.de\" name=\"concept\" type=\"\"/>"
650
			+ "<entry id=\"egi::virtual::2292\" label=\"comput-er.it\" name=\"concept\" type=\"\"/>"
651
			+ "<entry id=\"egi::virtual::503\" label=\"nordugrid.org\" name=\"concept\" type=\"\"/>"
652
			+ "<entry id=\"egi::virtual::443\" label=\"gridmosi.ici.ro\" name=\"concept\" type=\"\"/>"
653
			+ "<entry id=\"egi::virtual::4\" label=\"cms\" name=\"concept\" type=\"\"/>"
654
			+ "<entry id=\"egi::virtual::10263\" label=\"icarus-exp.org\" name=\"concept\" type=\"\"/>"
655
			+ "<entry id=\"egi::virtual::630\" label=\"vo.renabi.fr\" name=\"concept\" type=\"\"/>"
656
			+ "<entry id=\"egi::virtual::1770\" label=\"env.see-grid-sci.eu\" name=\"concept\" type=\"\"/>"
657
			+ "<entry id=\"egi::virtual::437\" label=\"vo.apc.univ-paris7.fr\" name=\"concept\" type=\"\"/>"
658
			+ "<entry id=\"egi::virtual::82\" label=\"calice\" name=\"concept\" type=\"\"/>"
659
			+ "<entry id=\"egi::virtual::2072\" label=\"vo.metacentrum.cz\" name=\"concept\" type=\"\"/>"
660
			+ "<entry id=\"egi::virtual::391\" label=\"vo.llr.in2p3.fr\" name=\"concept\" type=\"\"/>"
661
			+ "<entry id=\"egi::virtual::10269\" label=\"vo.ingv.it\" name=\"concept\" type=\"\"/>"
662
			+ "<entry id=\"egi::virtual::1790\" label=\"ams02.cern.ch\" name=\"concept\" type=\"\"/>"
663
			+ "<entry id=\"egi::virtual::84\" label=\"dech\" name=\"concept\" type=\"\"/>"
664
			+ "<entry id=\"egi::virtual::93\" label=\"trgrida\" name=\"concept\" type=\"\"/>"
665
			+ "<entry id=\"egi::virtual::2272\" label=\"envirogrids.vo.eu-egee.org\" name=\"concept\" type=\"\"/>"
666
			+ "<entry id=\"egi::virtual::16\" label=\"dteam\" name=\"concept\" type=\"\"/>"
667
			+ "<entry id=\"egi::virtual::92\" label=\"cesga\" name=\"concept\" type=\"\"/>"
668
			+ "<entry id=\"egi::virtual::446\" label=\"imath.cesga.es\" name=\"concept\" type=\"\"/>"
669
			+ "<entry id=\"egi::virtual::65\" label=\"uscms\" name=\"concept\" type=\"\"/>"
670
			+ "<entry id=\"egi::virtual::108\" label=\"pamela\" name=\"concept\" type=\"\"/>"
671
			+ "<entry id=\"egi::virtual::930\" label=\"vo.formation.idgrilles.fr\" name=\"concept\" type=\"\"/>"
672
			+ "<entry id=\"egi::virtual::790\" label=\"vo.rhone-alpes.idgrilles.fr\" name=\"concept\" type=\"\"/>"
673
			+ "<entry id=\"egi::virtual::730\" label=\"vo.paus.pic.es\" name=\"concept\" type=\"\"/>"
674
			+ "<entry id=\"egi::virtual::10274\" label=\"fedcloud.egi.eu\" name=\"concept\" type=\"\"/>"
675
			+ "<entry id=\"egi::virtual::1972\" label=\"vo.lpta.in2p3.fr\" name=\"concept\" type=\"\"/>"
676
			+ "<entry id=\"egi::virtual::590\" label=\"d4science.research-infrastructures.eu\" name=\"concept\" type=\"\"/>"
677
			+ "<entry id=\"egi::virtual::10278\" label=\"isravo.isragrid.org.il\" name=\"concept\" type=\"\"/>"
678
			+ "<entry id=\"egi::virtual::491\" label=\"cppm\" name=\"concept\" type=\"\"/>"
679
			+ "<entry id=\"egi::virtual::440\" label=\"astro.vo.eu-egee.org\" name=\"concept\" type=\"\"/>"
680
			+ "<entry id=\"egi::virtual::10288\" label=\"km3net.org\" name=\"concept\" type=\"\"/>"
681
			+ "<entry id=\"egi::virtual::10266\" label=\"ipv6.hepix.org\" name=\"concept\" type=\"\"/>"
682
			+ "<entry id=\"egi::virtual::1690\" label=\"atlas.ac.il\" name=\"concept\" type=\"\"/>"
683
			+ "<entry id=\"egi::virtual::1170\" label=\"vo.ipnl.in2p3.fr\" name=\"concept\" type=\"\"/>"
684
			+ "<entry id=\"egi::virtual::2012\" label=\"bing.vo.ibergrid.eu\" name=\"concept\" type=\"\"/>"
685
			+ "<entry id=\"egi::virtual::488\" label=\"vo.lapp.in2p3.fr\" name=\"concept\" type=\"\"/>"
686
			+ "<entry id=\"egi::virtual::66\" label=\"swetest\" name=\"concept\" type=\"\"/>"
687
			+ "<entry id=\"egi::virtual::1870\" label=\"vo.mcia.fr\" name=\"concept\" type=\"\"/>"
688
			+ "<entry id=\"egi::virtual::1892\" label=\"cometa\" name=\"concept\" type=\"\"/>"
689
			+ "<entry id=\"egi::virtual::91\" label=\"edteam\" name=\"concept\" type=\"\"/>"
690
			+ "<entry id=\"egi::virtual::10272\" label=\"verce.eu\" name=\"concept\" type=\"\"/>"
691
			+ "<entry id=\"egi::virtual::251\" label=\"lofar\" name=\"concept\" type=\"\"/>"
692
			+ "<entry id=\"egi::virtual::458\" label=\"vo.plgrid.pl\" name=\"concept\" type=\"\"/>"
693
			+ "<entry id=\"egi::virtual::10261\" label=\"vo.landslides.mossaic.org\" name=\"concept\" type=\"\"/>"
694
			+ "<entry id=\"egi::virtual::10\" label=\"dzero\" name=\"concept\" type=\"\"/>"
695
			+ "<entry id=\"egi::virtual::1390\" label=\"lsgrid\" name=\"concept\" type=\"\"/>"
696
			+ "<entry id=\"egi::virtual::10286\" label=\"cernatschool.org\" name=\"concept\" type=\"\"/>"
697
			+ "<entry id=\"egi::virtual::17\" label=\"ukqcd\" name=\"concept\" type=\"\"/>"
698
			+ "<entry id=\"egi::virtual::1310\" label=\"vo.helio-vo.eu\" name=\"concept\" type=\"\"/>"
699
			+ "<entry id=\"egi::virtual::870\" label=\"fkppl.kisti.re.kr\" name=\"concept\" type=\"\"/>"
700
			+ "<entry id=\"egi::virtual::2132\" label=\"vo.ifisc.csic.es\" name=\"concept\" type=\"\"/>"
701
			+ "<entry id=\"egi::virtual::10277\" label=\"vo.dch-rp.eu\" name=\"concept\" type=\"\"/>"
702
			+ "<entry id=\"egi::virtual::10253\" label=\"dream.hipcat.net\" name=\"concept\" type=\"\"/>"
703
			+ "<entry id=\"egi::virtual::102\" label=\"nw_ru\" name=\"concept\" type=\"\"/>"
704
			+ "<entry id=\"egi::virtual::2175\" label=\"social.vo.ibergrid.eu\" name=\"concept\" type=\"\"/>"
705
			+ "<entry id=\"egi::virtual::10281\" label=\"lsst\" name=\"concept\" type=\"\"/>"
706
			+ "<entry id=\"egi::virtual::57\" label=\"voce\" name=\"concept\" type=\"\"/>"
707
			+ "<entry id=\"egi::virtual::12\" label=\"vo.sixt.cern.ch\" name=\"concept\" type=\"\"/>"
708
			+ "<entry id=\"egi::virtual::2112\" label=\"seismo.see-grid-sci.eu\" name=\"concept\" type=\"\"/>"
709
			+ "<entry id=\"egi::virtual::1890\" label=\"vo.cs.br\" name=\"concept\" type=\"\"/>"
710
			+ "<entry id=\"egi::virtual::1530\" label=\"t2k.org\" name=\"concept\" type=\"\"/>"
711
			+ "<entry id=\"egi::virtual::10264\" label=\"net.egi.eu\" name=\"concept\" type=\"\"/>" + "</ContextDSResources>";
712
}
modules/dnet-mapreduce-jobs/trunk/src/test/java/eu/dnetlib/data/mapreduce/hbase/index/config/ContextMapperTest.java
1
package eu.dnetlib.data.mapreduce.hbase.index.config;
2

  
3
import static org.junit.Assert.assertFalse;
4
import static org.junit.Assert.assertNotNull;
5
import static org.junit.Assert.assertTrue;
6

  
7
import java.util.Map.Entry;
8

  
9
import org.dom4j.DocumentException;
10
import org.junit.Before;
11
import org.junit.Test;
12

  
13
public class ContextMapperTest {
14

  
15
	private ContextMapper contextMapper;
16

  
17
	@Before
18
	public void setUp() throws Exception {
19
		contextMapper = ContextMapper.fromXml(Context.xml);
20
		assertNotNull(contextMapper);
21
	}
22

  
23
	@Test
24
	public void test() throws DocumentException {
25
		assertTrue(contextMapper.size() > 0);
26

  
27
		for (Entry<String, ContextDef> entry : contextMapper.entrySet()) {
28
			ContextDef def = entry.getValue();
29

  
30
			try {
31
				assertNotNull(def.getId());
32
				assertNotNull(def.getLabel());
33
				assertNotNull(def.getName());
34

  
35
				assertFalse(def.getId().isEmpty());
36
				assertFalse(def.getLabel().isEmpty());
37
				assertFalse(def.getName().isEmpty());
38

  
39
				if (def.getName().equals("context")) {
40
					assertNotNull(def.getType());
41
					assertFalse(def.getType().isEmpty());
42
				}
43
			} catch (Throwable e) {
44
				System.out.println("aaa");
45
			}
46
		}
47
	}
48

  
49
}
modules/dnet-mapreduce-jobs/trunk/src/test/java/eu/dnetlib/data/mapreduce/hbase/index/config/IndexConfigTest.java
1
package eu.dnetlib.data.mapreduce.hbase.index.config;
2

  
3
import eu.dnetlib.data.mapreduce.util.RelDescriptor;
4
import eu.dnetlib.data.proto.TypeProtos.Type;
5
import org.junit.Test;
6

  
7
import static org.junit.Assert.*;
8

  
9
public class IndexConfigTest {
10

  
11
	public static final String config =
12
			"index.conf { "
13
					+ "result { dups = true, links = ["
14
					+ "{ relType = personResult_authorship_hasAuthor, targetEntity = person, expandAs = rel, symmetric = true, fields = [title,dateofacceptance,publisher,resulttype,collectedfrom] }, "
15
					+ "{ relType = resultProject_outcome_isProducedBy, targetEntity = result, expandAs = rel, symmetric = true, fields = [title,dateofacceptance,publisher,resulttype], max = 1 }, "
16
					+ "{ relType = resultResult_dedup_isMergedIn, targetEntity = result, expandAs = child, symmetric = true, fields = [title,dateofacceptance,publisher,resulttype,pid] }, "
17
					+ "{ relType = resultResult_dedup_merges, targetEntity = result, expandAs = child, symmetric = true, fields = [title,dateofacceptance,publisher,resulttype,pid] }, "
18
					+ "{ relType = resultResult_publicationDataset_isRelatedTo, targetEntity = result, expandAs = rel, symmetric = true, fields = [title,dateofacceptance,publisher,resulttype,pid,url,collectedfrom] },"
19
					+ "{ relType = resultResult_similarity_isAmongTopNSimilarDocuments, targetEntity = result, expandAs = rel, symmetric = true, fields = [title,dateofacceptance,publisher,resulttype,similarity,type,pid] },"
20
					+ "{ relType = resultResult_similarity_hasAmongTopNSimilarDocuments, targetEntity = result, expandAs = rel, symmetric = true, fields = [title,dateofacceptance,publisher,resulttype,similarity,type,pid] },"
21
					+ "{ relType = resultResult_supplement_isSupplementTo, targetEntity = result, expandAs = rel, symmetric = true, fields = [title,dateofacceptance,publisher,resulttype,similarity,type,pid,url,collectedfrom] },"
22
					+ "{ relType = resultResult_supplement_isSupplementedBy, targetEntity = result, expandAs = rel, symmetric = true, fields = [title,dateofacceptance,publisher,resulttype,similarity,type,pid,url,collectedfrom] },"
23
					+ "{ relType = resultResult_part_isPartOf, targetEntity = result, expandAs = rel, symmetric = true, fields = [title,dateofacceptance,publisher,resulttype,similarity,type,pid,url] },"
24
					+ "{ relType = resultResult_part_hasPart, targetEntity = result, expandAs = rel, symmetric = true, fields = [title,dateofacceptance,publisher,resulttype,similarity,type,pid,url] }"
25
					+ "]}, "
26
					+ "person { dups = false, links = ["
27
					+ "{ relType = personResult_authorship_isAuthorOf, targetEntity = result, expandAs = rel, symmetric = true, fields = [fullname,ranking,pid], max = 2 }, "
28
					+ "{ relType = projectPerson_contactPerson_isContact, targetEntity = project, expandAs = rel, symmetric = true, fields = [fullname,email,fax,phone] } "
29
					+ "]}, "
30
					+ "datasource { dups = false, links = ["
31
					+ "{ relType = datasourceOrganization_provision_provides, targetEntity = organization, expandAs = rel, symmetric = true, fields = [officialname,websiteurl,datasourcetype,aggregatortype] } "
32
					+ "]}, "
33
					+ "organization { dups = false, links = ["
34
					+ "{ relType = projectOrganization_participation_isParticipant, targetEntity = project, expandAs = rel, symmetric = true, fields = [legalname,legalshortname,websiteurl,country] }, "
35
					+ "{ relType = datasourceOrganization_provision_isProvidedBy, targetEntity = datasource, expandAs = rel, symmetric = true, fields = [legalname,legalshortname,websiteurl,country] }, "
36
					+ "{ relType = organizationOrganization_dedup_merges, targetEntity = organization, expandAs = child, symmetric = true, fields = [legalname,legalshortname,websiteurl,country] }, "
37
					+ "{ relType = organizationOrganization_dedup_isMergedIn, targetEntity = organization, expandAs = child, symmetric = true, fields = [legalname,legalshortname,websiteurl,country] }"
38
					+ "]}, "
39
					+ "project { dups = false, links = ["
40
					+ "{ relType = projectOrganization_participation_hasParticipant, targetEntity = organization, expandAs = rel, symmetric = true, fields = [code,acronym,title,websiteurl,contracttype,fundingtree] }, "
41
					+ "{ relType = resultProject_outcome_produces, targetEntity = result, expandAs = rel, symmetric = true, fields = [code,acronym,title,websiteurl,contracttype,fundingtree] }, "
42
					+ "{ relType = projectPerson_contactPerson_hasContact, targetEntity = person, expandAs = rel, symmetric = true, fields = [code,acronym,title,websiteurl,contracttype,fundingtree] } "
43
					+ "]}} ";
44

  
45
	public static final String context = "[{id:'egi', label:'EGI', element:'context'}, "
46
			+ "{id:'egi::classification', label:'EGI classification scheme', element:'category'}, "
47
			+ "{id:'egi::classification::natsc', label:'Natural Sciences', element:'concept'}, "
48
			+ "{id:'egi::classification::natsc::math', label:'Mathematics', element:'concept'}, "
49
			+ "{id:'egi::classification::natsc::math::applied', label:'Applied Mathematics', element:'concept'}, "
50
			+ "{id:'egi::classification::natsc::math::pure', label:'Pure Mathematics', element:'concept'}, "
51
			+ "{id:'egi::classification::natsc::math::stats', label:'Statistics and Probability', element:'concept'}, "
52
			+ "{id:'egi::classification::natsc::math::other', label:'Other', element:'concept'}, "
53
			+ "{id:'egi::classification::natsc::cis', label:'Computer and Information sciences', element:'concept'}, "
54
			+ "{id:'egi::classification::natsc::cis::ai', label:'Artificial Intelligence', element:'concept'}, "
55
			+ "{id:'egi::classification::natsc::cis::bio', label:'Bioinformatics', element:'concept'}, "
56
			+ "{id:'egi::classification::natsc::cis::cs', label:'Computer sciences', element:'concept'}, "
57
			+ "{id:'egi::classification::natsc::cis::is', label:'Information science', element:'concept'}, "
58
			+ "{id:'egi::classification::natsc::cis::other', label:'Other', element:'concept'}, "
59
			+ "{id:'egi::classification::physc', label:'Physical Sciences', element:'concept'}, "
60
			+ "{id:'egi::vo', label:'EGI Virtual Organizations', element:'category'}, " + "{id:'egi::vo::alice', label:'alice', element:'concept'}, "
61
			+ "{id:'egi::vo::ams', label:'ams', element:'concept'}, " + "{id:'egi::vo::ams02', label:'ams02.cern.ch', element:'concept'}, "
62
			+ "{id:'egi::projects', label:'EGI Projects', element:'category'}, " + "{id:'egi::projects::wenmr', label:'WeNMR', element:'concept'}]";
63

  
64
	@Test
65
	public void testParse() {
66
		final IndexConfig conf = IndexConfig.load(config);
67
		assertNotNull(conf);
68
	}
69

  
70
	@Test
... This diff was truncated because it exceeds the maximum size that can be displayed.

Also available in: Unified diff