I'm still not clear about the discussion we had yesterday.
-
Evan Prodromoureplied to Evan Prodromou on last edited by
@steve I mean, are apples really "on" your shopping list? No, there is not a pile of fruit on top of the piece of paper. The letters "A-P-P-L-E-S" are not actual apples. They're not even the idea of apples. But saying "I have apples on my shopping list" is useful and meaningful.
-
@evan Not necessarily. If you'd like, I can quickly write a simple AP-server that will return a JSON-serialized inbox Collection with URIs in the "orderedItems" array instead of embedded serialized copies of the object referents. It won't interoperate with typical server implementations (Vocata is one exception), although AFAIK it would be conformant with AP/AS2. But again, this is conflating serialization with whatever abstract data model underlies it.
-
@steve ok. The abstract model is, "the objects are in the collection".
-
@evan That's not going to handle the same property names in different extensions (without JSON-LD expansion). If that weren't an issue, there could just be an "extensions" property with a list of URIs and JSON-LD could be eliminated completely.
-
@evan One can discuss containment without identifying the *real* location of objects (whatever that even means). You seem to be annoyed with this discussion, so I'm going to end my part in the thread now. However, I think it's important (and maybe I'm the only one that feels this way?) to discuss and fully understand these and other confusing aspects of AP/AS2, so don't be surprised to see related posts in the future.
-
@steve I think it's a style issue. You started the thread by saying that collections do not contain AS2 objects. This is untrue, unless you twist the definition of "contain".
-
@evan I'm open to style suggestions. However, I still think my original statements are true. I've tried to explain why, but if you have questions, let me know.
-
@julian Sounds right. The idea that AS2 has meaningful extensibility with plain JSON seems like wishful thinking to me.
-
@steve for style, I guess I'd suggest softening language or even asking a question when your statement is counterintuitive and provocative. Instead of "The AS2 container type does not contain objects" maybe "I think the AS2 container type does not contain objects" or "Does the AS2 container type contain objects?" or "What does containment mean in AS2?"
-
Evan Prodromoureplied to Evan Prodromou on last edited by [email protected]
@steve I'm also REALLY oversensitive to any statements about allowed representation of objects in AP. As you probably know better than I, a lot of AP consumers fail to robustly handle id representation or object representation of property values.
-
@evan I understand. That's why I said repeatedly that I'm not discussing serialization. I agree that serializing Collections with embedded copies of Objects is needed for interoperability with most existing AP S2S implementations. To clarify, are you concerned about statements related to valid, allowed AP (serialized) representations that aren't the ones typically implemented? Versus invalid representations?
-
@steve so, this is an interesting question. I'd say, as an interoperability standard, AP doesn't make any (well, not many...) assumptions about underlying models. The JSON-LD serialization is all you get; each implementation decides how to manage its own structures internally.
-
Evan Prodromoureplied to Evan Prodromou on last edited by
@steve and, yes, what I worry about is when people say, "the value of the `object` property can only be in its JSON object representation" or "the members of the `items` array can only be URLs". It's not true, it's hard for people to understand, and it drives us towards fragile implementations.
-
@evan We're back in the circular reasoning since JSON-LD *has* a well-defined data model. It's RDF and graph-based (Chapt 10. JSON-LD 1.1 spec.). The statement that AP uses "JSON-LD" but is not an RDF data model doesn't make sense to me given how JSON-LD is specified. I don't think JSON-LD provides much extensibility benefit to plain JSON apps. Maybe there should be a variant of #ActivityPub that is unambiguously plain JSON with a plain JSON extensibility design? Maybe less confusing for devs?
-
@evan Some AP advocates/activities like @smallcircles have been proposing something similar to this for a while now (discussed on SocialHub).
-
@steve so, it sounds like you want to believe in some kind of secret, hermeneutical ActivityPub that one can only understand if you cast enough RDF spells.
But there is no such secret formula. We made no pact with the RDF powers when we started using JSON-LD for AS2.
-
@steve @smallcircles lol
-
Evan Prodromoureplied to Evan Prodromou on last edited by
@steve We created these types and structures to represent activities, actors and objects on social networks. An object with type Person represents a person. An object with type Video represents a video. An object with type Collection is a collection.
The RDF model is no more significant than the curly brackets and colons in the JSON.
-
@steve no.
-
@evan There's no need to "cast" me in that light. However, intentional pact or not... it would be like selecting RDF/XML as the AP/AS2 representation but saying it should be treated as generic XML and has no relationship to RDF. Or using Turtle and suggesting that it be interpreted as just lines of text with no relation to RDF. I think it's a very confusing position. If you had to make that decision (to use JSON-LD) today, would you make the same decision? Why?