diff --git a/Makefile b/Makefile index a1c5419..ac37809 100644 --- a/Makefile +++ b/Makefile @@ -23,6 +23,7 @@ all: \ .PHONY: \ all-dependencies \ + all-ontology \ all-shapes \ all-taxonomy \ all-tests \ @@ -132,8 +133,13 @@ all-dependencies: \ $(MAKE) \ --directory dependencies -all-shapes: \ +all-ontology: \ all-dependencies + $(MAKE) \ + --directory ontology + +all-shapes: \ + all-ontology $(MAKE) \ --directory shapes diff --git a/dependencies/CASE-unstable b/dependencies/CASE-unstable index 0e7db01..c3abff9 160000 --- a/dependencies/CASE-unstable +++ b/dependencies/CASE-unstable @@ -1 +1 @@ -Subproject commit 0e7db0106d74498a25de27b383ea43c421fe76ba +Subproject commit c3abff90422467cd61f5d68511c3a5e8bfe26690 diff --git a/dependencies/Makefile b/dependencies/Makefile index 6b593c4..8e60652 100644 --- a/dependencies/Makefile +++ b/dependencies/Makefile @@ -15,6 +15,11 @@ SHELL := /bin/bash top_srcdir := $(shell cd .. ; pwd) +# TODO - After release of CASE 1.2.0, have this reference a different submodule. +case_srcdir := CASE-unstable + +uco_srcdir := $(case_srcdir)/dependencies/UCO + case_develop_ttls := \ $(wildcard CASE-develop/ontology/*/*.ttl) \ $(wildcard UCO-develop/ontology/*/*.ttl) \ @@ -48,8 +53,8 @@ rdf_toolkit_jar := $(top_srcdir)/dependencies/CASE/dependencies/UCO/lib/rdf-tool all: \ CASE-develop.ttl \ CASE-unstable.ttl \ - dcat-us.jsonld \ - dependencies.ttl + catalog-v001.xml \ + dcat-us.jsonld CASE-develop.ttl: \ $(top_srcdir)/.venv.done.log \ @@ -72,9 +77,29 @@ CASE-unstable.ttl: \ > _$@ mv _$@ $@ +catalog-v001.xml: \ + $(case_srcdir)/ontology/master/catalog-v001.xml \ + $(top_srcdir)/.venv.done.log \ + $(top_srcdir)/etc/domain_directories.tsv \ + $(top_srcdir)/etc/dependency_files.tsv \ + $(uco_srcdir)/src/create-catalog-v001.xml.py \ + $(uco_srcdir)/ontology/uco/master/catalog-v001.xml \ + dependencies.ttl + rm -f _$@ + source $(top_srcdir)/venv/bin/activate \ + && python3 $(uco_srcdir)/src/create-catalog-v001.xml.py \ + --catalog-xml $(case_srcdir)/ontology/master/catalog-v001.xml \ + --catalog-xml $(uco_srcdir)/ontology/uco/master/catalog-v001.xml \ + _$@ \ + $(top_srcdir)/etc/domain_directories.tsv \ + $(top_srcdir)/etc/dependency_files.tsv \ + "$(top_srcdir)" \ + dependencies.ttl + mv _$@ $@ + # Construction of dependencies.ttl includes UCO OWL review. check: \ - dependencies.ttl + catalog-v001.xml cito.ttl: \ cito/docs/current/cito.ttl @@ -90,6 +115,7 @@ clean: @rm -f \ CASE-develop.ttl \ CASE-unstable.ttl \ + catalog-v001.xml \ dependencies.ttl cpannotationschema.ttl: diff --git a/dependencies/catalog-v001.xml b/dependencies/catalog-v001.xml new file mode 100644 index 0000000..a17584e --- /dev/null +++ b/dependencies/catalog-v001.xml @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + diff --git a/etc/dependency_files.tsv b/etc/dependency_files.tsv new file mode 100644 index 0000000..6a05d7a --- /dev/null +++ b/etc/dependency_files.tsv @@ -0,0 +1,15 @@ +http://purl.org/dc/dcam/ ${top_srcdir}/dependencies/dcam.ttl +http://purl.org/dc/elements/1.1/ ${top_srcdir}/dependencies/dc.ttl +http://purl.org/dc/terms/ ${top_srcdir}/dependencies/dcterms.ttl +http://purl.org/spar/cito/2018-02-16 ${top_srcdir}/dependencies/cito.ttl +http://purl.org/swan/2.0/discourse-relationships/ ${top_srcdir}/dependencies/discourse-relationships.ttl +http://www.ontologydesignpatterns.org/cp/owl/situation.owl ${top_srcdir}/dependencies/situation.ttl +http://www.ontologydesignpatterns.org/schemas/cpannotationschema.owl ${top_srcdir}/dependencies/cpannotationschema.ttl +http://www.w3.org/2004/02/skos/core ${top_srcdir}/dependencies/skos.ttl +http://www.w3.org/2006/time#2016 ${top_srcdir}/dependencies/time.ttl +http://www.w3.org/2006/vcard/ns ${top_srcdir}/dependencies/vcard.ttl +http://www.w3.org/ns/dcat ${top_srcdir}/dependencies/dcat.ttl +http://xmlns.com/foaf/0.1/ ${top_srcdir}/dependencies/foaf.ttl +https://raw.githubusercontent.com/casework/CASE-Corpora/main/dependencies/prov-o.ttl ${top_srcdir}/dependencies/prov-o.ttl +https://raw.githubusercontent.com/casework/CASE-Corpora/main/dependencies/sosa.ttl ${top_srcdir}/dependencies/sosa.ttl +https://raw.githubusercontent.com/casework/CASE-Corpora/main/dependencies/ssn.ttl ${top_srcdir}/dependencies/ssn.ttl diff --git a/etc/domain_directories.tsv b/etc/domain_directories.tsv new file mode 100644 index 0000000..69b3045 --- /dev/null +++ b/etc/domain_directories.tsv @@ -0,0 +1,4 @@ +http://example.org/ontology/ ${top_srcdir}/ontology/ +http://example.org/shapes/ ${top_srcdir}/shapes/ +https://ontology.caseontology.org/ ${top_srcdir}/dependencies/CASE-unstable/ontology/ +https://ontology.unifiedcyberontology.org/ ${top_srcdir}/dependencies/CASE-unstable/dependencies/UCO/ontology/ diff --git a/ontology/Makefile b/ontology/Makefile index e6d2a52..0b9d7d4 100644 --- a/ontology/Makefile +++ b/ontology/Makefile @@ -15,11 +15,17 @@ SHELL := /bin/bash top_srcdir := $(shell cd .. ; pwd) +# TODO - After release of CASE 1.2.0, have this reference a different submodule. +case_srcdir := $(top_srcdir)/dependencies/CASE-unstable + +uco_srcdir := $(case_srcdir)/dependencies/UCO + ontology_files := case-corpora.ttl check_ontology_files := $(foreach ontology_file,$(ontology_files),.check-$(ontology_file)) check_ontology_targets := $(foreach ontology_file,$(ontology_files),check-$(ontology_file)) -all: +all: \ + catalog-v001.xml .PRECIOUS: \ .check-%.ttl @@ -34,8 +40,29 @@ all: --target-format turtle mv _$@ $@ +catalog-v001.xml: \ + $(case_srcdir)/ontology/master/catalog-v001.xml \ + $(top_srcdir)/.venv.done.log \ + $(top_srcdir)/etc/domain_directories.tsv \ + $(top_srcdir)/etc/dependency_files.tsv \ + $(uco_srcdir)/src/create-catalog-v001.xml.py \ + $(uco_srcdir)/ontology/uco/master/catalog-v001.xml \ + $(ontology_files) + rm -f _$@ + source $(top_srcdir)/venv/bin/activate \ + && python3 $(uco_srcdir)/src/create-catalog-v001.xml.py \ + --catalog-xml $(case_srcdir)/ontology/master/catalog-v001.xml \ + --catalog-xml $(uco_srcdir)/ontology/uco/master/catalog-v001.xml \ + _$@ \ + $(top_srcdir)/etc/domain_directories.tsv \ + $(top_srcdir)/etc/dependency_files.tsv \ + "$(top_srcdir)" \ + $(ontology_files) + mv _$@ $@ + check: \ $(check_ontology_targets) \ + catalog-v001.xml \ uco_owl_review.ttl check-%.ttl: \ @@ -47,6 +74,7 @@ check-%.ttl: \ clean: @rm -f \ $(check_ontology_files) \ + catalog-v001.xml \ uco_owl_review.ttl uco_owl_review.ttl: \ diff --git a/ontology/catalog-v001.xml b/ontology/catalog-v001.xml new file mode 100644 index 0000000..cbcaf3e --- /dev/null +++ b/ontology/catalog-v001.xml @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/shapes/Makefile b/shapes/Makefile index c1197a3..853bc43 100644 --- a/shapes/Makefile +++ b/shapes/Makefile @@ -15,6 +15,11 @@ SHELL := /bin/bash top_srcdir := $(shell cd .. ; pwd) +# TODO - After release of CASE 1.2.0, have this reference a different submodule. +case_srcdir := $(top_srcdir)/dependencies/CASE-unstable + +uco_srcdir := $(case_srcdir)/dependencies/UCO + shapes_ttl_sources := $(wildcard sh-*.ttl) shape_files := \ $(shapes_ttl_sources) \ @@ -23,6 +28,7 @@ check_shape_files := $(foreach shape_file,$(shape_files),.check-$(shape_file)) check_shape_targets := $(foreach shape_file,$(shape_files),check-$(shape_file)) all: \ + catalog-v001.xml \ shapes.ttl .PRECIOUS: \ @@ -38,6 +44,28 @@ all: \ --target-format turtle mv _$@ $@ +catalog-v001.xml: \ + $(case_srcdir)/ontology/master/catalog-v001.xml \ + $(top_srcdir)/.venv.done.log \ + $(top_srcdir)/etc/domain_directories.tsv \ + $(top_srcdir)/etc/dependency_files.tsv \ + $(top_srcdir)/ontology/catalog-v001.xml \ + $(uco_srcdir)/src/create-catalog-v001.xml.py \ + $(uco_srcdir)/ontology/uco/master/catalog-v001.xml \ + shapes.ttl + rm -f _$@ + source $(top_srcdir)/venv/bin/activate \ + && python3 $(uco_srcdir)/src/create-catalog-v001.xml.py \ + --catalog-xml $(case_srcdir)/ontology/master/catalog-v001.xml \ + --catalog-xml $(top_srcdir)/ontology/catalog-v001.xml \ + --catalog-xml $(uco_srcdir)/ontology/uco/master/catalog-v001.xml \ + _$@ \ + $(top_srcdir)/etc/domain_directories.tsv \ + $(top_srcdir)/etc/dependency_files.tsv \ + "$(top_srcdir)" \ + shapes.ttl + mv _$@ $@ + check: \ $(check_shape_targets) \ uco_owl_review.ttl \ diff --git a/shapes/catalog-v001.xml b/shapes/catalog-v001.xml new file mode 100644 index 0000000..23dd956 --- /dev/null +++ b/shapes/catalog-v001.xml @@ -0,0 +1,61 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +