Zum Inhalt der Seite gehen



i'm not 100% sure about this but i am starting to think that the way #jsonld context declarations propagate by default is generally an anti-pattern

the problem is when you cross a semantic boundary, which happens most often due to naively dereferencing and embedding an entire resource ("inlining", "hydration"). it's especially likely to be an issue when you are using one or more protected contexts (where terms can't be redefined later).

1/?

Als Antwort auf infinite love ⴳ

say you have a generic property whose range is relatively unbounded -- a grab-bag where anything goes. something like how `attachment` or `tag` are used in #activitystreams. using multiple contexts at the top-level introduces a potential conflict in terms. you could reconcile any conflicts with a custom context, but that prevents reuse / understanding a more well-known context.

unfortunately, due to context propagation, terms defined earlier on can "leak" into the naively merged subgraph.

2/?

Als Antwort auf infinite love ⴳ

let's demo this with a simple case. say you want to `tag` something that is a `Movie` described by schema.org. the `Movie` declares that it has an `actor` who performed in it.

this is redefining the term `actor` as defined at the top-level by #activitystreams -- where `actor` means who performed an `Activity`, not who performed in a `Movie`.

if the activitystreams context was protected, then this would be a fatal error for any #jsonld validator. you cannot be sure which `actor` was meant!

3/?

Als Antwort auf infinite love ⴳ

we have *some* tools to deal with this in #jsonld. we can "type-scope" so that an Activity.actor uses a certain definition, and a Movie.actor uses a certain definition, but this requires us to say ahead-of-time that `Movie` will always mean a schema.org `Movie`. it also won't help us redefine protected terms, since "type-scoped" terms don't override protection. only "property-scoped" terms do. but we can't use "property-scoped" terms because that requires an explicit semantic range.

4/?

Dieser Beitrag wurde bearbeitet. (1 Monat her)
Als Antwort auf infinite love ⴳ

in "property-scoped" terms, we would have to say that `tag.*.actor` *always* means either Activity.actor or Movie.actor. in effect, we are saying that every `tag` MUST be an Activity, or MUST be a Movie. in other words, our semantic range is no longer unbounded.

now, remember this problem only happened because we naively merged in a JSON resource into another JSON resource, leading to a conflict between the two contexts. what's a better way to handle graph merges while maintaining context?

5/?

Als Antwort auf infinite love ⴳ

JSON namespaces keep rearing their head. This expired draft has one: datatracker.ietf.org/doc/id/dr…

But the same underlying problem is also being discussed as part of datatracker.ietf.org/doc/draft…

Als Antwort auf Jens Finkhäuser

@jens i mean... aren't JSONLD contexts basically just namespace injection? this seems to be a mostly solved problem, it's just the DX that can be a bit annoying when trying to accommodate JSON processors that fundamentally don't understand JSONLD. (within a single resource that doesn't link out to other resources, there is no problem.)
Als Antwort auf infinite love ⴳ

@jens afaict "disable propagation and put a context on every qualified resource node" seems to be directly analogous to "put an xml namespace on every qualified resource node"
Als Antwort auf infinite love ⴳ

It's a sort of solved problem, because apparently JSON-LD context come with issues that a simple namespacing scheme would avoid. Plus, you don't need the LD part.

I'm going back and forth with LD in this context (pun intended). It seems to solve issues only on the condition you mention, that it needs LD processors.

It's something I don't mind, particularly, but the fact that this thread exists seems to say that perhaps it's best to embrace that some folk don't want to bother with it.

Als Antwort auf Jens Finkhäuser

So when you have tech that brings benefits with "bother", you can kind of understand why it's not adopted as widely as one might like.

This has long history in tech, and is sometimes instrumentalized. Early SGML based HTML was fairly permissive, then XML based XHTML came along. That was, actually, pretty good - it cut through a bunch of issues by just being a tad stricter. With XHTML 2.0, it was finished, but Google pushed hard for HTML5, because the more permissive nature of it meant...

Als Antwort auf Jens Finkhäuser

... it felt like less of a bother. It also meant implementation complexity went back to SGML levels, and now only Google has the resources to develop a browser engine.

SOAP was a different beast. It was permissive in a way that let vendor extensions proliferate, but the way it happened was that, essentially, SOAP from one vendor was incompatible with that from another. Frustrated, the community proposed XML-RPC, which is also permissive, but embraced simplicity at the same time.

...

Als Antwort auf Jens Finkhäuser

