SlideShare a Scribd company logo
1 of 20
Download to read offline
PyOSLC
The Python SDK for OSLC APIs
Mario Jiménez Carrasco
Senior Developer at Koneksys
OSLC FEST
May 19, 2020
Who am I ?
2
Mario Jiménez Carrasco
Senior Developer at Koneksys
Backend developer with Java & Python ❤
Worked with JAX-RS, Spring, Flask among others to
develop REST services for OSLC, Linked Data solutions
and integration with IBM CLM applications such as DNG,
RQM, RTC.
email: mario.carrasco@koneksys.com
PyOSLC Architecture
3
Data
GET
POST
PUT
DELETE
OSLC API
Client
Request
Response/Body
in RDFRDF Lib
Python
Example Data: CSV Files About Requirements
4
Data
= Multiple CSV files
GET
POST
PUT
DELETE
OSLC API
Client
CSV
OSLC Core Resources
5
Data = Multiple CSV
files
GET
POST
PUT
DELETE
Mapping between Data and OSLC Concepts
6
CSV
One cvs file corresponds to
one container, aka OSLC
ServiceProvider
One row in the csv file describes one
requirement, aka OSLC Resource
Curl for GET on SPC
OSLC Service Provider Catalog
7
Curl for GET on query resource
GET All Requirements Request
8
Curl for GET on requirement
GET Specific Requirement Request
9
The RDF representation of requirements comply with the OSLC specification for
Requirement Management.
RM spec
10
PyOSLC requires some topics for the implementation of an OSLC API
- OSLC resource types described as Python classes and objects
- Python objects need to translated to RDF
- Decoration of classes and methods for using the Swagger doc for simpler OSLC
API consumption
Implementation topic
11
The PyOSLC contains decorators (annotations) which are used to generate the
Open API spec, from which the HTML doc is generated.
Swagger Doc
12
OSLC Resources described as Python Classes
13
The PyOSLC project defines the classes
required to implement an OSLC
Resource Classes
OSLC Requirement Resources described as Python Class
14
The PyOSLC project defines the classes
required to implement an OSLC
Resource Classes
RDF Vocabularies as Python Closed List
15
The PyOSLC project defines the vocabularies required
for managing the concepts defined by the specification.
OSLC Core / RM
vocabulary
Mapping
16
Requirement /
Specification
attributes
Dictionary to create a relation
between the external data
attributes with the defined
resource attributes, here is an
example for mapping
Requirement.
Translation of Python objects to RDF
17
Python object OSLC - RDF/XML
Transformation from Python to RDF
18
The capability to (un-)marshalling from python objects to RDF and vice versa.
Here is an example of how the requirement loaded from the CSV file is converted
from a Specification into a Requirement.
Python Objects
Python Object RDF(un-)marshalling method
Next Steps
19
Rootservices
Implementation
of elements to
add a PyOSLC
API as a friend or
consumer.
Service Provider
Specific Domain
for managing
resources,
example:
Requirements.
Authentication
Enable OAuth for
managing
authentication to
interact with Jazz
Delegated Dialog
Integration of
Delegated
Dialogs to show
resources with
the Jazz
applications.
Final Goal
Open Source release
20
Thanks!!
Does anyone have any questions?
mario.carrasco@koneksys.com

More Related Content

What's hot

Enabling the digital thread using open OSLC standards
Enabling the digital thread using open OSLC standardsEnabling the digital thread using open OSLC standards
Enabling the digital thread using open OSLC standardsAxel Reichwein
 
OSLC & The Future of Interoperability
OSLC & The Future of InteroperabilityOSLC & The Future of Interoperability
OSLC & The Future of InteroperabilityKoneksys
 
Data Integration Solutions Created By Koneksys
Data Integration Solutions Created By KoneksysData Integration Solutions Created By Koneksys
Data Integration Solutions Created By KoneksysKoneksys
 
