Skip to content

Commit 8e9ac20

Browse files
author
mgeipel
committed
extended examples
1 parent f886178 commit 8e9ac20

File tree

6 files changed

+337
-0
lines changed

6 files changed

+337
-0
lines changed

examples/gnd/crisscross-connections/10.pica

Lines changed: 11 additions & 0 deletions
Large diffs are not rendered by default.
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
default base = "";
2+
default dump = FLUX_DIR + "10.pica";
3+
default out = base + "Ts1-Tg1-without-crisscross.txt";
4+
5+
"counting references in " + dump | write("stdout");
6+
7+
dump|
8+
open-file|
9+
as-lines|
10+
catch-object-exception|
11+
decode-pica|
12+
batch-log(batchsize="100000")|
13+
morph(FLUX_DIR + "extract.xml")|
14+
stream-to-triples(redirect="true")|
15+
sort-triples(by="subject")|
16+
collect-triples|
17+
morph(FLUX_DIR + "output.xml")|
18+
batch-log(batchsize="100000")|
19+
stream-to-triples|
20+
template("${o}")|
21+
write(out);
Lines changed: 270 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,270 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<metamorph xmlns="http://www.culturegraph.org/metamorph"
3+
version="1" entityMarker=".">
4+
5+
<macros>
6+
<macro name="pn">
7+
<combine name="$[out]" value="${value}" reset="false">
8+
<data source="@type">
9+
<regexp match="[pn]" />
10+
</data>
11+
<combine name="value"
12+
value="${personalname}${surname}${forename}${prefix}${add}"
13+
flushWith="028$[post]" reset="true">
14+
<data source="028$[post].P" name="personalname" />
15+
<data source="028$[post].a" name="surname" />
16+
<data source="028$[post].d" name="forename">
17+
<compose prefix=", " />
18+
</data>
19+
<data source="028$[post].c" name="prefix">
20+
<compose prefix=" " />
21+
</data>
22+
<concat name="add" prefix=" &lt;" postfix="&gt;" delimiter=", "
23+
flushWith="028$[post]" reset="true">
24+
<data source="028$[post].n" />
25+
<data source="028$[post].l" />
26+
<data source="028$[post].g" />
27+
</concat>
28+
</combine>
29+
</combine>
30+
</macro>
31+
32+
<macro name="b">
33+
<combine name="$[out]" value="${value}${add}">
34+
<data source="@type">
35+
<equals string="b" />
36+
</data>
37+
<data source="029$[post].a" name="value" />
38+
<choose name="add">
39+
<concat delimiter="" name="">
40+
<data source="029$[post].g">
41+
<compose prefix=" &lt;" postfix="&gt;" />
42+
</data>
43+
<data source="029$[post].b">
44+
<compose prefix=" / " />
45+
</data>
46+
</concat>
47+
<data source="_id">
48+
<constant value="" />
49+
</data>
50+
</choose>
51+
<postprocess>
52+
<replace pattern="&gt; &lt;" with=", " />
53+
</postprocess>
54+
</combine>
55+
</macro>
56+
57+
<macro name="f">
58+
<combine name="$[out]" value="${value}${add1}${add2}">
59+
<data source="@type">
60+
<equals string="f" />
61+
</data>
62+
<data source="030$[post].a" name="value" />
63+
<choose name="add2">
64+
<concat delimiter=", " name="" prefix=" &lt;" postfix="&gt;">
65+
<data source="030$[post].g" />
66+
<data source="030$[post].n" />
67+
<data source="030$[post].d" />
68+
<data source="030$[post].c" />
69+
</concat>
70+
<data source="_id">
71+
<constant value="" />
72+
</data>
73+
</choose>
74+
<choose name="add1">
75+
<data source="030$[post].b">
76+
<compose prefix=" / " />
77+
</data>
78+
<data source="_id">
79+
<constant value="" />
80+
</data>
81+
</choose>
82+
</combine>
83+
</macro>
84+
85+
<macro name="g">
86+
<combine name="$[out]" value="${value}${add1}${add2}">
87+
<data source="@type">
88+
<equals string="g" />
89+
</data>
90+
<data source="065$[post].a" name="value" />
91+
<choose name="add2">
92+
<concat delimiter=", " name="" prefix=" &lt;" postfix="&gt;">
93+
<data source="065$[post].z" />
94+
<data source="065$[post].g" />
95+
</concat>
96+
<data source="_id">
97+
<constant value="" />
98+
</data>
99+
</choose>
100+
<choose name="add1">
101+
<data source="065$[post].x">
102+
<compose prefix=" / " />
103+
</data>
104+
<data source="_id">
105+
<constant value="" />
106+
</data>
107+
</choose>
108+
</combine>
109+
</macro>
110+
111+
<macro name="s">
112+
<combine name="$[out]" value="${value}${add}">
113+
<data source="@type">
114+
<equals string="s" />
115+
</data>
116+
<data source="041$[post].a" name="value" />
117+
<choose name="add">
118+
<concat delimiter=", " name="" prefix=" &lt;" postfix="&gt;">
119+
<data source="041$[post].g" />
120+
</concat>
121+
<data source="_id">
122+
<constant value="" />
123+
</data>
124+
</choose>
125+
</combine>
126+
</macro>
127+
128+
<macro name="u">
129+
<combine name="$[out]" value="${value}${add1}${add2}">
130+
<data source="@type">
131+
<equals string="u" />
132+
</data>
133+
<data source="022$[post].a" name="value" />
134+
<choose name="add2">
135+
<concat delimiter=", " name="" prefix=" &lt;" postfix="&gt;">
136+
<data source="022$[post].f" />
137+
<data source="022$[post].g" />
138+
<data source="022$[post].n" />
139+
</concat>
140+
<data source="_id">
141+
<constant value="" />
142+
</data>
143+
</choose>
144+
<choose name="add1">
145+
<data source="022$[post].p">
146+
<compose prefix=" / " />
147+
</data>
148+
<data source="_id">
149+
<constant value="" />
150+
</data>
151+
</choose>
152+
</combine>
153+
</macro>
154+
</macros>
155+
156+
<rules>
157+
<data source="[email protected]" name="@type">
158+
<substring start="1" end="2" />
159+
</data>
160+
161+
<!-- pn -->
162+
<call-macro name="pn" post="A" out="@name" />
163+
<call-macro name="pn" post="@" out="@syn" />
164+
165+
166+
<call-macro name="b" post="A" out="@name" />
167+
<call-macro name="b" post="@" out="@syn" />
168+
169+
<!-- f -->
170+
<call-macro name="f" post="A" out="@name" />
171+
<call-macro name="f" post="@" out="@syn" />
172+
173+
<!-- s -->
174+
<call-macro name="s" post="A" out="@name" />
175+
<call-macro name="s" post="@" out="@syn" />
176+
177+
<!-- g -->
178+
<call-macro name="g" post="A" out="@name" />
179+
<call-macro name="g" post="@" out="@syn" />
180+
181+
<!-- u -->
182+
<call-macro name="u" post="A" out="@name" />
183+
<call-macro name="u" post="@" out="@syn" />
184+
185+
186+
187+
<!-- <data source="008A.a" name="teilbest" /> -->
188+
189+
<combine name="{to:${ref}}refed" value="">
190+
<data source="041A*.9" name="ref">
191+
<trim />
192+
<unique />
193+
</data>
194+
</combine>
195+
196+
197+
<entity name="gnd">
198+
<data source="@name" name="name" />
199+
200+
<data source="[email protected]" name="satzart">
201+
<substring end="2" />
202+
</data>
203+
204+
<data source="[email protected]" name="katlevel">
205+
<substring start="2" end="3" />
206+
</data>
207+
208+
<!-- <data source="[email protected]" name="id" /> -->
209+
210+
<data source="007K.0" name="nid" />
211+
212+
<choose name="sys">
213+
<concat delimiter=" | " name="sys">
214+
<data source="042A.a">
215+
<replace pattern=";" with="," />
216+
</data>
217+
</concat>
218+
<data source="_id">
219+
<constant value="" />
220+
</data>
221+
</choose>
222+
223+
<choose name="ent">
224+
<concat delimiter="; " name="ent">
225+
<data source="004B.a" />
226+
</concat>
227+
<data source="_id">
228+
<constant value="" />
229+
</data>
230+
</choose>
231+
232+
<choose name="syn">
233+
<concat delimiter=" | " name="syn">
234+
<data source="@syn" />
235+
</concat>
236+
<data source="_id">
237+
<constant value="" />
238+
</data>
239+
</choose>
240+
241+
<data name="filter1" source="004B.a">
242+
<blacklist>
243+
<entry name="gib" />
244+
<entry name="gio" />
245+
<entry name="giw" />
246+
</blacklist>
247+
</data>
248+
249+
<data source="[email protected]" name="filter2">
250+
<whitelist>
251+
<entry name="Ts1" />
252+
<entry name="Tg1" />
253+
</whitelist>
254+
</data>
255+
256+
<choose name="filter3">
257+
<data source="037G.c" />
258+
<data source="_id">
259+
<constant value="ok" />
260+
</data>
261+
<postprocess>
262+
<equals string="ok" />
263+
</postprocess>
264+
</choose>
265+
</entity>
266+
</rules>
267+
268+
<maps>
269+
</maps>
270+
</metamorph>
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<metamorph xmlns="http://www.culturegraph.org/metamorph"
3+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1">
4+
5+
<meta>
6+
<name>CSV with count data</name>
7+
</meta>
8+
<rules>
9+
<combine name=""
10+
value="${count};${id};${nid};${satzart};${katlevel};${name};${sys};${ent};${syn}">
11+
12+
<choose name="count">
13+
14+
<data source="refed" name="count">
15+
<count />
16+
</data>
17+
18+
<!-- <data source="_id"> -->
19+
<!-- <constant value="0" /> -->
20+
<!-- </data> -->
21+
</choose>
22+
23+
<data source="_id" name="id" />
24+
25+
<data source="gnd.nid" name="nid" />
26+
<data source="gnd.katlevel" name="katlevel" />
27+
<data source="gnd.satzart" name="satzart" />
28+
<data source="gnd.name" name="name" />
29+
<data source="gnd.sys" name="sys" />
30+
<data source="gnd.ent" name="ent" />
31+
<data source="gnd.syn" name="syn" />
32+
33+
</combine>
34+
</rules>
35+
</metamorph>

0 commit comments

Comments
 (0)