”smart containers - demo”daspos.crc.nd.edu/.../smartcontainers_jsweet.pdf · 2016. 5. 31. ·...
TRANSCRIPT
”Smart Containers - Demo”
James Sweet, Charles Vardeman II
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
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/.
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…”
How can containers be used as Scien&fic Tools such that we can provide Context?
Smart Containers is a Transparent drop-‐in replacement for the Docker python API and command line interface which embeds linked data within the container.
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.
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.
Source: hBps://www.w3.org/TR/prov-‐o/
Source: hBps://www.w3.org/TR/prov-‐o/
ORCID ID’s are Smart Containers preferred method for defining human agents (Prov:Person) vs. a Prov:SoVwareAgent (i.e. Docker)
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> .
ObservaKon: AcKvity is very general. We need a Specializa&on of acKvity that models Computa&onal Ac&vity
Source: hBps://github.com/Vocamp/ComputaKonalAcKvity
ObservaKon: Computa2onal Ac2vi2es can be connected to provision a Computa2onal Environment
We can describe the provenance of Docker as a provider of a ComputaKonal Environment that then instanKates ComputaKonal AcKviKes
hBps://github.com/codemeta/codemeta
hBps://codemeta.github.io/
CodeMeta Effort
The provenance informaKon is saved as in the Docker image label key/value in using JSON-‐LD
Demo of command line tool
How do we ”tell” the machine where to look for the data and how to access the data?
Source: hBps://www.w3.org/community/hydra/
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.
Demo Linked-‐Data Fragments hBp://client.linkeddatafragments.org/
What about the Data?
Source: hBps://www.w3.org/TR/ldp/
Source: hBps://www.w3.org/TR/ldp-‐primer/
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.
Thank You
hBps://github.com/crcresearch/smartcontainers