”smart containers - demo”daspos.crc.nd.edu/.../smartcontainers_jsweet.pdf · 2016. 5. 31. ·...

28
”Smart Containers - Demo” James Sweet, Charles Vardeman II

Upload: others

Post on 28-Sep-2020

8 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ”Smart Containers - Demo”daspos.crc.nd.edu/.../SmartContainers_JSweet.pdf · 2016. 5. 31. · Docker&Container& SC Python&wrapper&is& added&to&standard& Docker&container& 1 Provenance&and&

”Smart Containers - Demo”

James Sweet, Charles Vardeman II

Page 2: ”Smart Containers - Demo”daspos.crc.nd.edu/.../SmartContainers_JSweet.pdf · 2016. 5. 31. · Docker&Container& SC Python&wrapper&is& added&to&standard& Docker&container& 1 Provenance&and&

Smart  Containers    IN  PRACTICE:  Anatomy  of  a  Smart  Container  

Docker  Image  

Docker  ENGINE  

Docker  Container  

SC  

Python  wrapper  is  added  to  standard  Docker  container  1   Provenance  and  

metadata  are  wriBen  directly  to  image  label  -­‐  Machine-­‐readable  

-­‐  Enables  discovery  in  large  repositories  

2   Container  is  provisioned  as  a  “Smart  Container”:  -­‐  API  to  write  metadata  

-­‐  Metadata  storage  and  standardizaKon  

-­‐  SpecificaKon  of  data  locaKon  

3  

Page 3: ”Smart Containers - Demo”daspos.crc.nd.edu/.../SmartContainers_JSweet.pdf · 2016. 5. 31. · Docker&Container& SC Python&wrapper&is& added&to&standard& Docker&container& 1 Provenance&and&

Observation: Semantic Web Technologies provide a Standardized way to provide Context

Source: Picture, Mike  Gogulski  (CC  BY  2.5).  Krzysztof Janowicz, Frank van Harmelen, James A. Hendler, and Pascal Hitzler. “Why the Data Train Needs Semantic Rails.” AI Magazine, 2014. http://corescholar.libraries.wright.edu/cse/169/.

Page 4: ”Smart Containers - Demo”daspos.crc.nd.edu/.../SmartContainers_JSweet.pdf · 2016. 5. 31. · Docker&Container& SC Python&wrapper&is& added&to&standard& Docker&container& 1 Provenance&and&

Source: Krzysztof Janowicz, Frank van Harmelen, James A. Hendler, and Pascal Hitzler. “Why the Data Train Needs Semantic Rails.” AI Magazine, 2014. http://corescholar.libraries.wright.edu/cse/169/.

“A  major  paradigm  shiVs  introduced  by  the  SemanKc  Web  is  to  focus  on  the  creaKon  of  smart  data  instead  of  smart  applicaKons.  The  raKonale  behind  this  shiV  is  the  insight  that  smart  data  will  make  future  applicaKons  more  (re)usable,  flexible,  and  robust,  while  smarter  applicaKons  fail  to  improve  data  along  the  same  dimensions…”  

Page 5: ”Smart Containers - Demo”daspos.crc.nd.edu/.../SmartContainers_JSweet.pdf · 2016. 5. 31. · Docker&Container& SC Python&wrapper&is& added&to&standard& Docker&container& 1 Provenance&and&

How  can  containers  be  used  as  Scien&fic  Tools  such  that  we  can  provide  Context?  

Page 6: ”Smart Containers - Demo”daspos.crc.nd.edu/.../SmartContainers_JSweet.pdf · 2016. 5. 31. · Docker&Container& SC Python&wrapper&is& added&to&standard& Docker&container& 1 Provenance&and&

Smart  Containers  is  a  Transparent  drop-­‐in  replacement  for  the  Docker  python  API  and  command  line  interface  which  embeds  linked  data  within  the  container.  

Page 7: ”Smart Containers - Demo”daspos.crc.nd.edu/.../SmartContainers_JSweet.pdf · 2016. 5. 31. · Docker&Container& SC Python&wrapper&is& added&to&standard& Docker&container& 1 Provenance&and&

Source: Tim Berners-Lee, 2006-07-27, https://www.w3.org/DesignIssues/LinkedData.html

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.

Page 8: ”Smart Containers - Demo”daspos.crc.nd.edu/.../SmartContainers_JSweet.pdf · 2016. 5. 31. · Docker&Container& SC Python&wrapper&is& added&to&standard& Docker&container& 1 Provenance&and&

