I think you are right that ActivityPub functionality is a subset of what the intended functionality of Solid is.
But I feel the emphasis of Solid is to be used as a WebDAV/NextCloud replacement. You store your data on your own Pod and can give fine-grained access to other people.
ActivityPub is more like Email for structured data. You send data and objects to recipients, but there is no (real) notion of storing and organizing data for yourself.
Solid can do ActivityPub pushing of data with Linked Data Notifications (https://www.w3.org/TR/ldn/). And as I understand, Linked Data Platform should be able to receive ActivityPub messages (https://www.w3.org/TR/social-web-protocols/#how-do-the-specs-relate-to-each-other).
These are very good arguments against JSON-LD. Maybe to recap:
- JSON-LD is unbelievably complicated. Try implementing the processing algorithms. This enormous complexity is the reason why there are hardly any complete implementations to work with it.
- Reliance on external contexts. To completely understand a JSON-LD document you need to expand it by using the context defined in the document. The context may be a remote document. So you have to rely on external things to understand your JSON-LD document.
Side note: There has been some work towards finding a subset of JSON-LD that solves these problems (https://stephank.nl/p/2018-10-20-a-proposal-for-standardising-a-subset-of-json-ld.html).
Still, I think it would be a shame to throw out all of the ideas and visions of the Semantic Web because of JSON-LD.
That’s my feeling as well. I think it is very worthwhile to understand what both initiatives are trying to do and how they are going about it. Learn from both. Mix and match the ideas.