w3c-social / Social-APIs-Brainstorming

7 stars 2 forks source link

references to microformats 2 #14

Open melvincarvalho opened 9 years ago

melvincarvalho commented 9 years ago

I am interested in the work on the Social API, however might not wish to use the microformats 2 vocabulary. Would I be right to say that the micropub section of the brainstorming is constrained to MF2?

I think this would be a show stopper both in a general sense, for example:

http://microformats.org/wiki/triples

"microformats are proof of this (good enough, triples unnecessary)"

And in specific mappings to the work being done on activity streams. See for example:

https://github.com/jasnell/w3c-socialwg-activitystreams/issues/194

I do think that this issue warrants removing microformats 2 (again) from the AS2 spec.

Perhaps the brainstorming document should focus on alignment between activity pump, SoLiD and activity streams 2. And MF2 could instead focus on creating a normative stable reference to the vocabulary, to be used in conjunction with other vocabs under the AS2 extensibility system?

rhiaro commented 9 years ago

The Micropub spec assumes parameters passed are terms from the microformats vocabulary. Posting microformats json to a micropub endpoint is more or less equivalent to posting AS2 json to an ActivityPump outbox endpoint.

From a linked data perspective, microformats2 is just another vocabulary. It has a lot of overlap with AS2 (and sioc, foaf, and others), but a more limited scope (ie. describing web documents like blog posts). Also documents don't tend to have explicit types, but their types are inferred from their properties. With this in mind, there are some direct mappings that can be made, eg. an AS2 Like Activity is equivalent to a microformats2 h-entry with a like-of property. (I compared them at http://rhiaro.co.uk/2015/05/micropubbing-with).

What is valuable about microformats2 is that it's in use for marking up and federating social data already. It'd be cool to see the subset of AS2 that does map pretty straightforwardly to mf2 converge (which could just mean renaming some terms). Then, whether you wanted to call it Micropub or posting to an AP outbox, for basic cases of creating blog posts you'd be doing the same thing. The rest of AS2 then covers cases outside of this, without excluding those already using the subset included in mf2.

Also: Things marked up with microformats are easy enough to represent as triples, as they're in the form entity-attribute-value. I think the /triples wiki page is inaccurate and misleading and probably doesn't represent the opinion of the whole microformats community. The only difference is sometimes the URI of the subject is not explicit (in which case it can be assumed to be the page from which the microformats were parsed) but otherwise it's the value of the 'url' parameter of the top level object. That's what I'm going with anyway; I occasionally use microformats2 properties stored as RDF in my system with the http://microformats.org/profile/ namespace, which doesn't resolve to vocabulary documentation yet, but I'm hopeful it might.

melvincarvalho commented 9 years ago

@rhiaro thanks for the clarification. It's really valuable for those of us that are less experienced, to have your insights on this.

If MF2 is "just another vocabulary"

From reading the microformats wiki, there seemed to be strong opposition to triples. That certainly would be an insurmountable interop hurdle for a social api. It's good to know that people like you and I think quite a few other members are not against triples.

Re: http://microformats.org/profile/ that sounds promising. But in terms of this WG dont you think we need to get something like that up and live in order to be able to move towards a spec that is capable of passing a test suite? I'm concerned that waiting on this may affect the timeline of the deliverables?

elf-pavlik commented 9 years ago

The Micropub spec assumes parameters passed are terms from the microformats vocabulary. Posting microformats json to a micropub endpoint is more or less equivalent to posting AS2 json to an ActivityPump outbox endpoint.

AS2 json will either use explicit JSON-LD context or implicit one enforced by application/activity+json media type. This in terms allows mapping properties to URIs, except discouraged case described in require explicit @vocab or define prefix if custom terms used, to remove current "@vocab": "_:" hack

Even if http://microformats.org/profile/ becomes official prefix, how does one know JSON-LD context formalizing this mapping similar as AS2.0 one does via custom media type?