Koneksys - Offering Services to Connect Data using the Data Web
Koneksys - Offering Services to Connect Data using the Data WebKoneksys - Offering Services to Connect Data using the Data Web
Koneksys - Offering Services to Connect Data using the Data WebKoneksys
 
The Data Web and PLM
The Data Web and PLMThe Data Web and PLM
The Data Web and PLMKoneksys
 
How to build high frequency trading with our matlab secrets with c++ and mysql
How to build high frequency trading with our matlab secrets with c++ and mysqlHow to build high frequency trading with our matlab secrets with c++ and mysql
How to build high frequency trading with our matlab secrets with c++ and mysqlBryan Downing
 
Semantics on services: the story so far (SALAD2015 keynote at ESWC2015)
Semantics on services: the story so far (SALAD2015 keynote at ESWC2015)Semantics on services: the story so far (SALAD2015 keynote at ESWC2015)
Semantics on services: the story so far (SALAD2015 keynote at ESWC2015)Sergio Fernández
 
Redlink, The Data Linking API
Redlink, The Data Linking APIRedlink, The Data Linking API
Redlink, The Data Linking APISergio Fernández
 
Build Business Web Applications with PHPOpenbiz Framework and Cubi Platform
Build Business Web Applications with PHPOpenbiz Framework and Cubi PlatformBuild Business Web Applications with PHPOpenbiz Framework and Cubi Platform
Build Business Web Applications with PHPOpenbiz Framework and Cubi PlatformAgus Suhartono
 
Towards a Resource Slice Interoperability Hub for IoT
Towards a Resource Slice Interoperability Hub for IoTTowards a Resource Slice Interoperability Hub for IoT
Towards a Resource Slice Interoperability Hub for IoTHong-Linh Truong
 
Serena Mainframe VUG In-Com
Serena Mainframe VUG In-Com Serena Mainframe VUG In-Com
Serena Mainframe VUG In-Com Serena Software
 
Introduction to GraphQL
Introduction to GraphQLIntroduction to GraphQL
Introduction to GraphQLRodrigo Prates
 
Towards a Commons RDF Library - ApacheCon Europe 2014
Towards a Commons RDF Library - ApacheCon Europe 2014Towards a Commons RDF Library - ApacheCon Europe 2014
Towards a Commons RDF Library - ApacheCon Europe 2014Sergio Fernández
 
Fl2008 b3mileyluzardoportfolio
Fl2008 b3mileyluzardoportfolioFl2008 b3mileyluzardoportfolio
Fl2008 b3mileyluzardoportfolioguestde3dbb3
 
Software Defined Networking - Next-Gen Enterprise Networks
Software Defined Networking - Next-Gen Enterprise NetworksSoftware Defined Networking - Next-Gen Enterprise Networks
Software Defined Networking - Next-Gen Enterprise NetworksOpen Networking Summits
 
Simplified minimalistic workflows for the publication of Linked Open Data
Simplified minimalistic workflows for the publication of Linked Open DataSimplified minimalistic workflows for the publication of Linked Open Data
Simplified minimalistic workflows for the publication of Linked Open DataSalvatore Virtuoso
 

What's hot (18)

Enabling the digital thread using open OSLC standards
Enabling the digital thread using open OSLC standardsEnabling the digital thread using open OSLC standards
Enabling the digital thread using open OSLC standards
 
OSLC & The Future of Interoperability
OSLC & The Future of InteroperabilityOSLC & The Future of Interoperability
OSLC & The Future of Interoperability
 
Data Integration Solutions Created By Koneksys
Data Integration Solutions Created By KoneksysData Integration Solutions Created By Koneksys
Data Integration Solutions Created By Koneksys
 
Koneksys - Offering Services to Connect Data using the Data Web
Koneksys - Offering Services to Connect Data using the Data WebKoneksys - Offering Services to Connect Data using the Data Web
Koneksys - Offering Services to Connect Data using the Data Web
 
