Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release 0.7.0 #297

Merged
merged 144 commits into from
Aug 18, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
144 commits
Select commit Hold shift + click to select a range
7b18ba1
Implement CI based on rdf-toolkit and 'make check' design pattern
ajnelson-nist Apr 16, 2021
fe02f08
Normalize content of observable-da.ttl
ajnelson-nist Apr 16, 2021
0b6d8bb
Merge pull request #248 from ucoProject/Feature-CP-39
sbarnum May 7, 2021
a233596
Add missed update for partitionID type
ajnelson-nist May 11, 2021
d867184
Change NTFSFileSystemFacet to NTFSFileFacet
ajnelson-nist May 11, 2021
dc44ac4
Spell observable:nameserver with camel-casing
ajnelson-nist May 11, 2021
f2c33b3
Merge pull request #260 from ucoProject/BugFix-CP-52
sbarnum May 17, 2021
e2820d0
Merge pull request #257 from ucoProject/BugFix-CP-46
sbarnum May 17, 2021
d41f9b8
Perform Make directory traversal in sort order
ajnelson-nist May 25, 2021
0a67512
Added the '.org' domain to the URIs within core:ExternalReference and…
b0bkaT May 27, 2021
24ce621
Merge pull request #263 from ucoProject/BugFix-CP-53
b0bkaT May 27, 2021
d68c14d
Deleted double prefix instances.
b0bkaT May 27, 2021
64f4d93
Fixed RDFS typos in support of CP-48
sbarnum May 28, 2021
af8cacd
Removed duplicate definitions for core:object and normalized its defi…
sbarnum May 28, 2021
24b808b
Removed duplicate definitions for observable:owner and observable:pas…
sbarnum May 28, 2021
f947050
Modified cardinality of observable:hasChanged property on observable:…
sbarnum May 28, 2021
cb1c6ee
Modified range of observable:clockSetting from xsd:string to xsd:date…
sbarnum May 28, 2021
74dda59
Modified the name of the class identity:CountriesOfResidence to be id…
sbarnum May 28, 2021
867eb13
Modified definition of core:specVersion to be "The version of UCO ont…
sbarnum May 28, 2021
bb179d8
Added rdfs:comment: "When used to characterize a file the sizeInBytes…
sbarnum May 28, 2021
99f84a5
Added core:Identity and core:MarkingDefinition subClasses
b0bkaT Jun 4, 2021
1cd4569
Normalize
b0bkaT Jun 4, 2021
d7c5f41
Normalize
b0bkaT Jun 4, 2021
ecf841d
Normalize
b0bkaT Jun 4, 2021
e494ace
Normalize
b0bkaT Jun 4, 2021
961d7a3
Normalize
b0bkaT Jun 4, 2021
f504018
Normalize
b0bkaT Jun 4, 2021
62a6f96
Normalize
b0bkaT Jun 4, 2021
0807b81
Normalize
b0bkaT Jun 4, 2021
0b2ee29
Added 'Abstraction' to the class names of core:Identity and core:Mark…
b0bkaT Jun 15, 2021
4fddeba
Add Python testing framework and adapted CASE sample to evaluate SHAC…
ajnelson-nist May 26, 2021
d252c56
Merge pull request #258 from ucoProject/Feature-CP-38
b0bkaT Jun 15, 2021
57658b9
Merge pull request #264 from ucoProject/BugFix-CP-48
ajnelson-nist Jun 15, 2021
ea8683e
Merge pull request #265 from ucoProject/FastTrack-CP-54
ajnelson-nist Jun 15, 2021
59cd60f
Merge pull request #267 from ucoProject/FastTrack-CP-55
ajnelson-nist Jun 15, 2021
9f3aa23
Merge pull request #268 from ucoProject/BugFix-CP-57
ajnelson-nist Jun 15, 2021
af48199
Merge pull request #269 from ucoProject/BugFix-CP-58
ajnelson-nist Jun 15, 2021
def98f2
Merge pull request #270 from ucoProject/BugFix-CP-59
ajnelson-nist Jun 15, 2021
b44e5f0
Merge pull request #271 from ucoProject/BugFix-CP-60
ajnelson-nist Jun 15, 2021
6011c13
Merge branch 'develop' into BugFix-CP-62
b0bkaT Jun 15, 2021
0b1c692
Fix typo
ajnelson-nist Jun 15, 2021
d8ba426
Merge pull request #272 from ucoProject/FastTrack-CP-54
b0bkaT Jun 15, 2021
b9b3cc0
Merge branch 'develop' into BugFix-CP-62
b0bkaT Jun 15, 2021
bf15079
Merge pull request #261 from ucoProject/Feature-CP-39
sbarnum Jun 16, 2021
9720155
Merge branch 'develop' into BugFix-CP-62
b0bkaT Jun 17, 2021
fdeb32e
Updated ranges for core:createdBy and core:objectMarking as specified…
b0bkaT Jun 17, 2021
1ee9f8a
Correct Facet names
ajnelson-nist Jun 17, 2021
b437d33
Regenerate Make-managed files
ajnelson-nist Jun 17, 2021
480ffb4
Use example.org non-resolving domain for custom-Facet namespace
ajnelson-nist Jun 17, 2021
41abcb3
Changed cardinality on core:id to maxQualifiedCardinality=1
b0bkaT Jun 17, 2021
e272df4
Correct Facet names
ajnelson-nist Jun 17, 2021
58ba3b8
Account for pyshacl exiting 1 in XFAIL test based on intended non-con…
ajnelson-nist Jun 17, 2021
5b5654f
Ignore temporary Make-generated files
ajnelson-nist Jun 17, 2021
2c36bdb
Add Python setup to Github Actions CI
ajnelson-nist Jun 21, 2021
25b7773
Continuation of CP-16.
b0bkaT Jun 22, 2021
d5ef151
Fixed naming convention for observable:profileLanguage
b0bkaT Jun 22, 2021
0aa5cf3
Normalize
b0bkaT Jun 22, 2021
c434616
Removed observable:faxNumber (CP-64)
b0bkaT Jun 22, 2021
0385b11
Removed core:role from core.ttl and core-da.ttl
b0bkaT Jun 22, 2021
1c34ab6
Merge pull request #275 from ucoProject/BugFix-CP-16
ajnelson-nist Jun 22, 2021
995c32d
Correct casing of picturetype to pictureType
ajnelson-nist Jun 23, 2021
9dfe290
Carry rename of contactInfo to registrantContactInfo to observable-da…
ajnelson-nist Jun 23, 2021
542e591
Merge pull request #279 from ucoProject/BugFix-Issue-143
b0bkaT Jun 24, 2021
bb9b992
Merge pull request #280 from ucoProject/Feature-CP-5
b0bkaT Jun 24, 2021
5b35fac
Merge branch 'develop' into Feature-CP-23
b0bkaT Jun 24, 2021
815df54
Merge branch 'BugFix-CP-62' into develop
b0bkaT Jun 24, 2021
142c57b
Merge branch 'BugFix-CP-63' into develop
b0bkaT Jun 24, 2021
a3a19a8
Merge branch 'BugFix-CP-64' into develop
b0bkaT Jun 24, 2021
e26ff0b
Merge branch 'BugFix-CP-65' into develop
b0bkaT Jun 24, 2021
886b750
Merge branch 'BugFix-CP-66' into develop
b0bkaT Jun 24, 2021
b444cbc
Merge branch 'develop' into Feature-CP-23
b0bkaT Jun 24, 2021
2e2d60a
Merge branch 'BugFix-CP-62' into develop
b0bkaT Jun 24, 2021
1c2a702
Merge branch 'BugFix-CP-63' into develop
b0bkaT Jun 24, 2021
8306900
Merge branch 'BugFix-CP-64' into develop
b0bkaT Jun 24, 2021
88d0477
Merge branch 'BugFix-CP-65' into develop
b0bkaT Jun 24, 2021
61e7fab
Merge branch 'BugFix-CP-66' into develop
b0bkaT Jun 24, 2021
42c6c3a
Merge branch 'develop' into Feature-CP-23
b0bkaT Jun 24, 2021
d9e930b
Initial SHACL files
b0bkaT Jun 28, 2021
7e0c1a4
Use Python venv to build virtual environment for CI
ajnelson-nist Jun 28, 2021
fceec57
Regenerate validation files from clean build
ajnelson-nist Jul 27, 2021
888b4d0
Add two action files to test property shape inheritance
Jun 28, 2021
3722838
Move mostly-consistent code into loading function
ajnelson-nist Jul 12, 2021
53f72b8
Use wildcard recipes for generating validation files
ajnelson-nist Jul 12, 2021
aa3515c
Add action_inheritance files to unit tests, recording validation
ajnelson-nist Jul 12, 2021
4fe2578
Pass ontological subclass relationships through extra pyshacl argument
ajnelson-nist Jul 19, 2021
fce6f7a
Refine expected failure state detection
ajnelson-nist Jul 27, 2021
c14d756
Address example errors reported by pyshacl
ajnelson-nist Jul 19, 2021
8b58e03
Encode XPASS of one of the attempted failure inductions
ajnelson-nist Jul 27, 2021
e4e6c1d
Use Java 8 for rdf-toolkit
ajnelson-nist Jul 29, 2021
c545210
Merge branch 'BugFix-CP-71' into Feature-CP-23
ajnelson-nist Jul 29, 2021
2be2117
Restore comment lost in SHACL conversion
ajnelson-nist Jul 26, 2021
b9ed62e
Match constraint integer types to SHACL expectations
ajnelson-nist Jul 27, 2021
5b2954d
Manually apply xsd prefix
ajnelson-nist Jul 27, 2021
abd51b5
Merge branch 'Feature-CP-23-offline-testing' into Feature-CP-23
ajnelson-nist Jul 29, 2021
6bae386
Regenerate Make-managed files
ajnelson-nist Jul 27, 2021
3415776
Added property restriction to observable:ProfileFacet (CP-7)
b0bkaT Jun 28, 2021
335678f
Added cardinality restraint for observable:profileWebsite
b0bkaT Jun 28, 2021
4d7478f
Merge branch 'Feature-CP-23-CP-7' into Feature-CP-23
ajnelson-nist Jul 29, 2021
0ed6455
Fixed property restriction typo in observable:ContactMessaging
b0bkaT Jun 28, 2021
6672c16
Merge branch 'Feature-CP-23-CP-5' into Feature-CP-23
ajnelson-nist Jul 29, 2021
861e287
Add script to assign triple-object type checking
ajnelson-nist Jul 19, 2021
29c01ef
Normalize ontology files after adding type constraints
ajnelson-nist Jul 27, 2021
683d88b
Manually apply xsd prefix
ajnelson-nist Jul 19, 2021
bd7fa1c
Regenerate Make-managed files
ajnelson-nist Jul 28, 2021
da528b9
Add property shape inheritance review to CI
ajnelson-nist Jul 12, 2021
99db915
Fix concept name
ajnelson-nist Jul 20, 2021
33af587
Fix inherited PropertyShapes
ajnelson-nist Jul 20, 2021
8288fdb
Fix IRI
ajnelson-nist Jul 20, 2021
dd9e5aa
Fix concept name
ajnelson-nist Jul 20, 2021
a78066a
Fix concept names
ajnelson-nist Jul 20, 2021
ecb0c02
Merge branch 'BugFix-CP-69-v3' into Feature-CP-23
ajnelson-nist Jul 29, 2021
04cae37
Emit validation report on PASS file failing
ajnelson-nist Jul 29, 2021
1c9a716
Add test file representing a result-node of an Action
ajnelson-nist Jul 29, 2021
a5293c0
Removed erroneous imports for now (as of CP-23) non-existent -da files
sbarnum Aug 12, 2021
084686f
Fixed typo in observable:NetworkConnection that was overlooked as par…
sbarnum Aug 12, 2021
55fabef
Remove remaining references to *-da.ttl
ajnelson-nist Aug 12, 2021
b522170
Fix sort order after typo correction
ajnelson-nist Aug 12, 2021
8079ffb
Restore whitespace alignment with rdf-toolkit output
ajnelson-nist Aug 12, 2021
61a3c5a
Merge pull request #274 from ucoProject/Feature-CP-23
sbarnum Aug 12, 2021
4879f8c
Updated versionInfo from 0.6.0 to 0.7.0
sbarnum Aug 12, 2021
82a4618
Restore blank line to align with rdf-toolkit normalization
ajnelson-nist Aug 12, 2021
2472ac8
Removed xsd:string according to CP-72
b0bkaT Aug 13, 2021
6eacdd9
Implemented CP-75
b0bkaT Aug 13, 2021
a6d8a06
Implemented CP-76
b0bkaT Aug 13, 2021
4ca9e81
Implemented CP-73
b0bkaT Aug 13, 2021
91daa63
Implemented CP-74
b0bkaT Aug 13, 2021
54ef226
Implemented CP-77
b0bkaT Aug 13, 2021
4a6515d
Merge pull request #285 from ucoProject/BugFix-CP-72
sbarnum Aug 13, 2021
7fceb61
Implemented CP-78
b0bkaT Aug 13, 2021
63f8dd6
Merge pull request #288 from ucoProject/BugFix-CP-73
sbarnum Aug 13, 2021
c63fe53
Merge pull request #289 from ucoProject/BugFix-CP-74
sbarnum Aug 13, 2021
8971799
Merge pull request #286 from ucoProject/BugFix-CP-75
sbarnum Aug 13, 2021
5eb6864
Merge pull request #287 from ucoProject/BugFix-CP-76
sbarnum Aug 13, 2021
a053bfc
Merge pull request #291 from ucoProject/BugFix-CP-78
sbarnum Aug 13, 2021
edbe3af
Fixed syntax with 'unionOf' implementation
b0bkaT Aug 13, 2021
c08c060
Fixed syntax for 'unionOf' implementation
b0bkaT Aug 13, 2021
370c15e
Merge pull request #292 from ucoProject/BugFix-CP-73
sbarnum Aug 13, 2021
ba6ca33
Fixed syntax issue with 'unionOf' implementation
b0bkaT Aug 13, 2021
f63caad
Add test for sh:datatype count validity
ajnelson-nist Aug 17, 2021
a05de0c
Merge pull request #295 from ucoProject/BugFix-CP-79
b0bkaT Aug 17, 2021
82e1f77
Merge pull request #290 from ucoProject/BugFix-CP-77
sbarnum Aug 17, 2021
4009dfd
Merge pull request #293 from ucoProject/BugFix-CP-74
sbarnum Aug 17, 2021
7cbb06e
Merge pull request #296 from ucoProject/develop
ajnelson-nist Aug 17, 2021
b337559
Added the proper focus text for v0.7.0
b0bkaT Aug 18, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
41 changes: 41 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
# This software was developed at the National Institute of Standards
# and Technology by employees of the Federal Government in the course
# of their official duties. Pursuant to title 17 Section 105 of the
# United States Code this software is not subject to copyright
# protection and is in the public domain. NIST assumes no
# responsibility whatsoever for its use by other parties, and makes
# no guarantees, expressed or implied, about its quality,
# reliability, or any other characteristic.
#
# We would appreciate acknowledgement if the software is used.

