I'm still not clear about the discussion we had yesterday.
-
Evan Prodromoureplied to Steve Bate on last edited by
@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.
-
Evan Prodromoureplied to Steve Bate on last edited by
@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.
-
Evan Prodromoureplied to Steve Bate on last edited by
@steve no.
-
Steve Batereplied to Evan Prodromou on last edited by
@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?
-
Evan Prodromoureplied to Evan Prodromou on last edited by
@steve also, I wonder if you've read the section on object representations in Chapter 2 of my book? It goes into a lot of detail about how these things interact.
ActivityPub
ActivityPub is the new standard for connecting social networks together on the social web. This open, decentralized social networking protocol defines an API for sharing activities to a social network … - Selection from ActivityPub [Book]
O’Reilly Online Learning (www.oreilly.com)
-
Evan Prodromoureplied to Steve Bate on last edited by
@steve I think James had switched to JSON-LD before we started the WG. We discussed it a lot; the continuum between JSON, JSON-LD, and RDF. I think the balance works well, and I like how much the RDF community has embraced AS2. There are a couple of other schema languages for JSON, like JSON Schema, but I don't think they lend a lot that JSON-LD lacks.
-
@evan @steve I remember AS2 as JLD being part of the WG charter, and therefore not really up for discussion. Maybe that discussion was had before the invites went out, but it felt too me a bit like a mandate from "on high" (i.e. the W3C)
I regret how the JLD interop was specified in the spec though. I think we could have done better -
Evan Prodromoureplied to Evan Prodromou on last edited by
@steve oh, and the example you gave about XML is exactly how people worked with RSS up until version 2.0!
-
@erincandescent @steve James used JSON-LD in the later drafts of the AS2 RFC, so it antedated coming to W3C. But it definitely also worked as a selling point internally, at least until the SoLiD schism.
-
Steve Batereplied to Evan Prodromou on last edited by
@evan JSON-LD is a Linked Data (RDF) serialization. I think it's a stretch to call it a schema language in the same genre as JSON Schema. The JSON-LD AP context can only be compared to a schema language in very limited ways. I'd expect one would use RDF Schema (RDFS) or SHACLE or Shape Expressions (ShEx), maybe OWL, *with* JSON-LD for that purpose. Given that, would you personally still choose JSON-LD today, since the focus is on plain JSON? I'm not asking about what Snell chose a decade ago.
-
Steve Batereplied to Evan Prodromou on last edited by
@evan I'm not exactly clear about the analogy, but maybe someday we'll say that's how it worked in ActivityPub up until version 2.0!
-
Evan Prodromoureplied to Steve Bate on last edited by
@steve early versions of RSS were based on RDF/XML. Version 2.0 is not. People parsed it as plain XML.
-
Evan Prodromoureplied to Steve Bate on last edited by
@steve also, you don't have to wait for some imaginary future version. If you want to change ActivityPub, make extensions. It's really easy, and if your extension gets popular, it will get merged into the main AS2 context.
-
Evan Prodromoureplied to Steve Bate on last edited by
@steve it's no longer up to you or me. The AS2 spec was standardized in 2018 and AP in 2019. We have hundreds of implementations, tens of thousands of servers, and tens of millions of user accounts.
-
Evan Prodromoureplied to Evan Prodromou on last edited by
@steve there's no latitude at all to change the primary serialization format for AS2. JSON-LD meets all our needs, anyway.
-
Evan Prodromoureplied to Evan Prodromou on last edited by [email protected]
@steve so, I did a gist that I think represents your original point, namely, that regardless of whether the object is represented as a JSON object or an URL in the `items` property array value of an AS2 `Collection`, the triple generated to represent the relationship of containment is the same. Is that roughly it?
Converting an AS2 collection from JSON-LD to n-quads
Converting an AS2 collection from JSON-LD to n-quads - collection1a.jsonld
Gist (gist.github.com)
-
Evan Prodromoureplied to Evan Prodromou on last edited by [email protected]
@steve I can definitely agree with that, although it gets more complicated with paged collections. For AS2 and AP, this also shows a single note in a collection, but the RDF is not the same.
https://gist.github.com/evanp/86f81773d2a06eac91f67574f004500b
-
Steve Batereplied to Evan Prodromou on last edited by
@evan Yes, that’s essentially it. The AS2 Collection paging is a whole other discussion. The RDF triples are accurately representing what’s in the page-related JSON-LD, but the JSON-LD isn’t literally serializing one item in a Collection. It’s serializing a Collection referencing a CollectionPage (via `first`) that references one item (which is consistent with the RDF triples).
-
Evan Prodromoureplied to Steve Bate on last edited by
@steve the note is contained in the collection in all three examples. That's the abstract model. I agree, the RDF is different.