i wonder if there's any way to detect semantic correctness.
-
risottobias@tech.lgbtreplied to trwnh@mastodon.social last edited by
@trwnh oh you mean AS2, not general formal reasoning
this reminded me of Gödel's incompleteness theorem
any sufficiently useful and consistent set of axioms will have some statement X that is unprovable under the existing axioms. Trying to get to 100% might introduce an inconsistency (and being consistent is more important than being complete)
that's not to say that some axiomatic mathematical spaces aren't provably complete (many are), but that sometimes completeness lags and that's okay, so long as it's not contradictory, and as long as there are enough axioms to be useful
-
trwnh@mastodon.socialreplied to risottobias@tech.lgbt last edited by
@risottobias if we're trying to reason about as2 then the problem is that a lot of what fedi produces is semantically incorrect
like if you were to consider all subjects which have a `tag` of a certain resource, you will get zero results because fedi ended up being indirect with everything. nothing is ever declared to be a tag; instead, we tag a *reference* to the thing.
-
sixohsix@icosahedron.websitereplied to trwnh@mastodon.social last edited by
@trwnh I don't think formal arguments about semantic verification are the issue here. I mean, one could use a more strict kind of schema or different representation to lock things down, but I think the underlying problem is due to design. Different networks want to do different things.
How is a Masto post like a Reddit post? How is a Peertube video like a Masto post? Can a Peertube video comment have a video in it? Why not?
Like, if you reduce all the networks only to what is semantically shared, there isn't that much in common to specify, and if you specify every extension and rule of every network, then anyone implementing a client will be overwhelmed.
Provided there is a forum where network developers can work out inter-network specifics, that might be as good as it gets...?
-
trwnh@mastodon.socialreplied to sixohsix@icosahedron.website last edited by
@sixohsix no, they actually share a lot at the semantic level! the difference is almost entirely in presentation, enforced at the application level.
the problem is implementers stuff everything into a Create-Note-shaped hole, declare width/height on an Image instead of on the binary asset, tag Links instead of actual Objects, and so on. schema doesn’t help because everything is optional and the vocabulary is loose enough to allow basically anything. it’s valid grammatically, otherwise nonsense.
-
trwnh@mastodon.socialreplied to trwnh@mastodon.social last edited by
@sixohsix this is clearly a case of semantic confusion all over the place, basically. the intended definitions are overloaded by implementers who don’t know any better — even official examples can be wrong!
and at some level the differences between different things start to matter; for example querying a graph for posts tagged with a certain thing will show you 0 results because no one tags the actual thing, they tag a link instead. you end up needing application-level logic to make sense of it
-
trwnh@mastodon.socialreplied to trwnh@mastodon.social last edited by
@sixohsix and programmatically there’s not really a straightforward way to take a reference and “unwrap” it into the object identifier. you can’t just take the href; you need to make a specific HTTP call with a specific Accept header, then extract the id from that (which may be different from the href, and often *is* different). generic graph-based reasoning tools don’t know to do this. they shouldn’t need to do this. just use the id directly.
-
sixohsix@icosahedron.websitereplied to trwnh@mastodon.social last edited by
@trwnh ah, okay, I think I understand. Though I don't understand what it is about the spec that encourages this to happen. I'll have to read a lot more. Thanks for explaining.
-
trwnh@mastodon.socialreplied to sixohsix@icosahedron.website last edited by
@sixohsix i think it might just be a mix of giving you too many parts and no instructions (or what instructions you have may be incorrect)
for fedi, i’m pretty sure it’s the thing i pointed out about compatibility being valued more than correctness. which is to say: few if any of the “popular” implementations actually care about graphs. they mostly use AP only as a way to pass bits of arbitrary HTML and JSON around. then they throw away all that stuff after converting it to a “post”
-
trwnh@mastodon.socialreplied to trwnh@mastodon.social last edited by
it strikes me wrt AS2 that reifying a Relationship is kinda like reifying a Link but even more esoteric
just about the only thing that's *more* esoteric is reifying a Profile
-
trwnh@mastodon.socialreplied to trwnh@mastodon.social last edited by
not strictly *useless*, mind you -- just esoteric. i wonder if there's other vocabs out there that handle the problem area better.