Then JSON came along, making working with JS a lot easier, but the fundamental model of sending JSON around is very, very similar to how XML-RPC handled it.

JSON-LD provides much the same "feel" as SOAP. Yes, there's more clarity in it. But it comes at a complexity cost that also allows for abuse. And in that sense, the XHTML/HTML5 story is the same ad the SOAP story, is the same (almost) as the JSON-LD story:

Clarity (avoiding ambiguity) is what people wish for, complexity is not.

...

Als Antwort auf Jens Finkhäuser

Arguably, that specific combination does not exist yet, so people keep proposing namespaces as a simple yet effective alternative.

FWIW there's a related issue with the back and forth between "use schemata to generate code" vs. "use code to generate schemata".

Schema first approaches provide clarity. But code generation means that schema changes overwrite code, which you may have modified. So that's unpleasant to deal with. In the past, frameworks often suggested an indirection ...

Als Antwort auf Jens Finkhäuser

... layer, which avoids that issue, but then you have two layers to maintain compatibility between. Not fun.

OoenAPI started out solving that, it was schema first, but didn't generate code. Instead it let you tag your schema in a way that an API framework could use to map between your implementation and the schema. It still requires adjustment, but it's less disruptive.

Now modern API frameworks have gone the opposite direction again and generate schemata from code, which shifts the...

Als Antwort auf Jens Finkhäuser

... maintenance burden onto the consumer of the API. Personally, I think that is very stupid: schemata are contracts, and unilaterally breaking them invites pain. But here we are.

Nonetheless, even though this detour has strayed a bit from the OT, the point remains that devs seek clarity *and* simplicity (which provides for its own kind of clarity), and that's a difficult balance to strike.

But if you don't, chances are it'll get worse before it gets better.

Als Antwort auf infinite love ⴳ

This sounds like you're just merging JSON, ignoring the LD. If you merge two JSON-LD documents, obviously you have to resolve them both to RDF and then create one new document. We should finally stop pretending JSON-LD were plain JSON and write good tools for developers to handle RDF instead.
Als Antwort auf Nik | Klampfradler 🎸🚲

@nik it's not what *i'm* doing; this is what most of fedi does. AS2 has the dubious "advantage" of letting you "ignore the LD", but you can easily make mistakes in your ignorance.

i can be smart and do a proper RDF graph merge, but i was formulating a way for "plain JSON" people to effectively do a graph merge while being graph-unaware, through the equivalent JSON operations (without triggering errors due to redefining protected terms)

Als Antwort auf infinite love ⴳ

I know. And my point is: If you can't handle RDF, stop developing for ActivityPub.

(Yes, the spec should clearly state that RDF is obligatory, and we should make better tools and libraries to support people who can't wrap their heada around RDF.)

Als Antwort auf Nik | Klampfradler 🎸🚲

@nik it's not obligatory at all, though? taking a hardline RDF stance and asking anyone who disagrees to "stop developing for ActivityPub" is asking basically all of fedi to stop. they're not going to listen to this, and they're not going to oblige in the slightest.
Als Antwort auf infinite love ⴳ

I did not say it *is* obligatory. I said it *should be* obligatory.

The fediverse is by no means open today. It's a zoo of proprietary solutions not caring about open standards, and that's mostly due to this flaw in ActivityStreams.



Ein knapper Sieg für Donald Trump im US-Senat: Sein Steuergesetz kommt voran: Doch parteiinterne Abweichler und eine mehrheitliche Ablehnung in der Bevölkerung werfen einen Schatten auf Trumps "Big Beautiful Bill".


Angriffe auf iranische Atomanlagen schüren Angst vor nuklearen Explosionen. Warum moderne Atomwaffen nicht durch Beschuss explodieren - und trotzdem eine andere Gefahr bleibt.


Bundesverkehrsminister Schnieder sieht großen Verbesserungsbedarf bei der Deutschen Bahn. Die Züge müssten pünktlicher, sauberer und sicherer werden.
Als Antwort auf poldemo

Die App erklärt: Der Anschluss wartet nicht.
(Der Umstieg klappt, der ICE515 wartete dann doch noch die Minute länger, die allen den Umstieg ermöglichte).
Liebe @db_info, sorgt doch bitte dafür, dass App, Personal und Anzeigen über dasselbe System zeitgleich und synchron informiert werden. Vielleicht mal MQ nutzen?)
Als Antwort auf poldemo

(kleiner Spaß am Rande: der Zug, der nicht hätte warten können/sollen, hat ohnehin dann in Mannheim einen geplanten, längeren Aufenthalt (+5min))


