Skip to content

Commit

Permalink
add vultron activity streams ontology (#44)
Browse files Browse the repository at this point in the history
  • Loading branch information
ahouseholder authored Jan 4, 2024
1 parent f25e421 commit 4fcc4ef
Show file tree
Hide file tree
Showing 19 changed files with 7,231 additions and 0 deletions.
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -135,3 +135,5 @@ dmypy.json
/node_modules/
/package.json
/package-lock.json
/ontology/*.properties
catalog-*.xml
5 changes: 5 additions & 0 deletions docs/includes/ontology_tips.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
!!! tip "Markdown Ontology Documentation is Incomplete"

While we have generated some markdown documentation based on the
raw ontology files, the files themselves contain considerably more detail
and structure than the markdown documentation.
2 changes: 2 additions & 0 deletions docs/includes/use_protege.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
!!! tip "Protégé"
We recommend using the [Protégé](https://protege.stanford.edu/) ontology editor to view and edit the ontology files.
35 changes: 35 additions & 0 deletions docs/reference/ontology/dfa.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
# Deterministic Finite Automata Ontology

{% include-markdown "../../includes/not_normative.md" %}

We have developed a non-normative ontology that defines the parts of a
Deterministic Finite Automata (DFA). The ontology is available in the `ontology`
directory.
This ontology is used to describe the DFAs that underpin the
the Vultron protocol.

 

 

 

=== "Markdown Documentation"

{% include-markdown "../../includes/ontology_tips.md" %}

```python exec="true" idprefix=""
from vultron.scripts.ontology2md import main

ontology = "ontology/deterministicfiniteautomata.ttl"
lines = main(infile=ontology)
print("\n".join(lines))
```

=== "Turtle Ontology"

{% include-markdown "../../includes/use_protege.md" %}

```turtle
{% include-markdown "../../../ontology/deterministicfiniteautomata.ttl" %}
```
15 changes: 15 additions & 0 deletions docs/reference/ontology/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# Ontology

{% include-markdown "../../includes/not_normative.md" %}

We have provided a few [OWL](https://www.w3.org/TR/owl2-overview/) ontology files to describe the
Vultron protocol.
These files are available in the `ontology` directory.

{% include-markdown "../../includes/ontology_tips.md" %}

- [Vultron Activitystreams Ontology](vultron_as.md)
- [Vultron Process Model Ontology](vultron_process.md)
- [Vultron Protocol Ontology](vultron_protocol.md)
- [Deterministic Finite Automata Ontology](dfa.md)
- [RFC 2119 Ontology](rfc2119.md)
35 changes: 35 additions & 0 deletions docs/reference/ontology/rfc2119.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
# RFC 2119 Ontology

{% include-markdown "../../includes/not_normative.md" %}

We have developed a non-normative ontology to model the terms defined in
[RFC 2119](https://tools.ietf.org/html/rfc2119). The ontology is available in
the `ontology` directory.

 

 

 

 

=== "Markdown Documentation"

{% include-markdown "../../includes/ontology_tips.md" %}

```python exec="true" idprefix=""
from vultron.scripts.ontology2md import main

ontology = "ontology/rfc2119.ttl"
lines = main(infile=ontology)
print("\n".join(lines))
```

=== "Turtle Ontology"

{% include-markdown "../../includes/use_protege.md" %}

```turtle
{% include-markdown "../../../ontology/rfc2119.ttl" %}
```
33 changes: 33 additions & 0 deletions docs/reference/ontology/vultron_as.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
# Vultron ActivityStreams Ontology

{% include-markdown "../../includes/not_normative.md" %}

We have developed a non-normative extension of the ActivityStreams ontology to
describe the mapping of Vultron to ActivityStreams. The ontology is available in
the `ontology` directory.

 

 

 

=== "Markdown Documentation"

{% include-markdown "../../includes/ontology_tips.md" %}

```python exec="true" idprefix=""
from vultron.scripts.ontology2md import main

ontology = "ontology/vultron_activitystreams.ttl"
lines = main(infile=ontology)
print("\n".join(lines))
```

=== "Turtle Ontology"

{% include-markdown "../../includes/use_protege.md" %}

```turtle
{% include-markdown "../../../ontology/vultron_activitystreams.ttl" %}
```
35 changes: 35 additions & 0 deletions docs/reference/ontology/vultron_process.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
# Vultron Process Model Ontology

{% include-markdown "../../includes/not_normative.md" %}

We have developed a non-normative ontology to
describe the individual Vultron process models. The ontology is available in
the `ontology` directory.

 

 

 

 

=== "Markdown Documentation"

{% include-markdown "../../includes/ontology_tips.md" %}

```python exec="true" idprefix=""
from vultron.scripts.ontology2md import main

ontology = "ontology/vultron_process.ttl"
lines = main(infile=ontology)
print("\n".join(lines))
```

=== "Turtle Ontology"

{% include-markdown "../../includes/use_protege.md" %}

```turtle
{% include-markdown "../../../ontology/vultron_process.ttl" %}
```
35 changes: 35 additions & 0 deletions docs/reference/ontology/vultron_protocol.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
# Vultron Protocol Ontology

{% include-markdown "../../includes/not_normative.md" %}

We have developed a non-normative ontology to
describe the Vultron protocol. The ontology is available in
the `ontology` directory.

 

 

 

 

=== "Markdown Documentation"

{% include-markdown "../../includes/ontology_tips.md" %}

```python exec="true" idprefix=""
from vultron.scripts.ontology2md import main

ontology = "ontology/vultron_protocol.ttl"
lines = main(infile=ontology)
print("\n".join(lines))
```

=== "Turtle Ontology"

{% include-markdown "../../includes/use_protege.md" %}

```turtle
{% include-markdown "../../../ontology/vultron_protocol.ttl" %}
```
3 changes: 3 additions & 0 deletions docs/topics/future_work/ontology.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,9 @@ Combined with the abstract [case class model](../../howto/case_object.md), an on
the semantic interoperability between independent Participant processes and tools that we set out to improve at the
beginning of this effort.

We have provided an example of a [Vultron Protocol OWL Ontology](../../reference/ontology/index.md)
that is intended to be a starting point for further discussion and refinement.

## Related Ontology and Data Definition Work

It is currently unclear how this work might intersect with the NIST
Expand Down
7 changes: 7 additions & 0 deletions mkdocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -133,6 +133,13 @@ nav:
- Pacman Demo: 'reference/code/bt/pacman_demo.md'
- Robot Demo: 'reference/code/bt/robot_demo.md'
- Vultrabot Demo: 'reference/code/bt/vultrabot_demo.md'
- Ontology:
- Intro: 'reference/ontology/index.md'
- Vultron_AS: 'reference/ontology/vultron_as.md'
- Vultron_Protocol: 'reference/ontology/vultron_protocol.md'
- Vultron_Process: 'reference/ontology/vultron_process.md'
- DFA: 'reference/ontology/dfa.md'
- RFC 2119: 'reference/ontology/rfc2119.md'
- ISO Crosswalk:
- Introduction: 'reference/iso_crosswalk.md'
- ISO 30111: 'reference/iso_30111_2019.md'
Expand Down
1 change: 1 addition & 0 deletions ontology/activitystreams.ttl
Loading

0 comments on commit 4fcc4ef

Please sign in to comment.