The Data Web and PLM
The Data Web and PLMThe Data Web and PLM
The Data Web and PLM
 
How to build high frequency trading with our matlab secrets with c++ and mysql
How to build high frequency trading with our matlab secrets with c++ and mysqlHow to build high frequency trading with our matlab secrets with c++ and mysql
How to build high frequency trading with our matlab secrets with c++ and mysql
 
Semantics on services: the story so far (SALAD2015 keynote at ESWC2015)
Semantics on services: the story so far (SALAD2015 keynote at ESWC2015)Semantics on services: the story so far (SALAD2015 keynote at ESWC2015)
Semantics on services: the story so far (SALAD2015 keynote at ESWC2015)
 
Redlink, The Data Linking API
Redlink, The Data Linking APIRedlink, The Data Linking API
Redlink, The Data Linking API
 
Build Business Web Applications with PHPOpenbiz Framework and Cubi Platform
Build Business Web Applications with PHPOpenbiz Framework and Cubi PlatformBuild Business Web Applications with PHPOpenbiz Framework and Cubi Platform
Build Business Web Applications with PHPOpenbiz Framework and Cubi Platform
 
Towards a Resource Slice Interoperability Hub for IoT
Towards a Resource Slice Interoperability Hub for IoTTowards a Resource Slice Interoperability Hub for IoT
Towards a Resource Slice Interoperability Hub for IoT
 
Serena Mainframe VUG In-Com
Serena Mainframe VUG In-Com Serena Mainframe VUG In-Com
Serena Mainframe VUG In-Com
 
Introduction to GraphQL
Introduction to GraphQLIntroduction to GraphQL
Introduction to GraphQL
 
Gaurang Resume
Gaurang ResumeGaurang Resume
Gaurang Resume
 
Gaurang Resume
Gaurang ResumeGaurang Resume
Gaurang Resume
 
Towards a Commons RDF Library - ApacheCon Europe 2014
Towards a Commons RDF Library - ApacheCon Europe 2014Towards a Commons RDF Library - ApacheCon Europe 2014
Towards a Commons RDF Library - ApacheCon Europe 2014
 
Fl2008 b3mileyluzardoportfolio
Fl2008 b3mileyluzardoportfolioFl2008 b3mileyluzardoportfolio
Fl2008 b3mileyluzardoportfolio
 
Software Defined Networking - Next-Gen Enterprise Networks
Software Defined Networking - Next-Gen Enterprise NetworksSoftware Defined Networking - Next-Gen Enterprise Networks
Software Defined Networking - Next-Gen Enterprise Networks
 
Simplified minimalistic workflows for the publication of Linked Open Data
Simplified minimalistic workflows for the publication of Linked Open DataSimplified minimalistic workflows for the publication of Linked Open Data
Simplified minimalistic workflows for the publication of Linked Open Data
 

Similar to PyOSLC: The Python SDK for OSLC APIs

OBA: An Ontology-Based Framework for Creating REST APIs for Knowledge Graphs
OBA: An Ontology-Based Framework for Creating REST APIs for Knowledge GraphsOBA: An Ontology-Based Framework for Creating REST APIs for Knowledge Graphs
OBA: An Ontology-Based Framework for Creating REST APIs for Knowledge Graphsdgarijo
 
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
 
Querying the Web of Data
Querying the Web of DataQuerying the Web of Data
Querying the Web of DataRinke Hoekstra
 
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
 
Data Integration And Visualization
Data Integration And VisualizationData Integration And Visualization
Data Integration And VisualizationIvan Ermilov
 
Spark Community Update - Spark Summit San Francisco 2015
Spark Community Update - Spark Summit San Francisco 2015Spark Community Update - Spark Summit San Francisco 2015
Spark Community Update - Spark Summit San Francisco 2015Databricks
 
A year on the Semantic Web @ W3C
A year on the Semantic Web @ W3CA year on the Semantic Web @ W3C
A year on the Semantic Web @ W3CIvan Herman
 
