Apache Streams pre-dates Activity Streams 2.0 and the majority of our code is closely coupled to an object model that matches the Activity Streams 1.0 JSON serialization.

The support we have for Activity Streams 2.0 is functionally distinct and does not use an object model at all, instead generating TTL files with FTL templates.

I (Steve) think we want to move in the direction of having our code manage an object model based on the official W3C Activity Streams 2.0 RDF/OWL files, and have new streams code start using those classes instead of the legacy json-schema pojo classes.

The Activity Streams community addressed many interoperability questions in the spec, giving implementations like us a set of rules we could follow when converting activities and activity objects between 1.0 and 2.0

Some possible next steps that would move this effort forward:

  • Propose a way to generate minimal-viable POJOs from the Activity Streams 2.0 OWL ontologies (or other similar ontologies)
  • Prove those POJOs can be serialized as one or more RDF variants including JSON-LD using libraries we trust (probably Apache Juneau and Apache Jena, maybe others)
  • Figure out a way to convert the legacy POJOs into the 2.0 POJOs and vice-versa, in a way that could theoretically work ok on any type of activity or activity object
  • No labels