introduction to linked data and web payments

26
Introduction to Linked Data and Web Payments Brent Shambaugh Code Norman Meetup at Prototek OKC October 25th, 2014 CC BY SA 2.0 (unless mentioned otherwise)

Upload: brent-shambaugh

Post on 14-Jun-2015

339 views

Category:

Economy & Finance


0 download

DESCRIPTION

These slides contain an introduction to Linked Data and Web Payments. Web Payments concepts come from the Web Payments Community group chaired by Manu Sporny on the W3C website.

TRANSCRIPT

Page 1: Introduction to Linked Data and Web Payments

Introduction to Linked Data and Web Payments

Brent Shambaugh

Code Norman Meetup at Prototek OKC

October 25th, 2014

CC BY SA 2.0 (unless mentioned otherwise)

Page 2: Introduction to Linked Data and Web Payments

Dedicated to Sean Satterlee

For pushing the limit...

Page 3: Introduction to Linked Data and Web Payments

Overview

Page 4: Introduction to Linked Data and Web Payments

Overview (B&W)

Page 5: Introduction to Linked Data and Web Payments

Introduction to Linked Data

Page 6: Introduction to Linked Data and Web Payments

Different Levels of the Web

[Web] to address the following (levels of complexity?)

1. Linked Document Network

“every hyperlink denotes a document

location”

2. Linked Data Network

“hyperlinks denote entities”

3. Linked Open Data

“hyperlinks denote entities … resolving to

human and machine readable entity description

documents”

4. Semantic Linked Open Data

“all of the above with the addition of human and machine

readable and comprehensible relation semantics”

Source: http://kidehen.blogspot.com/2014/03/world-wide-web-25-years-later.html

Kingsley Idehen

CC BY 3.0 AThttp://creativecommons.org/licenses/by/3.0/at/deed.en

By http://creativecommons.org/licenses/by/3.0/at/deed.en

Page 7: Introduction to Linked Data and Web Payments

RDF Triple Form

Page 8: Introduction to Linked Data and Web Payments

Linked Data Example

*edited post presentation

Page 9: Introduction to Linked Data and Web Payments

Linked Data Design Comments

4 Rules <http://www.w3.org/DesignIssues> :

1.Use URIs as names for things

2.Use HTTP URIs so that people can look up those names.

3.When someone looks up a URI, provide useful information, using the standards (RDF*, SPARQL)

4.Include links to other URIs. so that they can discover more things.

Tim Berners-Lee in 2012

Cc-by-sa-2.0 by cellanr<http://www.flickr.com/photos/rorycellan/8314288381/>

Page 10: Introduction to Linked Data and Web Payments

Linked Data Design Comments (cont.)

5 Star Linked (Open) Data <http://www.w3.org/DesignIssues> :

★ Available on the web (whatever format), but with an open licence

★★ Available as machine-readable structured data (e.g. Excel instead of image scan of a table)

★★★ As (2) plus non-proprietary format (e.g. CSV instead of Excel)

★★★★ All the above, plus: use open standards from W3C (RDF and SPARQL) to identify things, so that people can point at your stuff

★★★★★ All the above, plus: link your data to other people’s data to provide context

Page 11: Introduction to Linked Data and Web Payments

Linked Data Representation

● RDF triples in formats such as:

RDF/XML, N3, Turtle, RDFa, N-Triples, JSON-LD

● JSON-LD is used for Web Payments

Page 12: Introduction to Linked Data and Web Payments

JSON vs. JSON-LD

● JSON has all of the features of JSON, “Developers only need to know JSON and two keywords (@context and @id) to use the basic functionality in JSON-LD.”

<http://www.w3.org/TR/json-ld/#relationship-to-rdf>

Page 13: Introduction to Linked Data and Web Payments

JSON-LD Syntax

● Example 24:<http://www.w3.org/TR/json-ld/>

{ "@context": { "xsd": "http://www.w3.org/2001/XMLSchema#", "name": "http://xmlns.com/foaf/0.1/name", "age": { "@id": "http://xmlns.com/foaf/0.1/age", "@type": "xsd:integer" }, "homepage": { "@id": "http://xmlns.com/foaf/0.1/homepage", "@type": "@id" } }, "@id": "http://example.com/people#john", "name": "John Smith", "age": "41", "homepage": [ "http://personal.example.org/", "http://work.example.com/jsmith/" ]}

Page 14: Introduction to Linked Data and Web Payments
Page 15: Introduction to Linked Data and Web Payments
Page 16: Introduction to Linked Data and Web Payments
Page 17: Introduction to Linked Data and Web Payments

Web Payments(W3C Community Group Material)*

* Precursor to http://www.w3.org/Payments/IG/

Page 18: Introduction to Linked Data and Web Payments

Web Payments Requirements

● It must be decentralized.● It must be an open, patent and royalty-free

standard.● It must be designed to work with Web architecture

like URLs, HTTP, and other Web standards.● It must allow anyone to implement the standard and

