SlideShare una empresa de Scribd logo
1 de 20
Descargar para leer sin conexión
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

Más contenido relacionado

La actualidad más candente

Serena Mainframe VUG In-Com
Serena Mainframe VUG In-Com Serena Mainframe VUG In-Com
Serena Mainframe VUG In-Com
Serena Software
 

La actualidad más candente (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 a PyOSLC SDK - OSLCFEST

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
webhostingguy
 

Similar a PyOSLC SDK - OSLCFEST (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
 

Último

XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
ssuser89054b
 
VIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 Booking
dharasingh5698
 
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar ≼🔝 Delhi door step de...
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar  ≼🔝 Delhi door step de...Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar  ≼🔝 Delhi door step de...
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar ≼🔝 Delhi door step de...
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
AKTU Computer Networks notes --- Unit 3.pdf
AKTU Computer Networks notes ---  Unit 3.pdfAKTU Computer Networks notes ---  Unit 3.pdf
AKTU Computer Networks notes --- Unit 3.pdf
ankushspencer015
 

Último (20)

Thermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - VThermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - V
 
Intze Overhead Water Tank Design by Working Stress - IS Method.pdf
Intze Overhead Water Tank  Design by Working Stress - IS Method.pdfIntze Overhead Water Tank  Design by Working Stress - IS Method.pdf
Intze Overhead Water Tank Design by Working Stress - IS Method.pdf
 
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...
 
Design For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the startDesign For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the start
 
Unit 1 - Soil Classification and Compaction.pdf
Unit 1 - Soil Classification and Compaction.pdfUnit 1 - Soil Classification and Compaction.pdf
Unit 1 - Soil Classification and Compaction.pdf
 
Online banking management system project.pdf
Online banking management system project.pdfOnline banking management system project.pdf
Online banking management system project.pdf
 
Work-Permit-Receiver-in-Saudi-Aramco.pptx
Work-Permit-Receiver-in-Saudi-Aramco.pptxWork-Permit-Receiver-in-Saudi-Aramco.pptx
Work-Permit-Receiver-in-Saudi-Aramco.pptx
 
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
 
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
 
Double Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torqueDouble Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torque
 
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdfONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
 
NFPA 5000 2024 standard .
NFPA 5000 2024 standard                                  .NFPA 5000 2024 standard                                  .
NFPA 5000 2024 standard .
 
Thermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.pptThermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.ppt
 
UNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its PerformanceUNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its Performance
 
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
 
VIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 Booking
 
Block diagram reduction techniques in control systems.ppt
Block diagram reduction techniques in control systems.pptBlock diagram reduction techniques in control systems.ppt
Block diagram reduction techniques in control systems.ppt
 
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar ≼🔝 Delhi door step de...
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar  ≼🔝 Delhi door step de...Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar  ≼🔝 Delhi door step de...
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar ≼🔝 Delhi door step de...
 
AKTU Computer Networks notes --- Unit 3.pdf
AKTU Computer Networks notes ---  Unit 3.pdfAKTU Computer Networks notes ---  Unit 3.pdf
AKTU Computer Networks notes --- Unit 3.pdf
 
Generative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPTGenerative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPT
 

PyOSLC SDK - OSLCFEST

  • 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