Ontology  Design  PaBern:  “reusable  successful  soluKon  to  a  recurrent  [ontology]  modeling  problem”  

Source:  Eva  Blomqvist,  Pascal  Hitzler,  Krzysztof  Janowicz,  Adila  Krisnadhi,  Tom  Narock,  and  Monika  Solanki.  “ConsideraKons  Regarding  Ontology  Design  PaBerns.”  Seman&c  Web  7,  no.  1  (2015):  1–7.  

Page 9: ”Smart Containers - Demo”daspos.crc.nd.edu/.../SmartContainers_JSweet.pdf · 2016. 5. 31. · Docker&Container& SC Python&wrapper&is& added&to&standard& Docker&container& 1 Provenance&and&

Source:  hBps://www.w3.org/TR/prov-­‐o/  

Page 10: ”Smart Containers - Demo”daspos.crc.nd.edu/.../SmartContainers_JSweet.pdf · 2016. 5. 31. · Docker&Container& SC Python&wrapper&is& added&to&standard& Docker&container& 1 Provenance&and&

Source:  hBps://www.w3.org/TR/prov-­‐o/  

Page 11: ”Smart Containers - Demo”daspos.crc.nd.edu/.../SmartContainers_JSweet.pdf · 2016. 5. 31. · Docker&Container& SC Python&wrapper&is& added&to&standard& Docker&container& 1 Provenance&and&

ORCID  ID’s  are  Smart  Containers  preferred  method  for  defining  human  agents  (Prov:Person)  vs.  a  Prov:SoVwareAgent  (i.e.  Docker)  

Page 12: ”Smart Containers - Demo”daspos.crc.nd.edu/.../SmartContainers_JSweet.pdf · 2016. 5. 31. · Docker&Container& SC Python&wrapper&is& added&to&standard& Docker&container& 1 Provenance&and&

 curl  -­‐-­‐header  "Accept:  text/turtle"  -­‐L  hBp://orcid.org/0000-­‐0003-­‐4091-­‐6059    <hBp://orcid.org/0000-­‐0003-­‐4091-­‐6059>                  a                                    prov:Person  ,  foaf:Person  ;                  rdfs:label                  "Charles  Vardeman  II"  ;                foaf:account              <hBp://orcid.org/0000-­‐0003-­‐4091-­‐6059#orcid-­‐id>  ;                foaf:based_near        [  a                                  gn:Feature  ;                                                    gn:countryCode        "US"  ;                                                          gn:parentCountry    <hBp://sws.geonames.org/6252001/>                                                      ]  ;                foaf:familyName        "Vardeman  II"  ;                foaf:givenName          "Charles"  ;                foaf:publicaKons    <hBp://orcid.org/0000-­‐0003-­‐4091-­‐6059#workspace-­‐works>  .  

Page 13: ”Smart Containers - Demo”daspos.crc.nd.edu/.../SmartContainers_JSweet.pdf · 2016. 5. 31. · Docker&Container& SC Python&wrapper&is& added&to&standard& Docker&container& 1 Provenance&and&

ObservaKon:  AcKvity  is  very  general.  We  need  a  Specializa&on  of  acKvity  that  models  Computa&onal  Ac&vity  

Page 14: ”Smart Containers - Demo”daspos.crc.nd.edu/.../SmartContainers_JSweet.pdf · 2016. 5. 31. · Docker&Container& SC Python&wrapper&is& added&to&standard& Docker&container& 1 Provenance&and&

Source:  hBps://github.com/Vocamp/ComputaKonalAcKvity  

Page 15: ”Smart Containers - Demo”daspos.crc.nd.edu/.../SmartContainers_JSweet.pdf · 2016. 5. 31. · Docker&Container& SC Python&wrapper&is& added&to&standard& Docker&container& 1 Provenance&and&

ObservaKon:  Computa2onal  Ac2vi2es  can  be  connected  to  provision  a  Computa2onal  Environment  

Page 16: ”Smart Containers - Demo”daspos.crc.nd.edu/.../SmartContainers_JSweet.pdf · 2016. 5. 31. · Docker&Container& SC Python&wrapper&is& added&to&standard& Docker&container& 1 Provenance&and&

We  can  describe  the  provenance  of  Docker  as  a  provider  of  a  ComputaKonal  Environment  that  then  instanKates  ComputaKonal  AcKviKes  