# This workflow uses Make to confirm ontology files have been
# normalized.

name: Continuous Integration

on:
push:
branches: [ master, develop ]
pull_request:
branches: [ master, develop ]

jobs:
build:

runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v2
- uses: actions/setup-java@v2
with:
distribution: 'adopt'
java-version: '8'
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python-version }}
- name: Start from clean state
run: make clean
- name: Run tests
run: make check
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
*.jar
.*.ttl
.git_submodule_init.done.log
.lib.done.log
3 changes: 3 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[submodule "dependencies/CASE-Utility-SHACL-Inheritance-Reviewer"]
path = dependencies/CASE-Utility-SHACL-Inheritance-Reviewer
url = https://github.com/casework/CASE-Utility-SHACL-Inheritance-Reviewer.git
82 changes: 82 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
#!/usr/bin/make -f

# This software was developed at the National Institute of Standards
# and Technology by employees of the Federal Government in the course
# of their official duties. Pursuant to title 17 Section 105 of the
# United States Code this software is not subject to copyright
# protection and is in the public domain. NIST assumes no
# responsibility whatsoever for its use by other parties, and makes
# no guarantees, expressed or implied, about its quality,
# reliability, or any other characteristic.
#
# We would appreciate acknowledgement if the software is used.

SHELL := /bin/bash

