-
Notifications
You must be signed in to change notification settings - Fork 0
/
Makefile
123 lines (100 loc) · 3.41 KB
/
Makefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
SHELL := /bin/zsh
include .make.env
NOW := $(shell dateconv now)Z
FILES = catalogues.ttl regimes.ttl sessions.ttl days.ttl
all: $(FILES:%.ttl=.imported.%)
check: $(FILES:%.ttl=check.%)
export: $(FILES:%.ttl=export.%)
anno: $(FILES:%.ttl=%.anno)
.%.ttl.canon: %.ttl
rapper -i turtle $< >/dev/null
ttl2ttl --sortable $< \
| tr '@' '\001' \
| sort -u \
| tr '\001' '@' \
| ttl2ttl -B \
> $@ && mv $@ $< \
&& touch $@
check.sessions: ADDITIONAL = catalogues.ttl regimes.ttl
check.days: ADDITIONAL = catalogues.ttl sessions.ttl
tmp/import-from-bps.out: /data/data-source/bbstk/.imported.bps
tmp/import-from-cal.out: /data/data-source/bbstk/.imported.bps /data/data-source/bbstk/.imported.cal
tmp/reconcile-days-sessions.out: .imported.sessions .imported.days
check.%: %.ttl shacl/%.shacl.ttl
truncate -s 0 /tmp/$@.ttl
$(stardog) data add --remove-all -g "http://data.ga-group.nl/catasess/" catasess $< $(ADDITIONAL)
$(stardog) icv report --output-format PRETTY_TURTLE -g "http://data.ga-group.nl/catasess/" -r -l -1 catasess shacl/$*.shacl.ttl \
>> /tmp/$@.ttl || true
if test -f shacl/$*.shacl.sql; then \
m4 shacl/$*.shacl.sql \
| $(ttlsql) \
>> /tmp/$@.ttl || true; \
fi
$(MAKE) $*.rpt
%.rpt: /tmp/check.%.ttl
$(sparql) --results text --data $< --query sql/valrpt.sql
%.anno: /tmp/check.%.ttl
mawk '!(/violated-shape/||/warned-shape/)||/\.$$/&&$$0="."' $*.ttl \
> $@
$(sparql) --data $< --query sql/rptanno.sql \
>> $@ && mv $@ $*.ttl
tmp/%.out:: sql/%.sql
$(csvsql) $< \
| unqpc --only-printable \
> $@.t && mv $@.t $@
tmp/%.out:: tmp/%.sql
$(csvsql) $< \
| unqpc --only-printable \
| tee $@.t && mv $@.t $@
.imported.%:: %.ttl.repl sql/repl-%.sql
rapper -c -i turtle $<
$(csvsql) < sql/repl-$*.sql \
&& touch $@ && $(RM) -- $<
.imported.%:: %.ttl.add sql/ladd-%.sql
rapper -c -i turtle $<
$(csvsql) < sql/ladd-$*.sql \
&& touch $@ && $(RM) -- $<
.imported.%:: %.ttl sql/load-%.sql
$(riot) --validate --syntax=TURTLE $<
$(csvsql) < sql/load-$*.sql \
&& touch $@
/var/scratch/lakshmi/freundt/%.ttl: sql/dump-%.sql .imported.%
m4 $< \
| $(csvsql)
export.%: /var/scratch/lakshmi/freundt/%.ttl
-mawk '(x+=$$0=="")<=3&&($$0==""||(x=0)||1)' $*.ttl > $@
sed 's/rdf:type/a/' /var/scratch/lakshmi/freundt/$*.ttl \
| ttl2ttl --sortable --expand-generic \
| sort -u \
| ttl2ttl -BQU \
| sed '/^@/d;s@rdf:predicate\ta@rdf:predicate\trdf:type@' \
>> $@
touch .imported.$*
mv $@ $*.ttl
export.void: $(FILES:%.ttl=tmp/%.void)
-mawk '(x+=$$0=="")<=3&&($$0==""||(x=0)||1)' void.ttl > $@
@echo >> $@
@echo "## with summaries" >> $@
cat $^ \
>> $@
mv $@ void.ttl && ln -f void.ttl tmp/void_$(NOW).ttl
tmp/%.void: .imported.%
$(ttlsql) \
sql/void-summary.sql \
sql/void-vocabulary.sql \
sql/void-class-partitions.sql \
sql/void-no-class-partition.sql \
sql/void-property-partitions.sql \
-u GRAPH="http://data.ga-group.nl/catasess/$*/" \
| ttl2ttl --sortable --expand-generic \
| sed 's@<urn:sha1:\([0-9a-f]*\)>@ _:b\1@; s/rdf:type\t/a\t/; /^@/d' \
| sort -u \
| ttl2ttl -B \
> $@
setup-stardog:
$(stardog_admin) db create -o reasoning.sameas=OFF -n catasess
$(stardog) namespace add --prefix cata --uri http://data.ga-group.nl/catasess/catalogues/ catasess
$(stardog) namespace add --prefix sess --uri http://data.ga-group.nl/catasess/sessions/ catasess
$(stardog) namespace add --prefix regm --uri http://data.ga-group.nl/catasess/regimes/ catasess
unsetup-stardog:
$(stardog)-admin db drop catasess