LinkML representation of ActivityStreams Schema
Project description
linkml-activitypub
LinkML representation of ActivityPub schema (which is mostly ActivityStreams except where it's not)
Process
Intermediate files are in the data
directory
activitystreams2.owl
- Initially imported from activitystreams2.owl- Removed problematic OrderedCollection definitions
activitystreams2.ofn
- Convert to functional notation with robotactivitystreams2.yaml
- Then to rough linkml using schema-automator
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 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
- Classes
- Added missing slots
closed
startIndex
- Handle special property cases
items
is marked aslist_elements_ordered: true
onOrderedCollection
and false onCollection
- Made types
- anyURI as
xsd:anyURI
, did not try and find a validator pattern. The spec alternatingly uses its own anyURI prop andxsd:anyURI
duration
as a string that indicates it's axsd:duration
, finding a pattern is TODO
- anyURI as
- Made enums
unitEnum
- forunit
- Copied Notes to class
description
rather thancomments
- 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 inCollectionPage
since it would then have an ambiguous class definition, sinceOrderedCollection
inherits fromCollection
but asserts that thelist_items_ordered
slot istrue
rather thanfalse
. Instead, the slots fromCollectionPage
are just duplicated.- Accordingly, the domain and range of slots that include
CollectionPage
also include `OrderedCollectionPage
- Accordingly, the domain and range of slots that include
- Need to implement some
xsd:duration
pattern
References
- Status of AS OWL vocabulary and etc. https://github.com/w3c/activitystreams/issues/416
See Also
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
linkml_activitypub-0.0.1.tar.gz
(140.4 kB
view hashes)
Built Distribution
Close
Hashes for linkml_activitypub-0.0.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0b83e560c97b6a271c397ec30425fe0cfa3abd72e629f57d9996b5b649e6efb2 |
|
MD5 | 52a455ba15341faf71faee72180bf452 |
|
BLAKE2b-256 | 6afe7d1f78d10bf453f926980ff63093d69cea1563a9e0418591c045095a2bc0 |