First pass through activitystreams

This commit is contained in:
sneakers-the-rat 2024-01-13 02:10:53 -08:00
parent df6c5cfd82
commit abe84e0df2
Signed by untrusted user who does not match committer: jonny
GPG key ID: 6DCB96EF1E4D232D
3 changed files with 847 additions and 497 deletions

View file

@ -11,8 +11,50 @@ Intermediate files are in the `data` directory
- `activitystreams2.ofn` - Convert to functional notation with [robot](http://robot.obolibrary.org/)
- `activitystreams2.yaml` - Then to rough linkml using [schema-automator](https://linkml.io/schema-automator/)
Then the final schema in
- Manually refined...
Then the final schema in `linkml_activitypub/activitypub.yaml`:
- Reorder to match ActivityStreams
- Ensure correct
- inheritance
- `multivalued`
- Prune extra properties and classes to match those in [ActivityStreams2](https://www.w3.org/TR/activitystreams-vocabulary/) normative definition
- Then re-add the ones that declare a class in their domain, even if the class doesn't list that property in its definition
- Except for those types that seem to be metaclasses:
- `attributedTo` (-> `actor`)
- Added LinkML properties (where needed):
- Classes
- `disjoint_with`
- `see_also` when references given
- Properties
- `description`
- `domain`
- `range`
- `minumum_value`
- `maximum_value`
- Added missing slots
- `closed`
- `startIndex`
- Handle special property cases
- `items` is marked as `list_elements_ordered: true` on `OrderedCollection` and false on `Collection`
- Made types
- anyURI as `xsd:anyURI`, did not try and find a validator pattern. The spec alternatingly uses its own anyURI prop and `xsd:anyURI`
- Made enums
- `unitEnum` - for `unit`
- Copied Notes to class `description` rather than `comments`
- Added schema prefixes:
- `schema`: https://schema.org/ - for specifying IETF BCP 47 language codes
## Notes
Need properties...
## Errata
- `OrderedCollectionPage` is not a subclass of, and doesn't mix in `CollectionPage` since it would then have an ambiguous
class definition, since `OrderedCollection` inherits from `Collection` but asserts that the `list_items_ordered` slot is `true`
rather than `false`. Instead, the slots from `CollectionPage` are just duplicated.
- Accordingly, the domain and range of slots that include `CollectionPage` also include `OrderedCollectionPage
# References

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,23 @@
id: https://github.com/p2p_ld/linkml-activitypub
name: linkml-activitypub
title: linkml-activitypub
description: |-
Extension of ActivityPub/ActivityStreams to include an Actor class
license: GNU GPL v3.0
see_also:
- https://linkml-activitypub.readthedocs.io
- https://github.com/p2p_ld/linkml-activitypub
imports:
- linkml:types
- activitypub.yaml
prefixes:
asa: http://www.w3.org/ns/activitystreams#
as: http://www.w3.org/ns/activitystreams#
linkml: https://w3id.org/linkml/
owl: http://www.w3.org/2002/07/owl#
rdf: http://www.w3.org/1999/02/22-rdf-syntax-ns#
xml: http://www.w3.org/XML/1998/namespace
xsd: http://www.w3.org/2001/XMLSchema#
rdfs: http://www.w3.org/2000/01/rdf-schema#
default_prefix: asa