-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathMakefile
35 lines (25 loc) · 1.27 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
all: eq-reasoned.owl
%.obo: %.owl
owltools $< -o -f obo $@
# hacky way to get IDs from an ontology; requires obo
%.ids: %.obo
blip-findall -i $< class/1 -no_pred | perl -npe 's@.*/@@' > [email protected] && (echo $* && cat [email protected]) > $@
# cross-product ontology is made using DOS design patterns
eq.owl: quality.ids entity.ids
apply-pattern.py -b http://example.org/test/ -p eq-pattern.yaml -x $^ > $@
# as above but include imports
eq-with-imports.owl: eq.owl quality.owl entity.owl
owltools $^ --add-imports-from-supports -o $@
eq-reasoned.owl: eq.owl quality.owl entity.owl
owltools $^ --add-imports-from-supports --assert-inferred-subclass-axioms --remove-imports-declarations -o $@
# annotate each edge with a 'mini-explanation', which is essentially just the ontologies that justify the edge;
# e.g. for an edge that requires the entity ontology, it will be annotated requires=entity
eq-annotated.owl: eq-with-imports.owl
owltools --use-catalog $< --annotate-with-reasoner -o $@
eq-annotated-only.owl: eq-with-imports.owl
owltools --use-catalog $< --annotate-with-reasoner -c http://example.org/test/anns -o $@
%-nd.obo: %.owl
owltools $< --remove-dangling -o -f obo $@
# Stripped down: just the nodes, no edges
eq-terms.owl: eq.owl
owltools $< --remove-axioms -t EquivalentClasses -o $@