Verschärftes Rauchverbot: An Frankreichs Stränden darf seit heute nicht mehr gequalmt werden. Doch es gibt einige Ausnahmen - E-Zigaretten sind vom Gesetz nicht betroffen.


Geopolitische Krisen - wie zuletzt der Konflikt zwischen Israel und dem Iran - gefährden Öl und Gasimporte. Bieten erneuerbare Energien in unsicheren Zeiten mehr Sicherheit?
Als Antwort auf Deutsche Welle (inoffiziell)

Eine Auswertung des Netzzusammenbruchs in Spanien kommt zu dem Ergebnis, daß der Ausbau der Erneuerbaren Energien auch ein Ausbau der Fähigkeiten zur Spannungsregelung und der Netzbalanzierung erfordert.

"Händelsen visar att en hög andel fri energi i elproduktionen kräver ett lika modernt och välplanerat elnät, där spänningsreglering och balansering sker med hög beredskap. Investeringar i batterilager, synkrona omriktare och snabb återkoppling från elnätsoperatören blir allt viktigare."

growsverige.se/2025/06/23/det-…



Torturen der besonderen Art auf dem Bodensee-«Erotikschiff» diebayern.de/freizeit/torturen… #Szene #Divertme #Baden-Württemberg #Freizeit #Deutschland #Gesellschaft #Schifffahrt #Vermischtes #Friedrichshafen
Als Antwort auf DieBayern

Ach, das gibts immer noch? Ist schon mehr als 20 Jahre alt.


Intakte Wälder liefern Sauerstoff und sind wichtig für das Klima. Wie groß genau aber das Volumen ihrer Biomasse ist, weiß niemand. Ein neuer ESA-Satellit soll das jetzt ändern.
Als Antwort auf ZDF heute (inoffiziell)

Ah, jetzt kann ein Satellit das Klima schützen. Na dann brauchen wir ja nichts mehr zu tun


Zehntausende Menschen haben in der serbischen Hauptstadt friedlich gegen die Regierung von Präsident Vucic demonstriert. Im Anschluss gibt es gewaltsame Zusammenstöße.


It's a plushy gal.

"images\Jellycat\0298.jpg"



Die U21-EM ist das bisher größte Fußball-Ereignis in der Slowakei. Welche Hoffnungen verbinden die Menschen vor Ort damit? Was wird langfristig bleiben? Eine Reportage.


Stilles Mineralwasser ist ein günstiger Durstlöscher. Aber wie rein ist es? Insgesamt hat Öko-Test 53 Produkte untersucht, in 21 Wässern fanden die Tester Schadstoffe.
Als Antwort auf ZDF heute (inoffiziell)

Es bleibt nach wie vor ein grosser Unfug, Wasser in Flaschen durch die Gegend zu fahren, in Gebieten, wo Trinkwasser aus der Leitung kommt 🙄
Als Antwort auf Georg Ruß

Ich sehe einen guten Grund, kommerziell abgefülltes Wasser zu kaufen: selber hygienisch und haltbar Wasser bevorraten nach BBK-Empfehlung ist schwierig.

@datacyclist @zdfheute

Als Antwort auf ZDF heute (inoffiziell)

Trinkwasser aus dem Hahn ist noch günstiger, unterliegt meines Wissens strengeren Grenzwerten und ist in den meisten Regionen Deutschlands gut.
(Hier in München oder in meiner Heimatstadt im Schwarzwald auf jeden Fall)


Durch einen evolutionären Schachzug wurde der Mosasaurus zum besten Jäger der Meere. Millionen Jahre stand er dort an der Spitze der Nahrungskette. Deshalb starb er auch aus.


Tausende Israelis fordern in Tel Aviv ein Ende des Gazakrieges und die Freilassung der Geiseln. Auch US-Präsident Donald Trump wird zum Handeln aufgefordert.


Temptation. book of hours, Bruges or Ghent 15th century. Beinecke Rare Book and Manuscript Library, MS 287, fol. 46r.
#medieval #MedievalArt


Nach dem bitteren K.o. im EM-Finale gegen England ist die Enttäuschung bei der deutschen U21 verständlicherweise groß. Die positiven Eindrücke werden aber schon bald überwiegen.

Als Antwort auf Klimareporter (Inoffiziell)