turtle_directories := $(shell find uco-* -type d -maxdepth 0 | sort)

all_directories := $(foreach turtle_directory,$(turtle_directories),all-$(turtle_directory))

check_directories := $(foreach turtle_directory,$(turtle_directories),check-$(turtle_directory))

clean_directories := $(foreach turtle_directory,$(turtle_directories),clean-$(turtle_directory))

all: \
$(all_directories)

all-%: \
% \
.lib.done.log
$(MAKE) \
--directory $< \
--file $$PWD/src/review.mk

# This recipe guarantees that 'git submodule init' and 'git submodule update' have run at least once.
# The recipe avoids running 'git submodule update' more than once, in case a user is testing with the submodule at a different commit than what UCO tracks.
.git_submodule_init.done.log: \
.gitmodules
# CASE-Utility-SHACL-Inheritance-Reviewer
test -r dependencies/CASE-Utility-SHACL-Inheritance-Reviewer/README.md \
|| (git submodule init dependencies/CASE-Utility-SHACL-Inheritance-Reviewer && git submodule update dependencies/CASE-Utility-SHACL-Inheritance-Reviewer)
@test -r dependencies/CASE-Utility-SHACL-Inheritance-Reviewer/README.md \
|| (echo "ERROR:Makefile:CASE-Utility-SHACL-Inheritance-Reviewer submodule README.md file not found, even though that submodule is initialized." >&2 ; exit 2)
touch $@