Expose your data as an api is with oracle rest data services -spoug Madrid
Expose your data as an api is with oracle rest data services -spoug MadridExpose your data as an api is with oracle rest data services -spoug Madrid
Expose your data as an api is with oracle rest data services -spoug MadridVinay Kumar
 
PiterPy 2016: Parallelization, Aggregation and Validation of API in Python
PiterPy 2016: Parallelization, Aggregation and Validation of API in PythonPiterPy 2016: Parallelization, Aggregation and Validation of API in Python
PiterPy 2016: Parallelization, Aggregation and Validation of API in PythonMax Klymyshyn
 
Legislative data portals and linked data quality
Legislative data portals and linked data qualityLegislative data portals and linked data quality
Legislative data portals and linked data qualityJose Emilio Labra Gayo
 
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
 
Light up Your Dark Data by Lance Ransom at QuantCon 2016
Light up Your Dark Data by Lance Ransom at QuantCon 2016Light up Your Dark Data by Lance Ransom at QuantCon 2016
Light up Your Dark Data by Lance Ransom at QuantCon 2016Quantopian
 
IP based standards for IoT
IP based standards for IoTIP based standards for IoT
IP based standards for IoTMichael Koster
 
A Hands On Overview Of The Semantic Web
A Hands On Overview Of The Semantic WebA Hands On Overview Of The Semantic Web
A Hands On Overview Of The Semantic WebShamod Lacoul
 
A bottom up approach for licences classification and selection
A bottom up approach for licences classification and selectionA bottom up approach for licences classification and selection
A bottom up approach for licences classification and selectionEnrico Daga
 
Dublin Core Description Set Profiles
Dublin Core Description Set ProfilesDublin Core Description Set Profiles
Dublin Core Description Set ProfilesPete Johnston
 

Similar to PyOSLC: The Python SDK for OSLC APIs (20)

OBA: An Ontology-Based Framework for Creating REST APIs for Knowledge Graphs
OBA: An Ontology-Based Framework for Creating REST APIs for Knowledge GraphsOBA: An Ontology-Based Framework for Creating REST APIs for Knowledge Graphs
OBA: An Ontology-Based Framework for Creating REST APIs for Knowledge Graphs
 
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
 
Querying the Web of Data
Querying the Web of DataQuerying the Web of Data
Querying the Web of Data
 
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
 
Data Integration And Visualization
Data Integration And VisualizationData Integration And Visualization
Data Integration And Visualization
 
Tutorial Linked APIs
Tutorial Linked APIsTutorial Linked APIs
Tutorial Linked APIs
 
Spark Community Update - Spark Summit San Francisco 2015
Spark Community Update - Spark Summit San Francisco 2015Spark Community Update - Spark Summit San Francisco 2015
Spark Community Update - Spark Summit San Francisco 2015
 
.Net and Rdf APIs
.Net and Rdf APIs.Net and Rdf APIs
.Net and Rdf APIs
 
A year on the Semantic Web @ W3C
A year on the Semantic Web @ W3CA year on the Semantic Web @ W3C
A year on the Semantic Web @ W3C
 
Expose your data as an api is with oracle rest data services -spoug Madrid
Expose your data as an api is with oracle rest data services -spoug MadridExpose your data as an api is with oracle rest data services -spoug Madrid
Expose your data as an api is with oracle rest data services -spoug Madrid
 
PiterPy 2016: Parallelization, Aggregation and Validation of API in Python
PiterPy 2016: Parallelization, Aggregation and Validation of API in PythonPiterPy 2016: Parallelization, Aggregation and Validation of API in Python
PiterPy 2016: Parallelization, Aggregation and Validation of API in Python
 
Linked data and voyager
Linked data and voyagerLinked data and voyager
Linked data and voyager
 
Legislative data portals and linked data quality
Legislative data portals and linked data qualityLegislative data portals and linked data quality
Legislative data portals and linked data quality
 
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
 
