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

Add Vultron ActivityStreams ontology #44

Merged
merged 1 commit into from
Jan 4, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
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
15 changes: 13 additions & 2 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 All @@ -150,6 +157,7 @@ not_in_nav: |
topics/user_stories/story_*.md
*diagram*.md
*table*.md
_*.md
theme:
logo: 'assets/cert_seal.svg'
name: 'material'
Expand Down Expand Up @@ -181,6 +189,7 @@ plugins:
show_bases: true
show_root_heading: true
heading_level: 2
- markdown-exec
- search
# NOTE print-site MUST be the last plugin in the list (see its docs for why)
- print-site
Expand All @@ -198,15 +207,17 @@ markdown_extensions:
- pymdownx.caret
- pymdownx.details
- pymdownx.emoji:
emoji_index: !!python/name:materialx.emoji.twemoji
emoji_generator: !!python/name:materialx.emoji.to_svg
emoji_index: !!python/name:material.extensions.emoji.twemoji
emoji_generator: !!python/name:material.extensions.emoji.to_svg
- pymdownx.superfences:
custom_fences:
- name: mermaid
class: mermaid
format: !!python/name:pymdownx.superfences.fence_code_format
- pymdownx.keys
- pymdownx.mark
- pymdownx.tabbed:
alternate_style: true
- pymdownx.tasklist:
custom_checkbox: true
- pymdownx.tilde
Expand Down
1 change: 1 addition & 0 deletions ontology/activitystreams.ttl
Loading