Cryptocurrencies, read-write web and all things linked data with Melvin Carvalho

Melvin Carvalho

During the last LOD2 project plenary meeting in Prague the project’s Jindřich Mynarz had a chance to talk with Melvin Carvalho, who joined the meeting as an invited expert. Melvin was able to learn about the LOD2 project’s activities and provided the project members with feedback on the basis of his extensive experience with linked data, read-write web or online financial transactions. We dwelled into some of these topics in depth in the following interview.

Jindřich Mynarz: For the past years you have been fairly active in various W3C groups and joint efforts. What do you consider as your greatest achievement at W3C, whether it is technology or community related?

Melvin Carvalho: I think my greatest achievement is being part of a team. Tim Berners-Lee is, in my view, a great leader in that he always emphasises the team aspect of the Web. He sometimes uses the motto “if you do your little bit, everyone else will too.” I buy-in strongly to that ethos.

Particular highlights for me have been being involved with the Read Write Web Community Group, where I help out as co-chair, and also being part of the W3C Payments and WebID Community Groups. Contributing to the final report on the Social Web Incubator Group was also a really enjoyable experience. Right now I’m looking forward to the challenge of working on the Tabulator data browser.

Jindřich Mynarz: You write a blog titled “Linked Open Financial Transactions” and you are also actively experimenting with the so-called cryptocurrencies, such as Bitcoin. Do you foresee a future in which we will have RESTful bank accounts, to which we can HTTP POST money? Do you anticipate some of these technologies being incorporated into the mainstream e-commerce in the near future?

Melvin Carvalho: Yes, I do see a synergy between the core concepts in finance and those in REST or HTTP. For example, the common banking operations that most people use are to check their balance and to send a payment. These correspond quite closely to the HTTP verbs of GET and POST. When you add linked data into the mix, you can get a fairly good match to a scalable monetary system. I think we’re still some ways away from cryptocurrencies becoming mainstream, but it certainly could be on an “S Curve” right now, and the intersection of payments and linked data is, IMHO, an area with plenty of room to innovate.

Jindřich Mynarz: Besides linked open data for finance, much of your work revolves around the identity and authentication on the Web. What do you regard as some of the best practices for decentralized web identity? What could be improved with the currently used authentication protocols, such as OpenID or OAuth 2.0?

Melvin Carvalho: I think the principles laid out by Tim in design issues still stand the test of time. Anything of importance should be given a URI. This allows scaling and interoperability. WebID does this quite well, using HTTP URIs, but the same concept could be applied to any type of URI, such as mailo:, tel: or ni: (named instance). HTTP of course has the great advantage of the dereference function to “follow our nose” and get more data.

I have followed OpenID and OAuth from the start. In fact, the very first version of OpenID, codename Yadis, was based on FOAF. It’s good in that it allows both email style identity and HTTP URLs. I’d like it better if support for fragment IDs was more common and that this could be a common ground for identity systems. I think there is still some work to do in terms of standardization on the front.

Jindřich Mynarz: Given that you have background in mathematics, do you find yourself using some of the mathematical skills you acquired when you are doing development or working with linked data? What mathematical knowledge do you deem the most useful to have for web developers?

Melvin Carvalho: A topic I particularly enjoyed at college was Graph Theory, and this fits well to understanding the concepts behind linked data. But in truth I’ve not noticed a strong requirement for mathematics in web development. Sometimes it’s helpful to unlearn some of the things you take for granted and appreciate the web axioms of Universality, or to understand that linked data is a set that removes duplicate entries. When I studied mathematics at Cambridge, we were always encouraged not just to solve problems, but to try to create new theorems. I think this is a good lesson for people working in standardization activities. To try and recognize the best patterns that you work with and help reuse them to make new standards.

Jindřich Mynarz: The main product of the LOD2 project is the LOD2 Stack, a distribution of integrated software for working with linked open data. The applications included in the stack share a data space, which they use to exchange data. Based on your experiences with developing the read-write web, what principles and techniques do you hold to be essential in software integration via shared access to data?

Melvin Carvalho: If we look at the Web 10 years ago, it was mainly a read only, browsing experience. Over time it has become more interactive due to online encyclopedias, social networks, blogging and content management systems.
Fast forward to today and we see a similar pattern with linked data. Linked data is good for consuming information and mashups, but there’s an opportunity for more work to be done with creating and curating linked data.

My hope is that in the future linked data can become more interactive via read and write techniques such as SPARQL Update, and PUT/PATCH/POST/DELETE HTTP verbs. I’d like to see more sites advertising their SPARQL endpoint in directories, via VoID or the .well-known/sparql pattern. I’m also a fan of using hash URIs where possible, as this unambiguously differentiates between the web page and the data contained within, with the side-effect of making the data potentially portable.

I would also like to encourage the social aspect to linked data to be reused across different projects. I believe OntoWiki already has five star linked profiles, but I’d like to see more projects add linked data to profile pages. I’ve spoken to two web projects recently, Gnu Social and Lorea, which will hopefully be starting to make their profiles more linked data friendly. Once we have stable URIs to describe people, we can start bringing together connections, and also discovering endpoints for status updates, creating a web that is more social. My hope is that a growing number of projects will join this cloud to create tight feedback loops of collaboration, making linked data not only more useful, but more fun!

Short bio of Melvin Carvalho

Melvin grew up in the UK in South London. He studied mathematics at Caius College Cambridge, under Lucasian Professor, Stephen Hawking. He also has a postgraduate Diploma in Computer Science. After graduating, Melvin was left with a choice between academia and industry, and he decided to go into industry. He has worked as an assembler programmer, in financial services, but most recently is a freelance web developer, living in Europe. Having discovered linked data over five years ago, it quickly went from being his hobby to being his passion.

Leave a Reply

Your email address will not be published. Required fields are marked *