annotate src/app/ismi-relation-types.ts @ 62:7787ca310644 webpack tip

update @angular to 4.4.5.
author Robert Casties <casties@mpiwg-berlin.mpg.de>
date Wed, 18 Oct 2017 17:46:41 +0200
parents b65a031c4967
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
39
7578b21cdf2e make relation types configurable.
casties
parents:
diff changeset
1 import {RelationType, invNamePrefix} from './relation-type';
7578b21cdf2e make relation types configurable.
casties
parents:
diff changeset
2
7578b21cdf2e make relation types configurable.
casties
parents:
diff changeset
3 export var RELATION_TYPES: {[name:string]: RelationType} = {};
7578b21cdf2e make relation types configurable.
casties
parents:
diff changeset
4
7578b21cdf2e make relation types configurable.
casties
parents:
diff changeset
5 addRelationType('is_part_of', 'is included in', 'includes');
7578b21cdf2e make relation types configurable.
casties
parents:
diff changeset
6 addRelationType('is_exemplar_of', 'title of witness', 'witnesses to title');
7578b21cdf2e make relation types configurable.
casties
parents:
diff changeset
7 addRelationType('was_created_by', 'created by', 'works of');
7578b21cdf2e make relation types configurable.
casties
parents:
diff changeset
8 addRelationType('has_subject', 'subject of title', 'titles with subject');
41
5353b2dffb0f added local configuration file app/app-config.ts.
casties
parents: 40
diff changeset
9 addRelationType('has_role', 'roles of person', 'persons with role');
39
7578b21cdf2e make relation types configurable.
casties
parents:
diff changeset
10 addRelationType('is_alias_name_of', 'person name for alias', 'alias of person');
7578b21cdf2e make relation types configurable.
casties
parents:
diff changeset
11 addRelationType('is_alias_title_of', 'title name for alias', 'alias of title');
7578b21cdf2e make relation types configurable.
casties
parents:
diff changeset
12 addRelationType('is_commentary_on', 'is commentary on', 'list of commentaries');
7578b21cdf2e make relation types configurable.
casties
parents:
diff changeset
13 addRelationType('has_title_written_as', 'title in witness', 'witness with title as');
7578b21cdf2e make relation types configurable.
casties
parents:
diff changeset
14 addRelationType('has_author_written_as', 'author in witness', 'witness with author as');
7578b21cdf2e make relation types configurable.
casties
parents:
diff changeset
15 addRelationType('lived_in', 'place person lived in', 'persons who lived in');
7578b21cdf2e make relation types configurable.
casties
parents:
diff changeset
16 addRelationType('was_copied_by', 'witness copied by', 'witnesses that were copied by');
7578b21cdf2e make relation types configurable.
casties
parents:
diff changeset
17 addRelationType('was_born_in', 'place person was born in', 'persons who were born in');
7578b21cdf2e make relation types configurable.
casties
parents:
diff changeset
18 addRelationType('owned_by', 'codex owned by', 'persons who owned codex');
7578b21cdf2e make relation types configurable.
casties
parents:
diff changeset
19 addRelationType('was_student_of', 'studied with', 'persons studying with');
7578b21cdf2e make relation types configurable.
casties
parents:
diff changeset
20 addRelationType('died_in', 'place person died in', 'persons who died in');
7578b21cdf2e make relation types configurable.
casties
parents:
diff changeset
21 addRelationType('was_created_in', 'place title was created', 'titles that were created in');
7578b21cdf2e make relation types configurable.
casties
parents:
diff changeset
22 addRelationType('was_copied_in', 'place witness was copied', 'witnesses that were copied in');
7578b21cdf2e make relation types configurable.
casties
parents:
diff changeset
23 addRelationType('misattributed_to', 'title misattributed to', 'misattributions to person');
7578b21cdf2e make relation types configurable.
casties
parents:
diff changeset
24 addRelationType('was_dedicated_to', 'text dedicated to', 'texts that were dedicated to');
7578b21cdf2e make relation types configurable.
casties
parents:
diff changeset
25 addRelationType('is_version_of', 'standard text of different version', 'different version of standard text');
7578b21cdf2e make relation types configurable.
casties
parents:
diff changeset
26 addRelationType('is_translation_of', 'original text of a translation', 'translation of a text');
7578b21cdf2e make relation types configurable.
casties
parents:
diff changeset
27 addRelationType('has_floruit_date', 'floruit date of person', 'persons with floruit date');
7578b21cdf2e make relation types configurable.
casties
parents:
diff changeset
28 addRelationType('was_studied_by', 'persons studying this text', 'text studied by');
7578b21cdf2e make relation types configurable.
casties
parents:
diff changeset
29 //addRelationType('', '', '');
7578b21cdf2e make relation types configurable.
casties
parents:
diff changeset
30
40
896ae7eefb33 fix relation type queries.
casties
parents: 39
diff changeset
31 export function getRelationType(relType: string, isOutgoing: boolean): RelationType {
896ae7eefb33 fix relation type queries.
casties
parents: 39
diff changeset
32 let name = relType;
39
7578b21cdf2e make relation types configurable.
casties
parents:
diff changeset
33 if (isOutgoing === false) {
7578b21cdf2e make relation types configurable.
casties
parents:
diff changeset
34 // add prefix to name
7578b21cdf2e make relation types configurable.
casties
parents:
diff changeset
35 name = invNamePrefix + name;
7578b21cdf2e make relation types configurable.
casties
parents:
diff changeset
36 }
7578b21cdf2e make relation types configurable.
casties
parents:
diff changeset
37 let rt = RELATION_TYPES[name];
7578b21cdf2e make relation types configurable.
casties
parents:
diff changeset
38 if (rt == null) {
40
896ae7eefb33 fix relation type queries.
casties
parents: 39
diff changeset
39 rt = new RelationType(relType, isOutgoing);
896ae7eefb33 fix relation type queries.
casties
parents: 39
diff changeset
40 }
896ae7eefb33 fix relation type queries.
casties
parents: 39
diff changeset
41 return rt;
896ae7eefb33 fix relation type queries.
casties
parents: 39
diff changeset
42 }
896ae7eefb33 fix relation type queries.
casties
parents: 39
diff changeset
43
896ae7eefb33 fix relation type queries.
casties
parents: 39
diff changeset
44 export function getRelationByName(name: string): RelationType {
896ae7eefb33 fix relation type queries.
casties
parents: 39
diff changeset
45 let rt = RELATION_TYPES[name];
896ae7eefb33 fix relation type queries.
casties
parents: 39
diff changeset
46 if (rt == null) {
39
7578b21cdf2e make relation types configurable.
casties
parents:
diff changeset
47 if (name.indexOf(invNamePrefix) == 0) {
7578b21cdf2e make relation types configurable.
casties
parents:
diff changeset
48 // inverse relation
7578b21cdf2e make relation types configurable.
casties
parents:
diff changeset
49 name = name.substr(invNamePrefix.length);
7578b21cdf2e make relation types configurable.
casties
parents:
diff changeset
50 rt = new RelationType(name, false);
7578b21cdf2e make relation types configurable.
casties
parents:
diff changeset
51 } else {
7578b21cdf2e make relation types configurable.
casties
parents:
diff changeset
52 rt = new RelationType(name, true);
7578b21cdf2e make relation types configurable.
casties
parents:
diff changeset
53 }
7578b21cdf2e make relation types configurable.
casties
parents:
diff changeset
54 }
7578b21cdf2e make relation types configurable.
casties
parents:
diff changeset
55 return rt;
7578b21cdf2e make relation types configurable.
casties
parents:
diff changeset
56 }
7578b21cdf2e make relation types configurable.
casties
parents:
diff changeset
57
7578b21cdf2e make relation types configurable.
casties
parents:
diff changeset
58 function addRelationType(name: string, outLabel: string, inLabel: string) {
7578b21cdf2e make relation types configurable.
casties
parents:
diff changeset
59 // add outgoing relation
7578b21cdf2e make relation types configurable.
casties
parents:
diff changeset
60 RELATION_TYPES[name] = new RelationType(name, true, outLabel);
7578b21cdf2e make relation types configurable.
casties
parents:
diff changeset
61 // add inverse relation
7578b21cdf2e make relation types configurable.
casties
parents:
diff changeset
62 RELATION_TYPES[invNamePrefix + name] = new RelationType(name, false, inLabel);
7578b21cdf2e make relation types configurable.
casties
parents:
diff changeset
63 }