-
Notifications
You must be signed in to change notification settings - Fork 18
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #113 from emmo-repo/1.0.0-alpha2
1.0.0 alpha2
- Loading branch information
Showing
53 changed files
with
6,047 additions
and
24,350 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
pages | ||
tmp | ||
keys | ||
old |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,93 @@ | ||
Files used for continous testing and releases on GitHub | ||
======================================================= | ||
For check EMMO locally before a commit, you should install [EMMO-python][EMMO-python] | ||
and run emmocheck from the root of the repository: | ||
|
||
emmocheck --local --verbose --check-imported --configfile=.github/emmocheck_conf.yml emmo.owl | ||
|
||
To test generation of documentation and inferred ontology locally, install | ||
[EMMO-python][EMMO-python] and its dependencies and run | ||
|
||
.github/scripts/update_pages.sh -n | ||
|
||
Remove the -n option if you also want to push possible changes to | ||
GitHub Pages. | ||
|
||
|
||
Directory content | ||
----------------- | ||
- [workflows](workflows): YAML scripts defining GitHub Actions in response | ||
to push requests. | ||
- [scripts](scripts): Shell and puthon scripts for testing and creating | ||
documentation | ||
- pages: Local copy of | ||
[GitHub Pages]([email protected]:emmo-repo/emmo-repo.github.io.git) | ||
used for releasing documentation and inferred ontology. | ||
Run `scripts/update_pages.sh` to create/update this local copy and push | ||
to GitHub Pages. | ||
- tmp: Temporary directory used when generating documentation. | ||
- README.md: This file. | ||
|
||
- [emmocheck_conf.yml](emmocheck_conf.yml): emmocheck configurations. | ||
Example use when running emmocheck from the root directory: | ||
|
||
emmocheck --local --verbose --check-imported --configfile=.github/emmocheck_conf.yml emmo.owl | ||
|
||
- [versions.txt](versions.txt): List of versions that should be deployed to GitHub Pages. | ||
|
||
The format is simple - each line starts with a version | ||
number. Optionally it may be followed by label indicating the | ||
status. Use either "unstable" or "latest" or leave it out as | ||
default. | ||
|
||
|
||
Scripts | ||
------- | ||
Scripts found in the [scripts](scripts) sub-directory: | ||
|
||
### update_pages.sh [-glv] | ||
|
||
Main script that calls the other scripts to update GitHub Pages. | ||
|
||
Options: | ||
- -n: Just update local copy of GitHub Pages, do not add and commit changes. | ||
- -l: Just work on local copy of GitHub Pages. Do not push changes. | ||
- -v: Verbose. Print commands as they are executed. | ||
|
||
### init_pages.sh | ||
|
||
Clones GitHub Pages to .github/pages. | ||
|
||
### makeindex.sh | ||
|
||
Creates index.html file in local copy of GitHub Pages. | ||
|
||
### makeversions.sh [-rv] | ||
|
||
Creates version sub-directories in local copy of GitHub Pages. | ||
Calls makedoc.sh and fixinferred.sh. | ||
|
||
Options: | ||
- -r Recreate existing sub-directories and their content. | ||
- -v Verbose. Print commands as they are executed. | ||
|
||
### makedoc.sh inferred version outdir | ||
|
||
Generates EMMO documentation in html and pdf formats. | ||
|
||
Arguments: | ||
- inferred: path to inferred ontology | ||
- version: version to generate documentation for | ||
- outdir: output directory | ||
|
||
### fixinferred.sh owlfile | ||
|
||
Fix inferred ontology modifying the target file in-place. | ||
It is safe to run this script multiple times on the same file. | ||
|
||
Arguments: | ||
- owlfile: Inferred ontology up fix. | ||
|
||
|
||
|
||
[EMMO-python]: https://github.com/emmo-repo/EMMO-python |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
# Configurations used when running emmocheck from the ci_emmocheck workflow | ||
test_namespace: | ||
exceptions: | ||
- manufacturing.EngineeredMaterial |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,49 @@ | ||
<!DOCTYPE html> | ||
<html> | ||
<head> | ||
<meta charset="utf-8"> | ||
<meta name="author" content="Emanuele Ghedini, University of Bologne"> | ||
<meta name="author" content="Gerhard Goldbeck, Goldbeck Consulting"> | ||
<meta name="author" content="Jesper Friis, SINTEF"> | ||
<meta name="author" content="Adham Hashibon, Fraunhofer IWM"> | ||
<meta name="author" content="Georg Schmitz, ACCESS"> | ||
<meta name="institution" content="European Materials & Modelling Council (EMMC)"> | ||
<meta name="keywords" content="EMMO, materials science, modelling, characterisation, materials, ontology"> | ||
<meta name="dcterms.date" content="${date}"> | ||
<link rel="stylesheet" type="text/css" href="css/style.css"> | ||
<link rel="icon" type="image/png" href="https://avatars1.githubusercontent.com/u/51194521?s=400&u=d9e0bbceb9a6e4901077e92b2426c8bca46b1009&v=4"> | ||
<title>Europeean Materials & Modelling Ontology</title> | ||
</head> | ||
<body> | ||
|
||
<div class="header"> | ||
<img src="https://avatars1.githubusercontent.com/u/51194521?s=400&u=d9e0bbceb9a6e4901077e92b2426c8bca46b1009&v=4" class="logo" width="64" alt="EMMO"> | ||
<h1 class="logo">The Europeean Materials & Modelling Ontology (EMMO)</h1> | ||
<img src="https://i2.wp.com/emmc.info/wp-content/uploads/2018/10/emmc_logo-low.jpg?fit=1701%2C1701&ssl=1" class="emmclogo" width="64" alt="EMMC"> | ||
</div> | ||
The European Materials Modelling Ontology (EMMO) is the result of a multidisciplinary effort within the EMMC, aimed at the development of a standard representational ontology framework based on current materials modelling and characterization knowledge. Instead of starting from general upper level concepts, as done by other ontologies, the EMMO development started from the very bottom level, using the actual picture of the physical world coming from applied sciences, and in particular from physics and material sciences. | ||
<p> | ||
The EMMO has grown from the bottom (i.e. scientific application field) to the top (i.e. conceptualization), staying focused on the original scope while at the same time maintaining an approach as general as possible. The ontological framework has been built around concepts like elementary particles, wave-particle dualism, finiteness of space and time intervals coming from the perspective for experimental physics. The development of the middle and upper layers of the ontology has been functional to the respect of these low level concepts, to facilitate the understanding of the high level concepts to users with limited or no philosophical background. | ||
|
||
<h2>Links</h2> | ||
<ul> | ||
<li><a href="https://emmc.info/emmo-info/">EMMC site</a></li> | ||
<li><a href="https://github.com/emmo-repo/EMMO">Github repository</a></li> | ||
<li><a href="https://github.com/emmo-repo/EMMO-python">Python API</a></li> | ||
</ul> | ||
|
||
<h2>Releases</h2> | ||
<table class"reltable"> | ||
<tr> | ||
<th>Version</th> | ||
<th>Ontology IRI</th> | ||
<th>Inferred ontology IRI</th> | ||
<th>HTML documentation</th> | ||
<th>PDF documentation</th> | ||
</tr> | ||
${versions} | ||
</table> | ||
|
||
|
||
</body> | ||
</html> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,67 @@ | ||
#!/bin/sh | ||
|
||
# Usage: fixinferred.sh filename | ||
# | ||
# Fix inferred ontology modifying the target file in-place. | ||
# It is safe to run this script multiple times on the same file. | ||
set -e | ||
|
||
rootdir="$(git rev-parse --show-toplevel)" | ||
ghdir="$rootdir/.github" | ||
tmpfile="$ghdir/tmp/fixinferred.owl" | ||
|
||
|
||
|
||
filename=$1 | ||
[ $# -ne 1 ] && echo "Usage: fixinferred.sh filename" && exit 1 | ||
|
||
|
||
# Do nothing if filename is already fixed | ||
grep -q "fixinferred.sh" "$filename" && exit 0 | ||
|
||
|
||
# Create temporary file | ||
mkdir -p $(dirname "$tmpfile") | ||
sed -e 's|</rdf:RDF>||p' "$filename" > "$tmpfile" | ||
cat <<EOF >> "$tmpfile" | ||
<!-- Fixes by fixinferred.sh --> | ||
EOF | ||
|
||
# Add annotation superproperties | ||
# The table below associates annotation property IRIs with their superproperties | ||
while read iri superprop; do | ||
[ -z "$iri" ] && continue | ||
cat <<EOF >> "$tmpfile" | ||
<!-- $iri --> | ||
<owl:AnnotationProperty rdf:about="$iri"> | ||
<rdfs:subPropertyOf rdf:resource="$superprop"/> | ||
</owl:AnnotationProperty> | ||
EOF | ||
done <<EOF | ||
http://www.w3.org/2004/02/skos/core#prefLabel http://www.w3.org/2000/01/rdf-schema#label | ||
http://www.w3.org/2004/02/skos/core#altLabel http://www.w3.org/2000/01/rdf-schema#label | ||
http://www.w3.org/2004/02/skos/core#hiddenLabel http://www.w3.org/2000/01/rdf-schema#label | ||
http://emmo.info/emmo/top/annotations#EMMO_70fe84ff_99b6_4206_a9fc_9a8931836d84 http://www.w3.org/2000/01/rdf-schema#comment | ||
http://emmo.info/emmo/top/annotations#EMMO_967080e5_2f42_4eb2_a3a9_c58143e835f9 http://www.w3.org/2000/01/rdf-schema#comment | ||
http://emmo.info/emmo/top/annotations#EMMO_b432d2d5_25f4_4165_99c5_5935a7763c1a http://www.w3.org/2000/01/rdf-schema#comment | ||
http://emmo.info/emmo/middle/isq#EMMO_de178b12_5d35_4bca_8efa_a4193162571d http://www.w3.org/2000/01/rdf-schema#comment | ||
http://emmo.info/emmo/top/annotations#EMMO_b306ae38_938e_48fe_83e9_6141e08b596f http://www.w3.org/2000/01/rdf-schema#seeAlso | ||
http://emmo.info/emmo/top/annotations#EMMO_6dd685dd_1895_46e4_b227_be9f7d643c25 http://www.w3.org/2000/01/rdf-schema#seeAlso | ||
http://emmo.info/emmo/top/annotations#EMMO_50c298c2_55a2_4068_b3ac_4e948c33181f http://www.w3.org/2000/01/rdf-schema#seeAlso | ||
http://emmo.info/emmo/top/annotations#EMMO_8de5d5bf_db1c_40ac_b698_095ba3b18578 http://www.w3.org/2000/01/rdf-schema#seeAlso | ||
http://emmo.info/emmo/top/annotations#EMMO_fe015383_afb3_44a6_ae86_043628697aa2 http://www.w3.org/2000/01/rdf-schema#seeAlso | ||
http://emmo.info/emmo/top/annotations#EMMO_e55f2d7c_9893_48cd_b4a4_fdf38253bd20 http://www.w3.org/2000/01/rdf-schema#seeAlso | ||
http://emmo.info/emmo/top/annotations#EMMO_1f1b164d_ec6a_4faa_8d5e_88bda62316cc http://www.w3.org/2000/01/rdf-schema#seeAlso | ||
http://emmo.info/emmo/top/annotations#EMMO_c84c6752_6d64_48cc_9500_e54a3c34898d http://www.w3.org/2000/01/rdf-schema#seeAlso | ||
EOF | ||
|
||
echo "</rdf:RDF>" >> "$tmpfile" | ||
|
||
|
||
# Overwrite filename | ||
cat "$tmpfile" > "$filename" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
#!/bin/sh | ||
|
||
# Usage: init_pages.sh | ||
# | ||
# Check out github pages under .github/pages if the directory does not | ||
# already exists. | ||
set -e | ||
|
||
rootdir="$(git rev-parse --show-toplevel)" | ||
pagesdir="$rootdir/.github/pages" | ||
[email protected]:emmo-repo/emmo-repo.github.io.git | ||
|
||
if [ ! -d "$pagesdir" ]; then | ||
set -x | ||
git clone $pagesurl "$pagesdir" | ||
fi |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,32 @@ | ||
#!/bin/sh | ||
|
||
# Usage: makedoc.sh inferred version outdir | ||
# | ||
# Generates EMMO html and pdf documentation. | ||
# | ||
# Arguments: | ||
# - inferred: path to inferred ontology | ||
# - version: version to generate documentation for | ||
# - outdir: output directory | ||
set -e | ||
|
||
rootdir="$(git rev-parse --show-toplevel)" | ||
scriptsdir="$rootdir/.github/scripts" | ||
|
||
inferred=$1 | ||
version=$2 | ||
outdir=$3 | ||
[ $# -ne 3 ] && echo "Usage: makedoc.sh inferred version outdir" && exit 1 | ||
|
||
emmodir=$(python -c 'import os, emmo; print(os.path.dirname(emmo.__file__))') | ||
[ -d "$emmodir/examples" ] && ex="$emmodir/examples" || \ | ||
ex="$emmodir/../examples" | ||
cd "$ex/emmodoc" | ||
|
||
|
||
set -x | ||
ontodoc --template=emmo.md --format=html -p variable=version:$version \ | ||
"$inferred" "$outdir/emmo.html" | ||
|
||
ontodoc --template=emmo.md -p variable=version:$version \ | ||
"$inferred" "$outdir/emmo.pdf" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,53 @@ | ||
#!/bin/sh | ||
|
||
# Usage: makeindex.sh | ||
# | ||
# Parse $rootdir/.github/versions.txt and generate index.html file on | ||
# github pages. | ||
set -e | ||
|
||
# Configurations | ||
pages_url="https://emmo-repo.github.io" | ||
pages_versions_url="$pages_url/versions" | ||
emmo_url="http://emmo.info/emmo" | ||
|
||
rootdir="$(git rev-parse --show-toplevel)" | ||
ghdir="$rootdir/.github" | ||
tmpdir="$ghdir/tmp" | ||
pagesdir="$ghdir/pages" | ||
|
||
versionsfile="$ghdir/versions.txt" | ||
tmpfile="$tmpdir/versions_html_table.txt" | ||
|
||
|
||
# Initiate github pages | ||
"$rootdir/.github/scripts/init_pages.sh" | ||
|
||
|
||
# Parse versions.sh and save html table rows in tmpfile | ||
tdlink() { | ||
echo " <td><a href=\"$1\" target=\"_blank\">$2</a></td>" | ||
} | ||
rm -rf "$tmpfile" | ||
while read version name; do | ||
[ -z "$name" ] && name=$version | ||
iri=$emmo_url/$version | ||
inferred=$pages_url/versions/$version/emmo-inferred.owl | ||
inferred_iri=$iri/emmo-inferred.owl | ||
html=$pages_url/versions/$version/emmo.html | ||
pdf=$pages_url/versions/$version/emmo.pdf | ||
echo " <tr>" >> "$tmpfile" | ||
echo " <td>$name</td>" >> "$tmpfile" | ||
tdlink $iri $iri >> "$tmpfile" | ||
tdlink $inferred $inferred_iri >> "$tmpfile" | ||
tdlink $html $version >> "$tmpfile" | ||
tdlink $pdf $version >> "$tmpfile" | ||
echo " </tr>" >> "$tmpfile" | ||
done < "$versionsfile" | ||
|
||
|
||
# Generate index.html | ||
sed -e "/\${versions}/ r $tmpfile" \ | ||
-e 's/\${versions}//' \ | ||
-e "s|\${date}|$(date +%F)|" \ | ||
"$ghdir/pages-index.html.in" > "$pagesdir/index.html" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,73 @@ | ||
#!/bin/sh | ||
|
||
# Usage: makeversions.sh [-r -v] | ||
# | ||
# Creates versions sub-directories in local copy of GitHub Pages. | ||
# | ||
# Options: | ||
# -r Recreate existing sub-directories and their content. | ||
# -v Verbose. Print commands as they are executed. | ||
set -e | ||
|
||
rootdir="$(git rev-parse --show-toplevel)" | ||
ghdir="$rootdir/.github" | ||
pagesdir="$ghdir/pages" | ||
scriptsdir="$ghdir/scripts" | ||
|
||
$scriptsdir/init_pages.sh | ||
|
||
# Parse options | ||
recreate=false | ||
verbose=false | ||
while getopts "rv" arg; do | ||
case $arg in | ||
r) recreate=true;; | ||
v) verbose=true;; | ||
esac | ||
done | ||
|
||
# If verbose, print commands as they are executed | ||
if $verbose; then | ||
set -x | ||
fi | ||
|
||
# Initiate local GitHub Pages | ||
"$scriptsdir/init_pages.sh" | ||
|
||
|
||
# Parse versions.sh and save html table rows in tmpfile | ||
while read version name; do | ||
$verbose && echo | ||
d="$pagesdir/versions/$version" | ||
if $recreate || [ ! -d "$d" ]; then | ||
mkdir -p "$d" | ||
cd "$rootdir" | ||
cp -f README.md LICENSE.md "$d/." | ||
fi | ||
|
||
# Generate inferred ontology | ||
if $recreate || [ ! -f "$d/emmo-inferred.owl" ]; then | ||
# TODO: add tool for automatic generation of inferred ontology | ||
echo "Missing inferred ontology: $d/emmo-inferred.owl" | ||
echo "Please add this file and rerun this script." | ||
exit 1 | ||
fi | ||
"$scriptsdir/fixinferred.sh" "$d/emmo-inferred.owl" | ||
|
||
# Generate documentation | ||
if $recreate || [ ! -f "$d/emmo.html" ]; then | ||
echo "Generate documentation" | ||
"$scriptsdir/makedoc.sh" "$d/emmo-inferred.owl" $version "$d" | ||
fi | ||
|
||
# Create symlinks | ||
cd "$pagesdir" | ||
if [ ! -z "$name" ]; then | ||
rm -f $name | ||
ln -sf versions/$version $name | ||
fi | ||
done < "$ghdir/versions.txt" | ||
|
||
|
||
# Make sure that we exit with non-zero | ||
exit 0 |
Oops, something went wrong.