Machine readable Activity Streams and/or ActivityPub specs

I’m working on a project that will rely on the types and semantics defined in AS 2 (though whether it gets far enough to be federated is anyone’s guess). I’d like to generate OpenAPI and TypeScript definitions for my project based on an existing spec file rather than copying everything by hand from the w3c docs site.

I’ve been search around for quite a while now and the only machine-readable definition I’ve been able to find is an OWL file in the spec repo (which may or may not be well maintained). Am I missing something? Is there really nothing else official? It seems like a lot of the discussion here vaguely implies what I’m looking for should exist, but I can’t seem to find any such artifacts.


There’s basically nothing else official. There’s the actual jsonld contexts (e.g., ActivityStreams 2.0 Terms if you put in your header that you want it in application/ld+json).

There have been a few attempts to line objects up with JSON Schema which may be useful to you, but they aren’t official.


ok, yea, I’ve found that version of the application/ld+json, but it seems to be incomplete. Unless I’m missing something, it doesn’t seem to associate particular properties with particular classes (to borrow from the OWL terminology). I guess I’ll just keep going with reading from the OWL file.


It’s actually a major bug. The thing pointed to by the context MUST give back machine readable data to be linked data.

Almost every other linked data spec does this, but the w3c havent fixed it after 7 years.

I think maybe we should just do it ourselves as part of a living standard.

1 Like