.lib.done.log:
$(MAKE) \
--directory lib
touch $@

check: \
$(check_directories) \
.git_submodule_init.done.log
$(MAKE) \
--directory tests \
check

check-%: \
% \
.lib.done.log
$(MAKE) \
--directory $< \
--file $$PWD/src/review.mk \
check

clean: \
$(clean_directories) \
clean-tests
@rm -f \
.git_submodule_init.done.log \
.lib.done.log

clean-%: \
%
@$(MAKE) \
--directory $< \
--file $$PWD/src/review.mk \
clean

clean-tests:
@$(MAKE) \
--directory tests \
clean
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,8 @@ Through this approach not only are domain-focused representations defined consis
The purpose of this repository is to provide a foundation for broader community involvement in defining what to represent and how.

### Current Release
The current release of UCO is 0.6.0
The current release of UCO is 0.7.0

UCO Version 0.6.0 is primarily focused on adding several community needed classes (URLHistory, refactoring Contact, OnlineService, Profile, etc.) and properties, refactoring and cleaning up Address subclass structure, adding specific subclasses of ObservableObject, renaming of non-observable namespace Facet subclasses to include "Facet" at the end, clarifying and normalizing all class definitions to make the ontology more robust and complete, and cleanup of several minor issues and bugs.
UCO Version 0.7.0 is primarily focused on conversion of UCO ontologies to leverage the Shapes Constraint Language (SHACL) rather than domain assertions and owl property restrictions to define class shapes. In addition, it added a continuous integration (CI) method for testing and verifying the ontology and it corrects several minor issues and bugs.

