@cj happy to answer any questions or work with you to create something that gofed can use, but since we don't use or consume OWL ourselves, we wouldn't be able to provide anything normative or keep it up to date. JSON-LD documents are not really very static, so I don't think applying a static type system in the way that go-fed does is a very productive enterprise, and it leads to a lot of manual work keeping the typings up to date.
@cj i did not misunderstand what the document is. when I said "JSON-LD documents are not very static", i was referring to the documents that such a schema would be describing. by "static", i meant in the sense of static vs dynamic typing.
@nightpool oh gotcha! Thanks for clarifying. I still think it's be important work, if only for clearer interoperability and building better tooling. For ex the Owncast dev has already hit problems w/ Mastodon not accepting valid ActivityStreams. That sort of stuff would be great to avoid for Mastodons types too.
@cj I'm always supportive of patches to improve Mastodon's activity streams processing, i just don't think OWL is the right tool to do so. I haven't seen any issues filed from owncast recently (and I read almost all issues that come through the Mastodon issue tracker) but please link me to them if you find them.
@nightpool OWL is just a schema definition language, from which the generated code that does serialization was found to serialize into something Mastodon wouldn't accept. I'll look into that more today and file an issue if one hasn't yet. If you know of a better SDL than OWL2, I'm all ears, it's not my favorite, but it's expressive enough to capture most of ActivityStreams.
I'll take a first stab at outlining the toot vocabulary and in the next day or two post for help on SocialHub
just btw, started
https://github.com/redaktor/owl2jsonschema.js
cause we consume JSON Schema cause Kris Zyp, the original inventor is a nice guy.
https://json-schema.org
Not sure if it can be useful, JSON Schema is maybe more a validation thing as a SDL …
@nightpool The schema definitions should never change w/o being backwards compatible though? You wouldn't turn "manually approves followers" property from a bool in one release and then a string in the next.
I think you misunderstand what the document is. It's just a schema definition, that happens to be in JSON-LD form. It could have been a turtle file and in RDF triples. Not protobuf though, it isn't expressive enough as a format and schema lang.