#microformats 2022-06-21

2022-06-21 UTC
gRegorLove_ and ur5us joined the channel
#
@nileshtrivedi
↩️ Alright. May be it's not too bothersome. But I haven't seen developer adoption of RDF. People end up preferring simpler formats like MicroFormats and/or JSON. What's the USP for Solid according to you?
(twitter.com/_/status/1539211319802470400)
#
@simongraysays
↩️ Aren't things https://schema.org and https://ogp.me technically more popular than MicroFormats? That's RDF.
(twitter.com/_/status/1539220602480910339)
#
[KevinMarks]
OGP isn't RDF.
#
[tantek]
[KevinMarks] OGP is defined in terms of RDF plumbing (meta property is RDF)
#
[Simon_Gray]1
[KevinMarks] Yes it is. They literally publish the schema in RDF (Turtle).
#
[Simon_Gray]1
something like
#
[Simon_Gray]1
```<meta property="og:title" content="The Rock" />```
#
[Simon_Gray]1
translates to an RDF triple where the website URI is the subject, og:title is the predicate, and “The Rock” is the object.
#
[Simon_Gray]1
Fully realised RDF in Turtle this would be the triple:
#
[Simon_Gray]1
```<example.com> https://ogp.me/ns#title "The Rock" .```
#
[Simon_Gray]1
The definition of og:title is
#
[Simon_Gray]1
```og:title a rdf:Property ;
#
[Simon_Gray]1
rdfs:comment "The title of the object as it should appear within the graph, e.g., \"The Rock\"."@en-US ;
#
[Simon_Gray]1
rdfs:subPropertyOf rdfs:label ;
#
[Simon_Gray]1
rdfs:label "title"@en-US ;
#
[Simon_Gray]1
rdfs:isDefinedBy og: ;
#
[Simon_Gray]1
rdfs:range ogc:string .```
#
Loqi
[@kevinmarks] Q: can you put profile in the head so we can politically get it back into HTML5? @daveman692 we need it to be simpler than RDFa
#
[tantek]
[Simon_Gray] in practice, OGP that is published is copy/pasta, and parsed as another property:value syntax. That is, consuming code treats "og:" as a literal string, not as a qname
#
Loqi
[@kevinmarks] says @daveman692 design goals for OGP: 1.Useful to others beyond Facebook 2. Copy and Paste 3. Simple markup, simple schema #www2010
#
[tantek]
So [KevinMarks] is correct in that regard too, that despite the formal plumbing underneath, OGP is yet another set of meta property value tags, just using "property" instead of "name" as the attribute for conveying the property name.
#
[tantek]
and a property:value syntax/model is very much not "RDF" on its own, or is certainly no more RDF than any other property:value syntax, whether RFC822 syntax, or microformats.
#
[Simon_Gray]1
Well, if it is advertised as RDF and it parses as RDF, how is it not RDF?
#
[tantek]
it doesn't parse as RDF, see above about "og:" being treated as a string literal in practice, not as a qname
#
[Simon_Gray]1
See what above?
#
[Simon_Gray]1
> says @daveman692
#
[Simon_Gray]1
> design goals for OGP: 1.Useful to others beyond Facebook 2. Copy and Paste 3. Simple markup, simple schema #www2010
#
Loqi
[[tantek]] [Simon_Gray] in practice, OGP that is published is copy/pasta, and parsed as another property:value syntax. That is, consuming code treats "og:" as a literal string, not as a qname
#
[Simon_Gray]1
Sorry, I really don’t agree with that at all. In practice, lots of HTML generation comes about as a literal string substitution. That doesn’t make the end product _not_ HTML.
#
[KevinMarks]
This is the eternal RDF argument though. You can parse lots of things into an RDF representation. What's harder is supporting the variations on that RDF can twist them into.
#
[Simon_Gray]1
RDF being hard != something not being RDF
#
[tantek]
parsing implementations treat "og:" as a literal string, that's why it's "not RDF" in practice
#
[Simon_Gray]1
you can’t generalise like that
#
[tantek]
they treat it the same as if it were "og_"
#
[KevinMarks]
If you're not working in a triple store, then the RDF parsing is a lot of YAGNI
#
[Simon_Gray]1
yes, I agree with that. Still, that doesn’t make something that is clearly RDF _not_ RDF.
#
[tantek]
that's the other variant, where even if(?) "og:" is parsed as a qname, internally implementations throw it out and treat it as property:value pairs for display purposes
#
[tantek]
so either it's not parsed as a triple, or any sense of "tripleness" is thrown away by implementations because they don't need it, as [KevinMarks] pointed out, YAGNI
#
[tantek]
that's why it's "not RDF" in practice
#
[Simon_Gray]1
I still disagree 🙂
#
[tantek]
at best, "og:" is RDF-cosplay
#
[KevinMarks]
Dave was pretty clear at the time that he was making it look roughly like RDF to placate the RDF faction, while focusing on keeping it copy paste able
#
[tantek]
exactly
jacky joined the channel
#
[Simon_Gray]1
Ok. If this discussion requires me to view his tweets I guess they shouldn’t be hidden.
#
[KevinMarks]
This was a conference talk at www 2010
#
[Simon_Gray]1
What would make something RDF in your eyes?
#
[KevinMarks]
Also part of the goal was to specifically silo it off from other markup, so not using <title> etc
#
[Simon_Gray]1
I use both RDF and other triplestore implementations in my work, e.g. the Datalog-based graph implementations in the Clojure ecosystem. The triples look the same and act the same, so of course RDF is not the only game in town. To me, the main differentiating factor that RDF has its schematic precision that allows safe merging of graphs. The Clojure people took the RDF idea and made graph databases mainstream in Clojure, but they
#
[Simon_Gray]1
never adopted the other parts of the semantic web stack.
#
[KevinMarks]
Also it was to be simpler than microformats (at the time) by being in the head not the html
#
[Simon_Gray]1
RDF doesn’t mean having to implement the entire semantic web stack to be “proper” as opposed to “cosplay”. It’s a useful way to structure data regardless of how it’s interpreted and the different standards compliment each other nicely. What you get out of RDF is up to you.
#
[Simon_Gray]1
Like I said, if it parses as RDF…
#
[Simon_Gray]1
Of course, you can safely ignore the fact that it’s RDF too and you can ignore it entirely.
#
[KevinMarks]
We did spend a bunch of time early on with html profile and helping out getting things RDF friendly with microformats, but we often ended up in an impasse
#
[KevinMarks]
Also RDF was really bad at lists and especially nested lists. That may be fixed now, but there was a lot of overhead to getting that working.
jacky joined the channel
#
[tantek]
[Simon_Gray] the tl;dr: for most folks, is that implementations, use-cases, etc. RDF is a YAGNI, and people will tend towards doing less work when they can. If they can parse prefixes as string literals and that seems to "work", they won't bother with a triple store etc.
#
[tantek]
The pushback is that when less work will still make things "work" then something isn't really RDF, it's something that doesn't need RDF, even if it appears to be "dressed up in" RDF syntax (hence RDF-cosplay)
jacky, Boblee1776 and [aciccarello] joined the channel
#
jacky
gregorlove++ for nudging the PR re: microformats and time offsets
#
Loqi
gregorlove has 2 karma in this channel over the last year (4 in all channels)
jacky joined the channel
#
[Simon_Gray]1
[KevinMarks] RDF is still quite bad with lists in the sense that sequential collections are effectively modelled as s-expressions in RDF (first and rest). It is bad at storing sequential data the same way hash maps are a bad way to store sequential data: graph are not the appropriate data structure for sequential data.
#
[Simon_Gray]1
[Simon_Gray] I feel like we are basically talking past each other. I get that _not_ parsing the RDF (and running inferences and whatnot) will be the way things are done in 99.9% of cases. Still, it's just _data_ and data can be interpreted in a number of ways. In this case, we are dealing with RDF encoded as HTML (two interpretations). The subject in every triple is the same, making it effectively just a list of key-value pairs
#
[Simon_Gray]1
from the point of view of the page (third interpretation). Key-value pairs are what most implementations will interpret them as, probably in some ad-hoc way. However, they can also just as easily be interpreted as RDF and fit into a graph. That was just my point.
#
[Simon_Gray]1
I'm not making any value judgments.
gRegor and jacky joined the channel
#
[Simon_Gray]1
(correction: I meant to write cons cells earlier, not s-expressions)
#
[Simon_Gray]1
Let just linked lists
#
[Simon_Gray]1
*let's just say "linked lists"
jacky joined the channel
#
[Simon_Gray]1
Apologies for the many corrections. I'm used to being able to edit my messages in Slack, but I guess this is in fact just IRC cosplaying as Slack. 😉
#
[KevinMarks]
Hah. It's a website cosplaying as both I think
jacky joined the channel
#
[KevinMarks]
Microformats shout out 10 minutes in:
#
[KevinMarks]
Conferences, Search Engines, Anonymity, CSS, :Has, and the Future with Eric Meyer and Jeffrey Zeldman
#
Loqi
[kevinmarks] 520: Conferences, Search Engines, Anonymity, CSS, :Has, and the Future with Eric Meyer and Jeffrey Zeldman
jacky, Boblee1776, [aciccarello], [sebsel], ur5us, gRegor and gRegorLove_ joined the channel