It’s hard to argue in such angry manner, but I’ll try. I didn’t compare OData and GraphQL, I compared REST and GraphQL. I agree with the point about SOAP, it actually does SoC. You have to adopt the protocol, but the same one can say about GraphQL. So probably I should remove SOAP from that context. As about OData, it’s DSL over REST and there can be dozens of such DSL, but the question is if the protocol needs DSLs to perform basic stuff, maybe it makes sense to rethink the basics?