Page 17: ”Smart Containers - Demo”daspos.crc.nd.edu/.../SmartContainers_JSweet.pdf · 2016. 5. 31. · Docker&Container& SC Python&wrapper&is& added&to&standard& Docker&container& 1 Provenance&and&

hBps://github.com/codemeta/codemeta  

hBps://codemeta.github.io/  

CodeMeta  Effort  

Page 18: ”Smart Containers - Demo”daspos.crc.nd.edu/.../SmartContainers_JSweet.pdf · 2016. 5. 31. · Docker&Container& SC Python&wrapper&is& added&to&standard& Docker&container& 1 Provenance&and&

The  provenance  informaKon  is  saved  as  in  the  Docker  image  label  key/value  in  using  JSON-­‐LD  

Page 19: ”Smart Containers - Demo”daspos.crc.nd.edu/.../SmartContainers_JSweet.pdf · 2016. 5. 31. · Docker&Container& SC Python&wrapper&is& added&to&standard& Docker&container& 1 Provenance&and&

Demo  of  command  line  tool  

Page 20: ”Smart Containers - Demo”daspos.crc.nd.edu/.../SmartContainers_JSweet.pdf · 2016. 5. 31. · Docker&Container& SC Python&wrapper&is& added&to&standard& Docker&container& 1 Provenance&and&

How  do  we  ”tell”  the  machine  where  to  look  for  the  data  and  how  to  access  the  data?  

Page 21: ”Smart Containers - Demo”daspos.crc.nd.edu/.../SmartContainers_JSweet.pdf · 2016. 5. 31. · Docker&Container& SC Python&wrapper&is& added&to&standard& Docker&container& 1 Provenance&and&

Source:  hBps://www.w3.org/community/hydra/  

Page 22: ”Smart Containers - Demo”daspos.crc.nd.edu/.../SmartContainers_JSweet.pdf · 2016. 5. 31. · Docker&Container& SC Python&wrapper&is& added&to&standard& Docker&container& 1 Provenance&and&

Container  entry-­‐point  saved  using  the  Hydra-­‐Core  Vocabulary  specificaKon  the  Docker  image  in  JSON-­‐LD  so  clients  know  how  to  access  a  running  container.  

Page 23: ”Smart Containers - Demo”daspos.crc.nd.edu/.../SmartContainers_JSweet.pdf · 2016. 5. 31. · Docker&Container& SC Python&wrapper&is& added&to&standard& Docker&container& 1 Provenance&and&

Demo  Linked-­‐Data  Fragments  hBp://client.linkeddatafragments.org/  

Page 24: ”Smart Containers - Demo”daspos.crc.nd.edu/.../SmartContainers_JSweet.pdf · 2016. 5. 31. · Docker&Container& SC Python&wrapper&is& added&to&standard& Docker&container& 1 Provenance&and&

What  about  the  Data?  

Page 25: ”Smart Containers - Demo”daspos.crc.nd.edu/.../SmartContainers_JSweet.pdf · 2016. 5. 31. · Docker&Container& SC Python&wrapper&is& added&to&standard& Docker&container& 1 Provenance&and&

Source:  hBps://www.w3.org/TR/ldp/  

Page 26: ”Smart Containers - Demo”daspos.crc.nd.edu/.../SmartContainers_JSweet.pdf · 2016. 5. 31. · Docker&Container& SC Python&wrapper&is& added&to&standard& Docker&container& 1 Provenance&and&

Source:  hBps://www.w3.org/TR/ldp-­‐primer/  

Page 27: ”Smart Containers - Demo”daspos.crc.nd.edu/.../SmartContainers_JSweet.pdf · 2016. 5. 31. · Docker&Container& SC Python&wrapper&is& added&to&standard& Docker&container& 1 Provenance&and&

Smart  Containers  organize  data  inside  the  container  as  using  a  linked  data  plaworm  specificaKon  in  a  consistent  locaKon  (/data)  as  a  ldp:container.  The  provenance  informaKon  is  also  provided  as  a  ldp  resource.  

Page 28: ”Smart Containers - Demo”daspos.crc.nd.edu/.../SmartContainers_JSweet.pdf · 2016. 5. 31. · Docker&Container& SC Python&wrapper&is& added&to&standard& Docker&container& 1 Provenance&and&

Thank  You      

hBps://github.com/crcresearch/smartcontainers