Future versions of UCO will not only expand and refine the ontology itself but will also provide more complete and formalized documentation.
46 changes: 46 additions & 0 deletions lib/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
#!/usr/bin/make -f

# This software was developed at the National Institute of Standards
# and Technology by employees of the Federal Government in the course
# of their official duties. Pursuant to title 17 Section 105 of the
# United States Code this software is not subject to copyright
# protection and is in the public domain. NIST assumes no
# responsibility whatsoever for its use by other parties, and makes
# no guarantees, expressed or implied, about its quality,
# reliability, or any other characteristic.
#
# We would appreciate acknowledgement if the software is used.

SHELL := /bin/bash

all: \
rdf-toolkit.jar

# Downloading rdf-toolkit was previously done following the directions
# at:
# https://github.com/edmcouncil/rdf-toolkit
# However, on the file becoming temporarily unavailable, CASE has placed
# a verified copy at a custom location, as a fallback for an alternative
# retrieval from an EDM Council member's repository.
# The checksum of the original file from EDM Council's build server is
# confirmed before moving file into position. (This practice will
# probably require frequent updates, unless a signed checksum for the
# jar can be retrieved somehow.)
# In case there are concerns on potentially multiple writes to the same
# file, the documentation for wget's "--output-document file" flag notes
# that "... file will be truncated immediately, and all downloaded
# content will be written there."
rdf-toolkit.jar:
test -r rdf-toolkit.jar.sha512
# Try retrieval from Github, then from files.caseontology.org.
wget \
--output-document $@_ \
https://github.com/trypuz/openfibo/blob/1f9ab415e8ebd131eadcc9b0fc46241adeeb0384/etc/serialization/rdf-toolkit.jar?raw=true \
|| wget \
--output-document $@_ \
http://files.caseontology.org/rdf-toolkit.jar
test \
"x$$(openssl dgst -sha512 $@_ | awk '{print($$NF)}')" \
== \
"x$$(head -n1 rdf-toolkit.jar.sha512)"
mv $@_ $@
1 change: 1 addition & 0 deletions lib/rdf-toolkit.jar.sha512
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
24890b4aa484a46803841fbe5938daf60bf2d0889c0e231102c033d71cb84a2bfa8b44419df3ad896d833609afddd4b3910d2ce28660b3350cca22bea0770dad
Loading