This is a multi-stage proposal for supporting schema.org documents in Streams. Activity Streams 2.0 explicitly supports schema.org types as first class citizens. While Apache Streams supports only Activity Streams 1.0 as of this writing, using schema.org will be an incentive to adopt AS 2.0 and preparation for that support can begin prior to full AS 2.0 support.
A developer building with streams should be able to:
Phase 1: model core schema.org objects using json-schema in a new project module. generate and publish POJOs in maven artifacts
Phase 2: implement unit tests that demonstrate proper serialization and deserialization of json-formatted schema.org documents
Phase 3: provide a way to swap ActivityObject and Thing java classes in an intelligent way, and for management of activities with any class that extends Thing assignable to any field that currently requires an ActivityObject
Phase 4: support serialization to and from JSON-LD
Phase X: implement the extended vocabularies as well
[1] http://schema.org/docs/schemas.html
[2] https://github.com/json-schema-org/json-schema-org.github.io
[3] http://json-schema.org/latest/json-schema-validation.html#rfc.section.6.26
[4] http://schema.org/DateTime
[5] https://github.com/google/schemaorg-java