interoperate with others that implement the standard.

<https://hacks.mozilla.org/2013/04/web-payments-with-payswarm-identity-part-1-of-3/>

Page 19: Introduction to Linked Data and Web Payments

Web Payments Requirements (cont.)

● It must enable choice among customers, vendors, and payment processors, in order to drive healthy market competition.

● It must be extensible in a decentralized way, allowing application-specific extensions to the core protocol without coordination.

● It must be flexible enough to perform payments as well as support higher order economic behaviors like crowdfunding and executing legal contracts.

● It must be secure, using the latest security best practices to protect the entire system from attack.

● It must be currency agnostic, supporting not only the US Dollar, the Euro, and the Japanese Yen, but also supporting virtual currencies like Bitcoin and Ven.

● It must be easy to develop for and integrate into the Web.

Page 20: Introduction to Linked Data and Web Payments

Web Payments Design Principles for Identity

● An identity and credentialing solution for the Web should be decentralized.

● It must support discoverability by using a resolvable address, like a URL or email address.

● It must support, with authorization, arbitrary machine-readable information being attached to the identity by 3rd parties.

● It must be able to provide both public and private data to external sites based on who is accessing the resource.

● The credential information must be protected by a secure digital signature and encryption mechanism.

<https://web-payments.org/specs/source/identity-credentials/>

Page 21: Introduction to Linked Data and Web Payments

PaySwarm Purchase

Inspired by the The Payments, Privacy, Policing Paradox WorkshopAt the United Nations Internet Governance Forum.https://web-payments.org/minutes/2014-09-04-igf/

*slide added post presentation

Page 22: Introduction to Linked Data and Web Payments

Web Payments Demonstrations

● Web Payments with PaySwarm: Identity (part 1 of 3)

https://hacks.mozilla.org/2013/04/web-payments-with-payswarm-identity-part-1-of-3/

● Web Payments with PaySwarm: Assets and Listings (part 2 of 3)

https://hacks.mozilla.org/2013/04/payswarm-part-2/

● Web Payments with PaySwarm: Purchasing (part 3 of 3)

https://hacks.mozilla.org/2013/04/web-payments-with-payswarm-purchasing-part-3-of-3/

Personal notes from previous attempt:

http://adistributedeconomy.blogspot.com/2014_02_01_archive.html

*switched order with next slide post presentation

Page 23: Introduction to Linked Data and Web Payments

Web Payments SpecificationsDesignWeb Payments Design Principleshttps://web-payments.org/specs/source/design-principles/Web Payments Use Caseshttps://web-payments.org/specs/source/use-cases/ Web Payments Roadmaphttps://web-payments.org/specs/source/roadmap/

RecieptsWeb Commerce 1.0https://web-payments.org/specs/source/web-commerce/

ProductsWeb Commerce 1.0https://web-payments.org/specs/source/web-commerce/Web Pricing Indices 1.0https://web-payments.org/specs/source/web-price-indexes/

IdentityIdentity Credentials 1.0https://web-payments.org/specs/source/identity-credentials/

TransactionsWeb Payments 1.0https://web-payments.org/specs/source/web-payments/Web Commerce API 1.0https://web-payments.org/specs/source/web-commerce-api/Payment Intents 1.0https://web-payments.org/specs/source/payment-intents/Commerce Vocabularyhttps://web-payments.org/specs/source/vocabs/commerce.htmlPaySwarm Vocabularyhttps://web-payments.org/specs/source/vocabs/payswarm.htmlCredit and Debit Card Vocabularyhttps://web-payments.org/specs/source/vocabs/creditcard.html

SecuritySigning HTTP Messageshttps://web-payments.org/specs/source/http-signatures/HTTP Signature Nonceshttps://web-payments.org/specs/source/http-signature-nonces/HTTP Signature Trailershttps://web-payments.org/specs/source/http-signature-trailers/Secure Messaging 1.0https://web-payments.org/specs/source/secure-messaging/The Security Vocabularyhttps://web-payments.org/specs/source/vocabs/security.htmlSecurity Considerations for HTTP Signatureshttps://web-payments.org/specs/source/http-signatures-audit/

Page 24: Introduction to Linked Data and Web Payments

Web Payments with PaySwarm: Identity (part 1 of 3)

● Use Web Keys (now called secure messaging)

● Following the “Web Keys Demo - payswarm.js”<https://www.youtube.com/watch?v=S5WMkpoocSc>

- 1) Clone repository to local machine:

https://github.com/digitalbazaar/payswarm.js/

or run npm install payswarm

- 2) Set up an account at dev.payswarm.com (basically a developer sandbox for a PaySwarm Authority)

- 3) Run node register-new-key.js●

Page 25: Introduction to Linked Data and Web Payments

Web Payments with PaySwarm: Assets and Listings (part 2 of 3)

Page 26: Introduction to Linked Data and Web Payments

Web Payments with PaySwarm: Purchasing (part 3 of 3)