SlideShare a Scribd company logo
1 of 85
Winter School on Knowledge Technologies for Complex Business Environments Linked Data and APIs Session 2: Linked APIs Steffen Stadtmüller, AIFB, KSRI, Karlsruhe Institute of Technology, DE Ljubljana, SLO, December 1 st , 2011
Attribution ,[object Object],[object Object],[object Object],[object Object],12/02/11 Linked APIs
Agenda ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],12/02/11 Linked APIs
Motivation ,[object Object],12/02/11 Linked APIs
Motivation: Linked Open Data 12/02/11 Linked APIs
Motivation: Dynamic Data ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],12/02/11 Linked APIs
Motivation: Triggering Functionalities ,[object Object],[object Object],[object Object],1 http://programmableweb.com 12/02/11 Linked APIs
Motivation: Triggering Functionalities ,[object Object],[object Object],[object Object],[object Object],[object Object],1 http://programmableweb.com 12/02/11 Linked APIs
Motivation ,[object Object],[object Object],[object Object],[object Object],[object Object],Manually drafted glue code 12/02/11 Linked APIs Structured  Semantic description Structured  Semantic description Structured  Semantic description
HTTP and REST ,[object Object],12/02/11 Linked APIs
HTTP Overview ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],12/02/11 Linked APIs
HTTP Overview ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],12/02/11 ,[object Object],[object Object],[object Object],[object Object],Linked APIs
HTTP conneg and Linked Data URI Lookup ,[object Object],[object Object],HTTP GET http://dbpedia.org/resource/India Accept: text/N3 Client Web Server 303 (see other) http://dbpedia.org/data/india.n3 12/02/11 Linked APIs
HTTP conneg and Linked Data URI Lookup ,[object Object],[object Object],HTTP GET http://dbpedia.org/resource/India Accept: text/html Client Web Server 303 (see other) http://dbpedia.org/page/india 12/02/11 Linked APIs
REST ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],12/02/11 Linked APIs
Design guidelines ,[object Object],12/02/11 Linked APIs
Linked APIs (LAPIS) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],…  aim to promote a scalable and efficient style of APIs, by bringing together:  12/02/11 Linked APIs
Linked APIs Guidelines ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],1 2 3 4 12/02/11 Linked APIs
API Descriptions ,[object Object],12/02/11 1 Describe API input and output as  SPARQL graph patterns Linked APIs
Linked API Description ,[object Object],[object Object],[object Object],[object Object],[object Object],12/02/11 Linked APIs Linked API Pattern Pattern Description (RDF+SPARQL) RDF in RDF out match match
Linked API resource URI ,[object Object],12/02/11 http://linkedapi.org/sn/getFriends ,[object Object],Linked APIs Linked API Pattern Pattern Description (RDF+SPARQL) RDF in RDF out match match
Linked API I/O Description ,[object Object],[object Object],12/02/11 http://linkedapi.org/sn/getFriends ?x a foaf:Person. ?x sn:id ?id. ?x foaf:knows ?y. ?y foaf:age ?age ?pic foaf:depicts ?y. ,[object Object],In: Out: Linked APIs Linked API Pattern Pattern Description (RDF+SPARQL) RDF in RDF out match match
Linked API Description ,[object Object],[object Object],12/02/11 http://linkedapi.org/sn/getFriends ?x a foaf:Person. ?x sn:id ?id. ?x foaf:knows ?y. ?y foaf:age ?age. ?pic foaf:depicts ?y. ,[object Object],In: Out: sn:getFriends rdf:type msm:Service; sawsdl:modelReference  [a msm:Precondition;  rdf:value  ” {?x a foaf:Person … } ”  ], [a msm:Postcondition;  rdf:value  ” { ?x foaf:knows ?y …  } ” ]. Embedded in RDF description Linked APIs Linked API Pattern Pattern Description (RDF+SPARQL) RDF in RDF out match match
Linked API Description ,[object Object],[object Object],12/02/11 ,[object Object],http://linkedapi.org/sn/getFriends/description HTTP GET Accept: text/N3 200 (ok) HTTP GET Accept: text/N3 303* (see other) * optional http://linkedapi.org/sn/getFriends sn:getFriends rdf:type msm:Service; sawsdl:modelReference  [a msm:Precondition;  rdf:value  ” {?x a foaf:Person … } ”  ], [a msm:Postcondition;  rdf:value  ” { ?x foaf:knows ?y …  } ” ]. Linked APIs Linked API Pattern Pattern Description (RDF+SPARQL) RDF in RDF out match match
API Interaction ,[object Object],12/02/11 2 Communicate RDF  by RESTful content negotiation Linked APIs
Linked API interaction ?x a foaf:Person. ?x sn:id ?id. ?x foaf:knows ?y. ?y foaf:age ?age ?pic foaf:depicts ?y ,[object Object],[object Object],[object Object],In: Out: ex:Steffen a foaf:Person. ex:Steffen  sn:id  “ abcde ” . ex:Steffen foaf:knows ex:Günter.   ex:Günter foaf:age  “ 29 ” . <http://...> foaf:depicts ex:Günter. http://linkedapi.org/sn/getFriends HTTP POST Response match match 12/02/11 Linked APIs Linked API Pattern Pattern Description (RDF+SPARQL) RDF in RDF out match match
Linked API Interaction 12/02/11 ,[object Object],ex:Steffen a foaf:Person. ex:Steffen  sn:id  “ abcde ” . ex:Steffen sn:id  “ 12345 ” . ex:Marko a foaf:Person. ex:Marko sn:id  “ xyz ” . http://linkedapi.org/sn/getFriends HTTP POST ?x a foaf:Person. ?x sn:id ?id. In: match Linked APIs Linked API Pattern Pattern Description (RDF+SPARQL) RDF in RDF out match match
Linked API Interaction 12/02/11 ,[object Object],ex:Steffen a foaf:Person. ex:Steffen  sn:id  “ abcde ” . ex:Steffen sn:id  “ 12345 ” . ex:Marko a foaf:Person. ex:Marko sn:id  “ xyz ” . ex:Steffen foaf:knows ex:Günter.   ex:Günter foaf:age  “ 29 ” . <http://...> foaf:depicts ex:Günter. ex:Steffen foaf:knows ex:Roland. ex:Roland foaf:age  “ 27 ” . <http://...> foaf:depicts ex:Roland. ex:Marko foaf:knows ex:Steffen. ... http://linkedapi.org/sn/getFriends HTTP POST Response ?x a foaf:Person. ?x sn:id ?id. In: Linked APIs Linked API Pattern Pattern Description (RDF+SPARQL) RDF in RDF out match match
Linked API Interaction 12/02/11 ,[object Object],ex:Steffen a foaf:Person. http://linkedapi.org/sn/getFriends HTTP POST ?x a foaf:Person. ?x sn:id ?id. In: no hit Linked APIs Linked API Pattern Pattern Description (RDF+SPARQL) RDF in RDF out match match
Linked API Interaction ,[object Object],12/02/11 ,[object Object],ex:Steffen a foaf:Person. ex:Steffen foaf:age  “ 27 ” . ex:Steffen sn:id  “ 12345 ” .  http://linkedapi.org/sn/getFriends HTTP POST ?x a foaf:Person. ?x sn:id ?id. In: Linked APIs Linked API Pattern Pattern Description (RDF+SPARQL) RDF in RDF out match match
Linked API Interaction ex:Steffen foaf:knows ex:Günter.   ex:Günter foaf:age  “ 29 ” . <http://...> foaf:depicts ex:Günter. ex:Steffen foaf:knows ex:Roland. ex:Roland foaf:age  “ 27 ” . <http://...> foaf:depicts ex:Roland. ex:Roland foaf:based_near  “ Karlsruhe ” . http://linkedapi.org/sn/getFriends Response ,[object Object],[object Object],?x foaf:knows ?y. ?y foaf:age ?age ?pic foaf:depicts ?y OPTIONAL (?y foaf:based_near ?loc) Out: 12/02/11 Linked APIs Linked APi Pattern Pattern Description (RDF+SPARQL) RDF in RDF out match match
Interlinking Data Sets with dynamic LAPIS data ,[object Object],[object Object],[object Object],[object Object],12/02/11 Linked APIs
Example: enriching CRM information  12/02/11 Linked APIs CRM Application    Customers #34 John Doe Address  #35 Steffen Stadtmüller Address #36 Jane Doe Address #37 …. Roland Stühmer #12 Günter Ladwig - known relations: static data dynamic data ?
LAPIS URIs to identify an API call 12/02/11 http://linkedapi.org/sn/getFriends ,[object Object],[object Object],?x a foaf:Person. ?x sn:id ?id. In: Linked APIs Linked API Pattern Pattern Description (RDF+SPARQL) RDF in RDF out match match
LAPIS URIs to identify an API call 12/02/11 http://linkedapi.org/sn/getFriends http://linkedapi.org/sn/getFriends?x= “ ex:Steffen ” &id=abcde ,[object Object],HTTP GET ?x a foaf:Person. ?x sn:id ?id. In: When the URI is called (via HTTP GET), the values are bound to the corresponding variables in the pattern, and valid input is created.  extend with k/v Linked APIs Linked API Pattern Pattern Description (RDF+SPARQL) RDF in RDF out match match
LAPIS URIs to identify an API call 12/02/11 http://linkedapi.org/sn/getFriends http://linkedapi.org/sn/getFriends?x= “ ex:Steffen ” &id=abcde ,[object Object],HTTP GET ex:Steffen a foaf:Person. ex:Steffen  sn:id  “ abcde ” . extend with k/v ?x a foaf:Person. ?x sn:id ?id. In: Linked APIs Linked API Pattern Pattern Description (RDF+SPARQL) RDF in RDF out match match
LAPIS URIs to identify an API call ,[object Object],[object Object],12/02/11 http://linkedapi.org/sn/getFriends ,[object Object],ex:Steffen a foaf:Person. ex:Steffen  sn:id  “ abcde ” . ex:Steffen foaf:knows ex:Günter.   ex:Günter foaf:age  “ 29 ” . <http://...> foaf:depicts ex:Günter. Linked APIs Linked API Pattern Pattern Description (RDF+SPARQL) RDF in RDF out match match
LAPIS URIs to identify an API call http://linkedapi.org/sn/getFriends ,[object Object],http://linkedapi.org/sn/getFriends?id=abcde HTTP GET extend with k/v ?x a foaf:Person. ?x sn:id ?id . In: 12/02/11 Linked APIs Linked API Pattern Pattern Description (RDF+SPARQL) RDF in RDF out match match
LAPIS URIs to identify an API call http:/linkedapi.org/sn/getFriends ,[object Object],http://linkedapi.org/sn/getFriends?id=abcde HTTP GET extend with k/v <http://linkedapi.org/sn/getFriends?id=abcde#person> foaf:knows ex:Günter.   ex:Günter foaf:age  “ 29 ” . <http://...> foaf:depicts ex:Günter. Response 12/02/11 Linked APIs Linked API Pattern Pattern Description (RDF+SPARQL) RDF in RDF out match match
Example: enriching CRM information  static data ex:Steffen a foaf:Person. ex:Steffen  sn:id  “ abcde ” . ex:Steffen owl:sameAs  < http://linkedapi.org/sn/getFriends?id=abcde#person> . HTTP GET 12/02/11 Linked APIs CRM Application    Customers #34 John Doe Address  #35 Steffen Stadtmüller Address #36 Jane Doe Address #37 …. Roland Stühmer #12 Günter Ladwig - known relations: dynamic data
LAPIS URIs to identify an API call 12/02/11 ?x foaf:knows ?y. ?y foaf:age ?age. ,[object Object],[object Object],Out: ex:Steffen foaf:knows ex:Günter.   ex:Günter foaf:age  “ 29 ” . ex:Steffen owl:sameAs  < http://linkedapi.org/sn/getFriends?id=abcde#person> .  http://linkedapi.org/sn/getFriends HTTP POST Response match Linked APIs Linked API Pattern Pattern Description (RDF+SPARQL) RDF in RDF out match match
Semantics ,[object Object],12/02/11 3 The  output  should make  explicit  its  relation  with the  input . Linked APIs
Looking at semantics ,[object Object],[object Object],[object Object],[object Object],1 http://www.w3.org/2002/ws/sawsdl/ Service Description Input: String Output: String, Integer 12/02/11 Linked APIs know Person Name Age ... Ontology has
Looking at semantics ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],?x a foaf:Person. ?x sn:id ?id. ?x foaf:knows ?y. ?y foaf:age ?age ?pic foaf:depicts ?y In: Out: 12/02/11 Linked APIs
Looking at semantics ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],?x a foaf:Person. ?x sn:id ?id. ?x foaf:knows ?y. ?y foaf:age ?age ?pic foaf:depicts ?y In: Out: „ The API will provide age and picture of someone X knows “ 12/02/11 Linked APIs
Looking at semantics ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],?x a foaf:Person. ?x sn:id ?id. ?y  foaf:knows  ?x . ?y foaf:age ?age ?pic foaf:depicts ?y In: Out: „ The API will provide age and picture of someone  who knows X “ 12/02/11 Linked APIs
Looking at semantics ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],?x a foaf:Person. ?x sn:id ?id. ?x  foaf:knows  ?y . ?x  foaf:age ?age ?pic foaf:depicts  ?x In: Out: „ The API will provide age and picture  of X and someone  he knows “ 12/02/11 Linked APIs
Leveraging the cloud to understand the API ,[object Object],[object Object],[object Object],API A Output: ?x  movie:actor  ?y .  API B Input: ?q a foaf:Person .  HTTP GET movie:actor rdfs:range foaf:Person. 12/02/11 Linked APIs
Wrapping techniques  ,[object Object],12/02/11 4 Make the  lifting/mapping open  as SPARQL CONSTRUCT  queries Linked APIs
Wrapping legacy APIs ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],12/02/11 Linked APIs
Wrapping legacy APIs ,[object Object],[object Object],[object Object],12/02/11 http://linkedapi.org/sn/getFriends HTTP GET / POST Response lowering lifting Linked APIs
Calling a LAPIS wrapper ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],12/02/11 http://legacy.org/API/getFriends/Karlsruhe/abcde/ fixed endpoint variable part Linked APIs
Calling a LAPIS wrapper ,[object Object],[object Object],[object Object],12/02/11 ex:Steffen a foaf:Person. ex:Steffen  sn:id  “ abcde ” . ex:Steffen foaf:based_near “ Karlsruhe ” . SELECT  ?loc ?user WHERE {    ?so sn:id ?user   ?so foaf:based_near ?loc } API Endpoint URI Karlsruhe, abcde http://legacy.org/API/getFriends/Karlsruhe/abcde/ HTTP POST Linked APIs
Building the response ,[object Object],[object Object],[object Object],12/02/11 1 Javascript Object Notation: http://json.org { „ Person “: { „ firstName “ : „Günter“, „ lastName “ : „Ladwig“, „ Age : 29, „ lives “: „Karlsruhe“ } „ Person “: { „ firstName “ : „Roland“, „ lastName “ : „Stühmer“, „ Age : 27, „ lives “: „Karlsruhe“ } } <xml> <Person> <firstName>Günter</firstName> <lastName>Ladwig</lastName> <Age>29</Age> <lives>Karlsruhe</lives> </Person> <Person> <firstName>Roland</firstName> <lastName>Stühmer</lastName> <Age>27</Age> <lives>Karlsruhe</lives> </Person> </xml> Linked APIs
Building the response ,[object Object],[object Object],[object Object],JSON/XML Person Person Karlsuhe Günter Ladwig 29 Roland ... A tree is also a graph! 12/02/11 Linked APIs
Building the response ,[object Object],[object Object],[object Object],{ „ Person “: { „ firstName “ : „Günter“, „ lastName “ : „Ladwig“, „ Age : 29, „ lives “: „Karlsruhe“ } „ Person “: { „ firstName “ : „Roland“, „ lastName “ : „Stühmer“, „ Age : 27, „ lives “: „Karlsruhe“ } } @prefix temp: <http://linkedapi.org/dummy#>. _:root temp:Person _:a. _:a temp:firstName „Günter “. _:a temp:lastName „Ladwig “. _:a temp:Age „29 “. _:a temp:lives „Karlsruhe “. _:root temp:Person _:b. _:b temp:firstName „Roland “. _:b temp:lastName „Stühmer “. _:b temp:Age „27 “. _:b temp:lives „Karlsruhe “. json2rdf 12/02/11 Linked APIs
Building the response ,[object Object],[object Object],[object Object],[object Object],12/02/11 Linked APIs
Building the response ,[object Object],_:root temp:Person _:a. _:a temp:firstName „Günter “. _:a temp:lastName „Ladwig “. _:a temp:Age „29 “. _:a temp:lives „Karlsruhe “. _:root temp:Person _:b. _:b temp:firstName „Roland “. _:b temp:lastName „Stühmer “. _:b temp:Age „27 “. _:b temp:lives „Karlsruhe “. ex:Steffen a foaf:Person. ex:Steffen  sn:id  “ abcde ” . ex:Steffen foaf:based_near  “ Karlsruhe ” . ,[object Object],[object Object],CONSTRUCT { ?x foaf:knows ?q. ?q foaf:givenName ?gn. ?q foaf:familyName ?fn. ?q foaf:age ?age. ?q foaf:based_near ?loc. } WHERE { ?x a foaf:Person. ?x sn:id ?id. ?r temp:Person ?y. ?y  temp:firstName ?gn. ?y temp:lastName ?fn. ?y temp:Age ?age. ?y temp:lives ?loc. BIND( URI( CONCAT(„http://... “, ?gn)) AS ?q) } 12/02/11 Linked APIs
Building the response ,[object Object],_:root temp:Person _:a. _:a temp:firstName „Günter “. _:a temp:lastName „Ladwig “. _:a temp:Age „28 “. _:a temp:lives „Karlsruhe “. _:root temp:Person _:b. _:b temp:firstName „Roland “. _:b temp:lastName „Stühmer “. _:b temp:Age „27 “. _:b temp:lives „Karlsruhe “. ex:Steffen a foaf:Person. ex:Steffen  sn:id  “ abcde ” . ex:Steffen foaf:based_near  “ Karlsruhe ” . CONSTRUCT { ?x foaf:knows ?q. ?q foaf:givenName ?gn. ?q foaf:familyName ?fn. ?q foaf:age ?age. ?q foaf:based_near ?loc. } WHERE { ?x a foaf:Person. ?x sn:id ?id. ?r temp:Person ?y. ?y  temp:firstName ?gn. ?y temp:lastName ?fn. ?y temp:Age ?age. ?y temp:lives ?loc. BIND( URI( CONCAT(„http://... “, ?gn)) AS ?q) } ,[object Object],[object Object],BIND(URI(CONCAT(„http://example.org/people# “, ?gn)) AS ?q) BIND(URI(  „http://example.org/people#Roland “) AS ?q) BIND(  <http://example.org/people#Roland>  AS ?q) „ Roland “ 12/02/11 Linked APIs
Building the response ,[object Object],_:root temp:Person _:a. _:a temp:firstName „Günter “. _:a temp:lastName „Ladwig “. _:a temp:Age „28 “. _:a temp:lives „Karlsruhe “. _:root temp:Person _:b. _:b temp:firstName „Roland “. _:b temp:lastName „Stühmer “. _:b temp:Age „27 “. _:b temp:lives „Karlsruhe “. ex:Steffen a foaf:Person. ex:Steffen  sn:id  “ abcde ” . ex:Steffen foaf:based_near  “ Karlsruhe ” . CONSTRUCT { ?x foaf:knows ?q. ?q foaf:givenName ?gn. ?q foaf:familyName ?fn. ?q foaf:age ?age. ?q foaf:based_near ?loc. } WHERE { ?x a foaf:Person. ?x sn:id ?id. ?r temp:Person ?y. ?y  temp:firstName ?gn. ?y temp:lastName ?fn. ?y temp:Age ?age. ?y temp:lives ?loc. BIND( URI( CONCAT(„http://... “, ?gn)) AS ?q) } ex:Steffen foaf:knows ex:Günter. ex:Steffen foaf:knows ex:Roland. ex:Günter  foaf:givenName „Günter “. ex:Günter  foaf:familyName „Ladwig “. ex:Günter  foaf:age „29 “. ex:Günter  foaf:based_near „Karlsruhe “. ex:Roland  foaf:givenName „Roland “. ex:Roland  foaf:familyName „Stühmer “. ex:Roland  foaf:age „27 “. ex:Roland  foaf:based_near „Karlsruhe “. 12/02/11 Linked APIs
Publish Lowering and Lifting Information ,[object Object],[object Object],12/02/11 Linked API Web service function ‘ Lifting ’ ‘ Lowering ’ RDF in RDF out What is the semantic behind the parameters that have to be used to call the service/API? What is the semantic behind the data the service/API replies to a request? Linked APIs
Publish Lowering and Lifting Information ,[object Object],[object Object],12/02/11 sn:getFriends a msm:Service; sn:getFriends sawsdl:modelReference _:pre.  _:pre a msm:Precondition. _:pre rdf:value  ” {?x a foaf:Person … } ”  . sn:getFriends sawsdl:modelReference _:post.  _:post a msm:Postcondition;  _:post rdf:value  ” { ?x foaf:knows ?y ...  } ” . sn:getFriends sawsdl:loweringSchemaMapping    <http://linkedapi.org/sn/getFriends/lowerig.sparql>. sn:getFriends sawsdl:liftingSchemaMapping   <http://linkedapi.org/sn/getFriends/lifting.sparql>. Linked APIs
Publish Lowering and Lifting Information ,[object Object],[object Object],sn:getFriends a msm:Service; sn:getFriends sawsdl:modelReference _:pre.  _:pre a msm:Precondition. _:pre rdf:value  ” {?x a foaf:Person … } ”  . sn:getFriends sawsdl:modelReference _:post.  _:post a msm:Postcondition;  _:post rdf:value  ” { ?x foaf:knows ?y ...  } ” . sn:getFriends sawsdl:loweringSchemaMapping    <http://linkedapi.org/sn/getFriends/lowerig.sparql>. sn:getFriends sawsdl:liftingSchemaMapping   <http://linkedapi.org/sn/getFriends/lifting.sparql>. 12/02/11 CONSTRUCT { ?x foaf:knows ?q. ?q foaf:givenName ?gn. ?q foaf:familyName ?fn. ?q foaf:age ?age. ?q foaf:based_near ?loc. } WHERE { ?x a foaf:Person ...  } SELECT  ?loc ?user WHERE {    ?so sn:id ?user   ?so foaf:based_near ?loc } HTTP GET HTTP GET Linked APIs
Real World Examples ,[object Object],12/02/11 Linked APIs
Real World Examples ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],12/02/11 Linked APIs
Bing2RDF Web Form ,[object Object],12/02/11 Linked APIs
Bing2RDF HTML Result ,[object Object],[object Object],12/02/11 Linked APIs
Use of another client ,[object Object],[object Object],Linked APIs 12/02/11
12/02/11 Linked APIs
12/02/11
Related Work ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Linked APIs 12/02/11
Summary ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Linked APIs 12/02/11
[object Object],12/02/11 Linked APIs
References ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],12/02/11 Linked APIs
Discovery of LAPIS ,[object Object],12/02/11 Linked APIs
The Idea: Linked APIs in the Cloud ,[object Object],[object Object],[object Object],{?me a foaf:Person} {?me foaf:knows ?x}  12/02/11 Linked APIs Input: Output:
Discovery of Linked APIs ,[object Object],[object Object],[object Object],[object Object],Templates 12/02/11 Linked APIs Input Output
Discovery as Graph Pattern Containment ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],12/02/11 Linked APIs
Discovery as Graph Pattern Containment Template: API Description: 12/02/11 Linked APIs { ?me a foaf:Person ; sn:id ?uid . } { ?me foaf:knows  [a foaf:person; foaf:name ?name; foaf:age ?age; foaf:openid ?oid] . } Input : Output : psr rsr dpc Input 0.5 1.0 NO Output 1.0 1.0 YES {?me a foaf:Person.} {?me foaf:knows  [a foaf:Person; foaf:name ?name; foaf:age ?age] . } Input: Output:
What about scalability? ,[object Object],[object Object],[object Object],[object Object],[object Object],1  https://hadoop.apache.org 12/02/11 Linked APIs
Evaluation ,[object Object],12/02/11 Linked APIs
Evaluation ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],12/02/11 Linked APIs
Evaluation seconds nodes 12/02/11 Linked APIs Nodes   sec mean (sec) standard deviation standard error 1 1. run 394 394.5 1.0 0.7 2. run 395 2 1. run 223 221 3.0 2.1 2. run 219 5 1. run 120 122 2.4 1.7 2. run 124 8 1. run 121 119 3.2 2.2 2. run 117 10 1. run 81 81.5 0.5 0.4 2. run 82
Evaluation ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],12/02/11 Linked APIs
Evaluation ,[object Object],[object Object],12/02/11 Linked APIs

More Related Content

What's hot

Creating APIs over RDF
Creating APIs over RDFCreating APIs over RDF
Creating APIs over RDFLeigh Dodds
 
Getting Started With The Talis Platform
Getting Started With The Talis PlatformGetting Started With The Talis Platform
Getting Started With The Talis PlatformLeigh Dodds
 
W3C Web Annotation WG Update (I Annotate 2016)
W3C Web Annotation WG Update (I Annotate 2016)W3C Web Annotation WG Update (I Annotate 2016)
W3C Web Annotation WG Update (I Annotate 2016)Robert Sanderson
 
Querying data on the Web – client or server?
Querying data on the Web – client or server?Querying data on the Web – client or server?
Querying data on the Web – client or server?Ruben Verborgh
 
Facet: Building Web Pages with SPARQL
Facet: Building Web Pages with SPARQLFacet: Building Web Pages with SPARQL
Facet: Building Web Pages with SPARQLLeigh Dodds
 
Linked Data Driven Data Virtualization for Web-scale Integration
Linked Data Driven Data Virtualization for Web-scale IntegrationLinked Data Driven Data Virtualization for Web-scale Integration
Linked Data Driven Data Virtualization for Web-scale Integrationrumito
 
Single-Source Publishing Across Multiple Formats with George Bina and Radu Co...
Single-Source Publishing Across Multiple Formats with George Bina and Radu Co...Single-Source Publishing Across Multiple Formats with George Bina and Radu Co...
Single-Source Publishing Across Multiple Formats with George Bina and Radu Co...Information Development World
 
ELUNA2013:Providing Voyager catalog data in a custom, open source web applica...
ELUNA2013:Providing Voyager catalog data in a custom, open source web applica...ELUNA2013:Providing Voyager catalog data in a custom, open source web applica...
ELUNA2013:Providing Voyager catalog data in a custom, open source web applica...Michael Cummings
 
Initial Usage Analysis of DBpedia's Triple Pattern Fragments
Initial Usage Analysis of DBpedia's Triple Pattern FragmentsInitial Usage Analysis of DBpedia's Triple Pattern Fragments
Initial Usage Analysis of DBpedia's Triple Pattern FragmentsRuben Verborgh
 
RDF and SPARQL for PHP Developers (at New York Semantic Web Meetup)
RDF and SPARQL for PHP Developers (at New York Semantic Web Meetup)RDF and SPARQL for PHP Developers (at New York Semantic Web Meetup)
RDF and SPARQL for PHP Developers (at New York Semantic Web Meetup)Benjamin Nowack
 
DC-2008 Tutorial 3 - Dublin Core and other metadata schemas
DC-2008 Tutorial 3 - Dublin Core and other metadata schemasDC-2008 Tutorial 3 - Dublin Core and other metadata schemas
DC-2008 Tutorial 3 - Dublin Core and other metadata schemasMikael Nilsson
 
Linked Data Planet Key Note
Linked Data Planet Key NoteLinked Data Planet Key Note
Linked Data Planet Key Noterumito
 
Comparative Study That Aims Rdf Processing For The Java Platform
Comparative Study That Aims Rdf Processing For The Java PlatformComparative Study That Aims Rdf Processing For The Java Platform
Comparative Study That Aims Rdf Processing For The Java PlatformComputer Science
 
Semantic Web Servers
Semantic Web ServersSemantic Web Servers
Semantic Web Serverswebhostingguy
 
20080917 Rev
20080917 Rev20080917 Rev
20080917 Revcharper
 
Deploying PHP applications using Virtuoso as Application Server
Deploying PHP applications using Virtuoso as Application ServerDeploying PHP applications using Virtuoso as Application Server
Deploying PHP applications using Virtuoso as Application Serverwebhostingguy
 

What's hot (20)

.Net and Rdf APIs
.Net and Rdf APIs.Net and Rdf APIs
.Net and Rdf APIs
 
Creating APIs over RDF
Creating APIs over RDFCreating APIs over RDF
Creating APIs over RDF
 
Getting Started With The Talis Platform
Getting Started With The Talis PlatformGetting Started With The Talis Platform
Getting Started With The Talis Platform
 
W3C Web Annotation WG Update (I Annotate 2016)
W3C Web Annotation WG Update (I Annotate 2016)W3C Web Annotation WG Update (I Annotate 2016)
W3C Web Annotation WG Update (I Annotate 2016)
 
Querying data on the Web – client or server?
Querying data on the Web – client or server?Querying data on the Web – client or server?
Querying data on the Web – client or server?
 
Facet: Building Web Pages with SPARQL
Facet: Building Web Pages with SPARQLFacet: Building Web Pages with SPARQL
Facet: Building Web Pages with SPARQL
 
Linked Data Driven Data Virtualization for Web-scale Integration
Linked Data Driven Data Virtualization for Web-scale IntegrationLinked Data Driven Data Virtualization for Web-scale Integration
Linked Data Driven Data Virtualization for Web-scale Integration
 
Single-Source Publishing Across Multiple Formats with George Bina and Radu Co...
Single-Source Publishing Across Multiple Formats with George Bina and Radu Co...Single-Source Publishing Across Multiple Formats with George Bina and Radu Co...
Single-Source Publishing Across Multiple Formats with George Bina and Radu Co...
 
Reasoned SPARQL
Reasoned SPARQLReasoned SPARQL
Reasoned SPARQL
 
2010 Sopac Cosugi
2010 Sopac Cosugi2010 Sopac Cosugi
2010 Sopac Cosugi
 
ELUNA2013:Providing Voyager catalog data in a custom, open source web applica...
ELUNA2013:Providing Voyager catalog data in a custom, open source web applica...ELUNA2013:Providing Voyager catalog data in a custom, open source web applica...
ELUNA2013:Providing Voyager catalog data in a custom, open source web applica...
 
Initial Usage Analysis of DBpedia's Triple Pattern Fragments
Initial Usage Analysis of DBpedia's Triple Pattern FragmentsInitial Usage Analysis of DBpedia's Triple Pattern Fragments
Initial Usage Analysis of DBpedia's Triple Pattern Fragments
 
RDF and SPARQL for PHP Developers (at New York Semantic Web Meetup)
RDF and SPARQL for PHP Developers (at New York Semantic Web Meetup)RDF and SPARQL for PHP Developers (at New York Semantic Web Meetup)
RDF and SPARQL for PHP Developers (at New York Semantic Web Meetup)
 
DC-2008 Tutorial 3 - Dublin Core and other metadata schemas
DC-2008 Tutorial 3 - Dublin Core and other metadata schemasDC-2008 Tutorial 3 - Dublin Core and other metadata schemas
DC-2008 Tutorial 3 - Dublin Core and other metadata schemas
 
Linked Data Planet Key Note
Linked Data Planet Key NoteLinked Data Planet Key Note
Linked Data Planet Key Note
 
Comparative Study That Aims Rdf Processing For The Java Platform
Comparative Study That Aims Rdf Processing For The Java PlatformComparative Study That Aims Rdf Processing For The Java Platform
Comparative Study That Aims Rdf Processing For The Java Platform
 
Semantic Web Servers
Semantic Web ServersSemantic Web Servers
Semantic Web Servers
 
IIIF: Shared Canvas 2.0
IIIF: Shared Canvas 2.0IIIF: Shared Canvas 2.0
IIIF: Shared Canvas 2.0
 
20080917 Rev
20080917 Rev20080917 Rev
20080917 Rev
 
Deploying PHP applications using Virtuoso as Application Server
Deploying PHP applications using Virtuoso as Application ServerDeploying PHP applications using Virtuoso as Application Server
Deploying PHP applications using Virtuoso as Application Server
 

Similar to Tutorial Linked APIs

Linked Data Tutorial
Linked Data TutorialLinked Data Tutorial
Linked Data TutorialSören Auer
 
Modern PHP RDF toolkits: a comparative study
Modern PHP RDF toolkits: a comparative studyModern PHP RDF toolkits: a comparative study
Modern PHP RDF toolkits: a comparative studyMarius Butuc
 
Publishing Linked Data 3/5 Semtech2011
Publishing Linked Data 3/5 Semtech2011Publishing Linked Data 3/5 Semtech2011
Publishing Linked Data 3/5 Semtech2011Juan Sequeda
 
Epiphany: Adaptable RDFa Generation Linking the Web of Documents to the Web o...
Epiphany: Adaptable RDFa Generation Linking the Web of Documents to the Web o...Epiphany: Adaptable RDFa Generation Linking the Web of Documents to the Web o...
Epiphany: Adaptable RDFa Generation Linking the Web of Documents to the Web o...Benjamin Adrian
 
Triplestore and SPARQL
Triplestore and SPARQLTriplestore and SPARQL
Triplestore and SPARQLLino Valdivia
 
Swap For Dummies Rsp 2007 11 29
Swap For Dummies Rsp 2007 11 29Swap For Dummies Rsp 2007 11 29
Swap For Dummies Rsp 2007 11 29Julie Allinson
 
Resource description framework
Resource description frameworkResource description framework
Resource description frameworkhozifa1010
 
LOD(Linked Open Data) Recommendations
LOD(Linked Open Data) RecommendationsLOD(Linked Open Data) Recommendations
LOD(Linked Open Data) RecommendationsMyungjin Lee
 
SemanticWeb Nuts 'n Bolts
SemanticWeb Nuts 'n BoltsSemanticWeb Nuts 'n Bolts
SemanticWeb Nuts 'n BoltsRinke Hoekstra
 
Semantic Pipes and Semantic Mashups
Semantic Pipes and Semantic MashupsSemantic Pipes and Semantic Mashups
Semantic Pipes and Semantic Mashupsgiurca
 
Phalcon 2 High Performance APIs - DevWeekPOA 2015
Phalcon 2 High Performance APIs - DevWeekPOA 2015Phalcon 2 High Performance APIs - DevWeekPOA 2015
Phalcon 2 High Performance APIs - DevWeekPOA 2015Jackson F. de A. Mafra
 
Hack U Barcelona 2011
Hack U Barcelona 2011Hack U Barcelona 2011
Hack U Barcelona 2011Peter Mika
 
OpenCalais in Linked Data context
OpenCalais in Linked Data contextOpenCalais in Linked Data context
OpenCalais in Linked Data contexteldorina
 
State of the Semantic Web
State of the Semantic WebState of the Semantic Web
State of the Semantic WebIvan Herman
 

Similar to Tutorial Linked APIs (20)

Linked Data Tutorial
Linked Data TutorialLinked Data Tutorial
Linked Data Tutorial
 
Modern PHP RDF toolkits: a comparative study
Modern PHP RDF toolkits: a comparative studyModern PHP RDF toolkits: a comparative study
Modern PHP RDF toolkits: a comparative study
 
Linked Data
Linked DataLinked Data
Linked Data
 
Publishing Linked Data 3/5 Semtech2011
Publishing Linked Data 3/5 Semtech2011Publishing Linked Data 3/5 Semtech2011
Publishing Linked Data 3/5 Semtech2011
 
STI Summit 2011 - Linked data-services-streams
STI Summit 2011 - Linked data-services-streamsSTI Summit 2011 - Linked data-services-streams
STI Summit 2011 - Linked data-services-streams
 
Epiphany: Adaptable RDFa Generation Linking the Web of Documents to the Web o...
Epiphany: Adaptable RDFa Generation Linking the Web of Documents to the Web o...Epiphany: Adaptable RDFa Generation Linking the Web of Documents to the Web o...
Epiphany: Adaptable RDFa Generation Linking the Web of Documents to the Web o...
 
Triplestore and SPARQL
Triplestore and SPARQLTriplestore and SPARQL
Triplestore and SPARQL
 
Swap For Dummies Rsp 2007 11 29
Swap For Dummies Rsp 2007 11 29Swap For Dummies Rsp 2007 11 29
Swap For Dummies Rsp 2007 11 29
 
Resource description framework
Resource description frameworkResource description framework
Resource description framework
 
LOD(Linked Open Data) Recommendations
LOD(Linked Open Data) RecommendationsLOD(Linked Open Data) Recommendations
LOD(Linked Open Data) Recommendations
 
SemanticWeb Nuts 'n Bolts
SemanticWeb Nuts 'n BoltsSemanticWeb Nuts 'n Bolts
SemanticWeb Nuts 'n Bolts
 
Semantic Pipes and Semantic Mashups
Semantic Pipes and Semantic MashupsSemantic Pipes and Semantic Mashups
Semantic Pipes and Semantic Mashups
 
Web Topics
Web TopicsWeb Topics
Web Topics
 
Rest web service
Rest web serviceRest web service
Rest web service
 
Data in RDF
Data in RDFData in RDF
Data in RDF
 
Phalcon 2 High Performance APIs - DevWeekPOA 2015
Phalcon 2 High Performance APIs - DevWeekPOA 2015Phalcon 2 High Performance APIs - DevWeekPOA 2015
Phalcon 2 High Performance APIs - DevWeekPOA 2015
 
Hacia la Internet del Futuro: Web Semántica y Open Linked Data, Parte 2
Hacia la Internet del Futuro: Web Semántica y Open Linked Data, Parte 2Hacia la Internet del Futuro: Web Semántica y Open Linked Data, Parte 2
Hacia la Internet del Futuro: Web Semántica y Open Linked Data, Parte 2
 
Hack U Barcelona 2011
Hack U Barcelona 2011Hack U Barcelona 2011
Hack U Barcelona 2011
 
OpenCalais in Linked Data context
OpenCalais in Linked Data contextOpenCalais in Linked Data context
OpenCalais in Linked Data context
 
State of the Semantic Web
State of the Semantic WebState of the Semantic Web
State of the Semantic Web
 

Recently uploaded

Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 

Recently uploaded (20)

Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 

Tutorial Linked APIs

  • 1. Winter School on Knowledge Technologies for Complex Business Environments Linked Data and APIs Session 2: Linked APIs Steffen Stadtmüller, AIFB, KSRI, Karlsruhe Institute of Technology, DE Ljubljana, SLO, December 1 st , 2011
  • 2.
  • 3.
  • 4.
  • 5. Motivation: Linked Open Data 12/02/11 Linked APIs
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33. Example: enriching CRM information 12/02/11 Linked APIs CRM Application Customers #34 John Doe Address #35 Steffen Stadtmüller Address #36 Jane Doe Address #37 …. Roland Stühmer #12 Günter Ladwig - known relations: static data dynamic data ?
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40. Example: enriching CRM information static data ex:Steffen a foaf:Person. ex:Steffen sn:id “ abcde ” . ex:Steffen owl:sameAs < http://linkedapi.org/sn/getFriends?id=abcde#person> . HTTP GET 12/02/11 Linked APIs CRM Application Customers #34 John Doe Address #35 Steffen Stadtmüller Address #36 Jane Doe Address #37 …. Roland Stühmer #12 Günter Ladwig - known relations: dynamic data
  • 41.
  • 42.
  • 43.
  • 44.
  • 45.
  • 46.
  • 47.
  • 48.
  • 49.
  • 50.
  • 51.
  • 52.
  • 53.
  • 54.
  • 55.
  • 56.
  • 57.
  • 58.
  • 59.
  • 60.
  • 61.
  • 62.
  • 63.
  • 64.
  • 65.
  • 66.
  • 67.
  • 68.
  • 71.
  • 72.
  • 73.
  • 74.
  • 75.
  • 76.
  • 77.
  • 78.
  • 79. Discovery as Graph Pattern Containment Template: API Description: 12/02/11 Linked APIs { ?me a foaf:Person ; sn:id ?uid . } { ?me foaf:knows [a foaf:person; foaf:name ?name; foaf:age ?age; foaf:openid ?oid] . } Input : Output : psr rsr dpc Input 0.5 1.0 NO Output 1.0 1.0 YES {?me a foaf:Person.} {?me foaf:knows [a foaf:Person; foaf:name ?name; foaf:age ?age] . } Input: Output:
  • 80.
  • 81.
  • 82.
  • 83. Evaluation seconds nodes 12/02/11 Linked APIs Nodes   sec mean (sec) standard deviation standard error 1 1. run 394 394.5 1.0 0.7 2. run 395 2 1. run 223 221 3.0 2.1 2. run 219 5 1. run 120 122 2.4 1.7 2. run 124 8 1. run 121 119 3.2 2.2 2. run 117 10 1. run 81 81.5 0.5 0.4 2. run 82
  • 84.
  • 85.

Editor's Notes

  1. Prof. Dr. Max Mustermann | Musterfakultät
  2. Calculation is not necessarily to be understood in a mathematical sense. Prof. Dr. Max Mustermann | Musterfakultät
  3. Prof. Dr. Max Mustermann | Musterfakultät
  4. 2xx: ok 3xx:somewhere else 4xx: client error 5xx: server error Prof. Dr. Max Mustermann | Musterfakultät
  5. Implicit knowledge – if you call a service with input ‚Vienna ‘ and get output ‚20C ‘ , the implicit knowledge is that 20C is the temperature at the last report in Vienna (+ provenenance = ‚ according to ... ‘ ) Prof. Dr. Max Mustermann | Musterfakultät
  6. Also content negotiation: text/html -&gt; sn site Prof. Dr. Max Mustermann | Musterfakultät
  7. NOTE hashtag!!! Prof. Dr. Max Mustermann | Musterfakultät
  8. Prof. Dr. Max Mustermann | Musterfakultät
  9. Prof. Dr. Max Mustermann | Musterfakultät
  10. Prof. Dr. Max Mustermann | Musterfakultät
  11. Prof. Dr. Max Mustermann | Musterfakultät
  12. HashTag! Because we need a non-information URI to identify the entity Prof. Dr. Max Mustermann | Musterfakultät
  13. Remember pattern only constraining! Prof. Dr. Max Mustermann | Musterfakultät
  14. Prof. Dr. Max Mustermann | Musterfakultät
  15. Prof. Dr. Max Mustermann | Musterfakultät
  16. Prof. Dr. Max Mustermann | Musterfakultät
  17. Prof. Dr. Max Mustermann | Musterfakultät
  18. Self explenation also leverages schemas from the LOD cloud Prof. Dr. Max Mustermann | Musterfakultät
  19. Don ‘t confuse SELECT query with input pattern (subset relationship) Prof. Dr. Max Mustermann | Musterfakultät
  20. Explain: worknode – namenode! Additionally: probabilities, that variables are used in certain positions Size of local and global resource and predicate pools to draw from Prof. Dr. Max Mustermann | Musterfakultät
  21. 1-5: scales well. 5-8: no further decrease 10 worknodes: further, though diminishing decrease in time One maptask is very small Prof. Dr. Max Mustermann | Musterfakultät
  22. Aiming at several mio Prof. Dr. Max Mustermann | Musterfakultät