Light up Your Dark Data by Lance Ransom at QuantCon 2016
Light up Your Dark Data by Lance Ransom at QuantCon 2016Light up Your Dark Data by Lance Ransom at QuantCon 2016
Light up Your Dark Data by Lance Ransom at QuantCon 2016
 
IP based standards for IoT
IP based standards for IoTIP based standards for IoT
IP based standards for IoT
 
A Hands On Overview Of The Semantic Web
A Hands On Overview Of The Semantic WebA Hands On Overview Of The Semantic Web
A Hands On Overview Of The Semantic Web
 
Databasecentricapisonthecloudusingplsqlandnodejscon3153oow2016 160922021655
Databasecentricapisonthecloudusingplsqlandnodejscon3153oow2016 160922021655Databasecentricapisonthecloudusingplsqlandnodejscon3153oow2016 160922021655
Databasecentricapisonthecloudusingplsqlandnodejscon3153oow2016 160922021655
 
A bottom up approach for licences classification and selection
A bottom up approach for licences classification and selectionA bottom up approach for licences classification and selection
A bottom up approach for licences classification and selection
 
Dublin Core Description Set Profiles
Dublin Core Description Set ProfilesDublin Core Description Set Profiles
Dublin Core Description Set Profiles
 

Recently uploaded

College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCollege Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCall Girls in Nagpur High Profile
 
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
Russian Call Girls in Nagpur Grishma Call 7001035870 Meet With Nagpur Escorts
Russian Call Girls in Nagpur Grishma Call 7001035870 Meet With Nagpur EscortsRussian Call Girls in Nagpur Grishma Call 7001035870 Meet With Nagpur Escorts
Russian Call Girls in Nagpur Grishma Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
KubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlyKubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlysanyuktamishra911
 
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptxBSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptxfenichawla
 
Glass Ceramics: Processing and Properties
Glass Ceramics: Processing and PropertiesGlass Ceramics: Processing and Properties
Glass Ceramics: Processing and PropertiesPrabhanshu Chaturvedi
 
MANUFACTURING PROCESS-II UNIT-1 THEORY OF METAL CUTTING
MANUFACTURING PROCESS-II UNIT-1 THEORY OF METAL CUTTINGMANUFACTURING PROCESS-II UNIT-1 THEORY OF METAL CUTTING
MANUFACTURING PROCESS-II UNIT-1 THEORY OF METAL CUTTINGSIVASHANKAR N
 
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Call Girls in Nagpur High Profile
 
Java Programming :Event Handling(Types of Events)
Java Programming :Event Handling(Types of Events)Java Programming :Event Handling(Types of Events)
Java Programming :Event Handling(Types of Events)simmis5
 
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
Introduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxIntroduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxupamatechverse
 
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...ranjana rawat
 
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete RecordCCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete RecordAsst.prof M.Gokilavani
 
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escortsranjana rawat
 
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Dr.Costas Sachpazis
 
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service NashikCall Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service NashikCall Girls in Nagpur High Profile
 

Recently uploaded (20)

College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCollege Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
 
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
 
Russian Call Girls in Nagpur Grishma Call 7001035870 Meet With Nagpur Escorts
Russian Call Girls in Nagpur Grishma Call 7001035870 Meet With Nagpur EscortsRussian Call Girls in Nagpur Grishma Call 7001035870 Meet With Nagpur Escorts
Russian Call Girls in Nagpur Grishma Call 7001035870 Meet With Nagpur Escorts
 
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
KubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlyKubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghly
 
Roadmap to Membership of RICS - Pathways and Routes
Roadmap to Membership of RICS - Pathways and RoutesRoadmap to Membership of RICS - Pathways and Routes
Roadmap to Membership of RICS - Pathways and Routes
 
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptxBSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
 
Glass Ceramics: Processing and Properties
Glass Ceramics: Processing and PropertiesGlass Ceramics: Processing and Properties
Glass Ceramics: Processing and Properties
 