ein Schelm, wer dabei denkt, dass Klimakonferenzen mehr Mittel zur medialen Selbstinszenierung und zum karrierefördernden Netzwerken vor Ort sind — und weniger Orte der tiefgreifenden globalen Zusammenwirkung "Alle für alle: mit Ziel Zukunft und Gemeinwohl".


Look an image of a stuffed toy.

"images\@electrocutie\Itll the hedgehog using a slide rule.jpeg"



Seit mehr als einem halben Jahr protestieren Menschen in Serbien gegen die Regierung unter Aleksandar Vucic. Bei einem Protest am Samstag forderten Tausende vorgezogene Neuwahlen.


Hey, do you want to see my plushies?

"images\Jellycat\0665.jpg"




Today in 1969, 56 years ago: in New York the Stonewall riots are unleashed, a series of altercations in favor of the rights of transgender and homosexual people that took place around the Stonewall Inn bar.

#OnThisDay




Die Forderung der Alternative für Deutschland erinnert an einen umstrittenen Vorstoß der CDU im Bundestagswahlkampf. Was steckt dahinter? Und wie reagieren die anderen Parteien?


Emergency plushy gal!!

"images\Steiff\0384.jpg"



Nach stundenlangen Gesprächen haben sich die Jusos mit Boris Pistorius geeinigt. Zuvor hatte es Streit um einen Gesetzesentwurf über die Wiedereinführung der Wehrpflicht gegeben.


#btw2025 #Wahlumfrage vom 28.06.2025 zur #Bundestagswahl von INSA für BILD am Sonntag: CDU/CSU: 28% (+0,5), AfD: 24% (+1), SPD: 16%, Grüne: 11% (−0,5), Linke: 9% (−1), BSW: 5% (+0,5), FDP: 3% (−1), Sonstige: 4% (+0,5).
Vergleich mit dem letzten Wahlergebnis vom 23.02.2025: CDU/CSU: −0,5, AfD: +3,2, SPD: −0,4, Grüne: −0,6, Linke: +0,2, BSW: ±0, FDP: −1,3. - dawum.de/Bundestag/INSA/2025-0…


Eine Brücke über die A7 bei Northeim ist seit 2024 gesperrt, weil die Durchfahrtshöhe zu niedrig ist. Das fiel erst auf, als ein Fahrzeug hängen blieb. Die Brücke wurde bei Sanierungsarbeiten einfach vergessen.


Nach dem schwachen Wahlergebnis für SPD-Chef Klingbeil gestern steht beim Parteitag heute der Neuanfang im Fokus. Es geht um Abschiede und neue Gesichter.


Look an image of a plush.

"images\Squichable\1382.jpg"



Bis zu 405 Kilometer pro Stunde erreicht ein neuer Zug, der nun getestet wurde. Das Problem: Die meisten Bahnstrecken Deutschlands sind für diese Geschwindigkeit nicht nutzbar.
Als Antwort auf ZDF heute (inoffiziell)

Können wir nicht bei den aktuellen 250-300 km/h bleiben, diese Strecken erstmal ausbauen und zuverlässiger machen und wenn wir das dann ordentlich und in ausreichender Kapazität haben, uns überlegen wie wir auf 400 km/h kommen?



Ein Drogenhändler, ein Reality-TV-Paar und ein Ex-Senator: Sie alle wurden zu Haftstrafen verurteilt, dann begnadigt. Und sie alle pflegen eine Nähe zu Trump.


Deutschlands Gasspeicher sind aktuell leerer als in den vergangenen Jahren. Droht nun ein Gasmangel im kommenden Winter? Warum Energieversorger bei Gaskäufen aktuell zögern.



Ungarn: Göring-Eckardt fordert Überstellung von Maja T. nach Deutschland

Katrin Göring-Eckhardt hat die linke Aktivistin Maja T. im Budapester Gefängnis besucht. Sie forderte ein rechtsstaatliches Verfahren – und sieht deutsche Verantwortung.

zeit.de/politik/ausland/2025-0…



Die SPD hat ihre Parteispitze neu gewählt. Neben Lars Klingbeil ist nun Bärbel Bas im Amt. Ihr Werdegang ist eine sozialdemokratische Erfolgsgeschichte.


Today in 1919, 106 years ago: the Treaty of Versailles is signed in France, by which France annexes the regions of Alsace and Lorraine, along with cities such as Strasbourg and Metz.

#OnThisDay




Machtprobe an der Donau: Die LGBTQ-Community ignoriert die Warnungen von Ungarns Regierungschef Viktor Orban und versammelt sich zum Budapester CSD.