--
You received this message because you are subscribed to the Google Groups "API Craft" group.
To unsubscribe from this group and stop receiving emails from it, send an email to api-craft+...@googlegroups.com.
Visit this group at http://groups.google.com/group/api-craft.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups "API Craft" group.
To unsubscribe from this group and stop receiving emails from it, send an email to api-craft+...@googlegroups.com.
Visit this group at http://groups.google.com/group/api-craft.
For more options, visit https://groups.google.com/d/optout.
i like the idea of separating semantics from format and protocol. that's one of the principles Leonard and I talk about in the RESTFul Web APIs book.adding semantic/vocabulary negotiation is an interesting idea, too. the examples you give here are, IIUYC, negotiating the *format* for carrying semantics, not the actual semantics, right? i think that can be handled via conneg (we are talking about formats) already, tho.am i missing something?
On Wed, Jul 22, 2015 at 10:57 AM, mca <m...@amundsen.com> wrote:i like the idea of separating semantics from format and protocol. that's one of the principles Leonard and I talk about in the RESTFul Web APIs book.adding semantic/vocabulary negotiation is an interesting idea, too. the examples you give here are, IIUYC, negotiating the *format* for carrying semantics, not the actual semantics, right? i think that can be handled via conneg (we are talking about formats) already, tho.am i missing something?No, I was referring to the actual application/domain-specific semantics. Maybe we are having a "vocabulary-mismatch", but I'm referring to the domain-specific semantics (e.g. what words you use to describe "a person, a watercooler, a swimming pool, a newpaper, etc").For example, suppose this is YOUR API (and let me fix the "structural semantics" in JSON-LD) and you represent a "book" using your OWN words:{@context: "http://mca.com",@type: Book,canonicalBookNumberId: "ISBN1234",}That would make perfect sense for you and your clients, but it requires your clients to understand your specific vocabulary.If, however, you had the interest to "speak somebody else's language", say, a different "vocabulary" to "express the same ideas", maybe your clients could ask your API:"hey, perhaps you could re-write your payload under my own terms? for example, i understand http://schema.org/Book and its properties, as well as opengraph's Books representation"
Hi Sam,I'm wondering, if you can't afford to manually read/understand the contents of the messages, how can you afford to retrospectively amend thousands of APIs to:1. use this new kind of vocab negotiation2. produce the necessary mappings from the existing data to each of the required vocabs
that seems like a lot more work than the manual read option.
Hi Mike,Great question! Thanks for asking!On Wed, Jul 22, 2015 at 12:19 PM, Mike Kelly <mikeke...@gmail.com> wrote:Hi Sam,I'm wondering, if you can't afford to manually read/understand the contents of the messages, how can you afford to retrospectively amend thousands of APIs to:1. use this new kind of vocab negotiation2. produce the necessary mappings from the existing data to each of the required vocabsthat seems like a lot more work than the manual read option.I think the short answer is that I hope I won't be alone asking for interoperability. I hope that more folks would want to make their APIs interoperate using fewer of the-same-words-that-describe-the-same-things.More importantly, I think that's also "the right thing to do". The "manual read option" requires me to "manually select" which people I want to work with and I don't think that's fair (or good) for an ecosystem. I think it is important to give *everybody* the *ability* to join my system if they choose to (as opposed to "myself manually selecting" who I work with).I also think it is my job to provide the *incentives* for someone to join my system, but that's an orthogonal question to providing the *ability*.
Cheers,M
--
You received this message because you are subscribed to the Google Groups "API Craft" group.
To unsubscribe from this group and stop receiving emails from it, send an email to api-craft+...@googlegroups.com.
Visit this group at http://groups.google.com/group/api-craft.
For more options, visit https://groups.google.com/d/optout.