MANUFACTURING PROCESS-II UNIT-1 THEORY OF METAL CUTTING
MANUFACTURING PROCESS-II UNIT-1 THEORY OF METAL CUTTINGMANUFACTURING PROCESS-II UNIT-1 THEORY OF METAL CUTTING
MANUFACTURING PROCESS-II UNIT-1 THEORY OF METAL CUTTING
 
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
 
Java Programming :Event Handling(Types of Events)
Java Programming :Event Handling(Types of Events)Java Programming :Event Handling(Types of Events)
Java Programming :Event Handling(Types of Events)
 
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
 
Introduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxIntroduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptx
 
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
 
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete RecordCCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
 
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
 
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
 
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
 
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service NashikCall Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
 

PyOSLC: The Python SDK for OSLC APIs

  • 1. PyOSLC The Python SDK for OSLC APIs Mario Jiménez Carrasco Senior Developer at Koneksys OSLC FEST May 19, 2020
  • 2. Who am I ? 2 Mario Jiménez Carrasco Senior Developer at Koneksys Backend developer with Java & Python ❤ Worked with JAX-RS, Spring, Flask among others to develop REST services for OSLC, Linked Data solutions and integration with IBM CLM applications such as DNG, RQM, RTC. email: mario.carrasco@koneksys.com
  • 4. Example Data: CSV Files About Requirements 4 Data = Multiple CSV files GET POST PUT DELETE OSLC API Client CSV
  • 5. OSLC Core Resources 5 Data = Multiple CSV files GET POST PUT DELETE
  • 6. Mapping between Data and OSLC Concepts 6 CSV One cvs file corresponds to one container, aka OSLC ServiceProvider One row in the csv file describes one requirement, aka OSLC Resource
  • 7. Curl for GET on SPC OSLC Service Provider Catalog 7
  • 8. Curl for GET on query resource GET All Requirements Request 8
  • 9. Curl for GET on requirement GET Specific Requirement Request 9
  • 10. The RDF representation of requirements comply with the OSLC specification for Requirement Management. RM spec 10
  • 11. PyOSLC requires some topics for the implementation of an OSLC API - OSLC resource types described as Python classes and objects - Python objects need to translated to RDF - Decoration of classes and methods for using the Swagger doc for simpler OSLC API consumption Implementation topic 11
  • 12. The PyOSLC contains decorators (annotations) which are used to generate the Open API spec, from which the HTML doc is generated. Swagger Doc 12
  • 13. OSLC Resources described as Python Classes 13 The PyOSLC project defines the classes required to implement an OSLC Resource Classes
  • 14. OSLC Requirement Resources described as Python Class 14 The PyOSLC project defines the classes required to implement an OSLC Resource Classes
  • 15. RDF Vocabularies as Python Closed List 15 The PyOSLC project defines the vocabularies required for managing the concepts defined by the specification. OSLC Core / RM vocabulary
  • 16. Mapping 16 Requirement / Specification attributes Dictionary to create a relation between the external data attributes with the defined resource attributes, here is an example for mapping Requirement.
  • 17. Translation of Python objects to RDF 17 Python object OSLC - RDF/XML
  • 18. Transformation from Python to RDF 18 The capability to (un-)marshalling from python objects to RDF and vice versa. Here is an example of how the requirement loaded from the CSV file is converted from a Specification into a Requirement. Python Objects Python Object RDF(un-)marshalling method
  • 19. Next Steps 19 Rootservices Implementation of elements to add a PyOSLC API as a friend or consumer. Service Provider Specific Domain for managing resources, example: Requirements. Authentication Enable OAuth for managing authentication to interact with Jazz Delegated Dialog Integration of Delegated Dialogs to show resources with the Jazz applications. Final Goal Open Source release
  • 20. 20 Thanks!! Does anyone have any questions? mario.carrasco@koneksys.com