SlideShare a Scribd company logo
Syntactic Mediation in Grid and Web Service Architectures Martin Szomszor Terry R. Payne Luc Moreau University of Southampton myGrid [ http://www.mygrid.org.uk]
Syntactic Mediation… Cambridge online dictionary defines mediation as: Verb [I or T] “ to talk to two separate people or groups involved in a disagreement to try to help them to agree or find a solution to their problem” Syntax The structure and organisation of information Syntactic mediation To mediate between two parties who not agree on syntax
…  in Grid and Web Services Questions to be answered When is syntactic mediation required? What are the current solutions? How can they be improved? Use Case Taken from a Bioinformatics Grid application Our solution Intermediary representation of data in OWL Mappings between XML and OWL Conclusions and further work
Grid and Web Services Grid  Coordinated resource access  Service oriented view of resource access Web Services Architecture  Supporting the service oriented view Resources exposed through Web Service interfaces This powerful model enables complex collaboration of disparate resources, typically through the use of workflow
myGrid  -  Bioinformatics In-silico  experimentation  myGrid is service orientated Steps in the experimental process correspond to Web Service invocations  Taverna - The Virtual Workbench Compose Edit Execute Monitor View results
Taverna Workbench
A Bioinformatics Use Case Get some sequence data and perform a sequence alignment Sequence alignment checks for similarities between different sequences Many sequence data repositories XEMBL  DDBJ-XML Many sequence alignment services NCBI Blast …
Bio Example - Workflow Two stages More than one service for some stages Get  Sequence Data Sequence Data Alignment Result Sequence Alignment XEMBL Service DDBJ-XML Service NCBI Blast Accession Number
Bio Example - Workflow Two possible concrete workflows Using XEMBL Service Using DDBJ-XML Service Accession Number XEMBL Service Sequence Data Alignment Result NCBI Blast Service Accession Number DDBJ-XML Service Sequence Data Alignment Result NCBI Blast Service
Syntactic Compatibility Is the output from one service compatible with the input to another service? Conceptually the same type But different syntactic types XEMBL Service Sequence Data NCBI Blast Service XEMBL Service BSML  Sequence  Record NCBI Blast Service FASTA  Formatted Sequence
Syntactic Mediation When a syntactic miss-match occurs, some additional processing is required We define this processing as  syntactic mediation Current solutions Explicitly defined transform (e.g. XSLT) Hard coded black-box components
Assisted Mediation How can we achieve this? Use ontologies for a common conceptual model of the data Describe how parts of the data schema (XML-Schema) correspond to parts in the semantic schema (OWL) Transform data sets into their corresponding conceptual representations Use conceptual representation as a common model to  mediate  between services's data models
Syntactic Mediation XEMBL Service NCBI Blast Service FASTA  Formatted  Sequence   Alignment Results   Conceptual representation of sequence data Transform XML output from XEMBL service to OWL concept instance Serialise OWL concept instance to XML for input to NCBI Blast Service BSML Sequence Record   Accession Number
Bioinformatics Use Case: Sequence Data Ontology authors journal title Key: Object property Subconcept Sequence_Data description accession_id sequence has_feature has_reference Reference Sequence_Feature location Feature_Source lab_host isolate mol_type organsim Feature_CDS translation product protien_id Sequence_Location start end BSML_Sequence_Data date_created date_last_updated DDBJ_Sequence_Data version division
Transformation of XML to OWL <Sequence ic-acckey=&quot;AB000059&quot;> <Feature-table> <Feature class=&quot;SOURCE&quot;> <Qualifier value-type=&quot;isolate” value=&quot;Som1&quot;/> <Qualifier value-type=&quot;organism” value=&quot;Feline …”/> <Interval-loc startpos=&quot;1&quot; endpos=&quot;1755&quot;/> </Feature> </Feature-table> </Sequence> Sequence Data Accession_ID Feature Source Location has-Feature isolate organism has-location start end AB000059 Som1 Feline … 1 1755
Transformation of OWL to XML Sequence Data Accession_ID Feature Source Location has-Feature isolate organism has-location start end <DDBJXML> <ACCESSION>AB000059</ACCESSION> <FEATURES> <source> <location>1..1755</location> <qualifiers name=&quot;isolate&quot;>Som1</qualifiers> <qualifiers name=&quot;organsim&quot;>Felis ...</qualifiers> </source> </FEATURES> </DDBJXML> AB000059 Som1 Feline … 1 1755
Mapping Language We present a simple mapping language to describe the transformation of data from XML to OWL Mappings are bi-directional XML to OWL OWL to XML Hierarchical view of both data models Template is applied to match source model and create destination model Data values are mapped from source to destination via variable assignment
Example Mapping 1 Mapping an attribute value <Sequence ic-acckey=&quot;AB000059&quot;> Sequence Data Accession_ID {xml} Sequence[ic-acckey = $accession] <-> {owl} Sequence_Data( Accession_id($accession)) $accession AB000059
Example Mapping 2 Mapping an element value Sequence Data sequence {xml} Sequence( seq-data($sequence)) <-> {owl} Sequence_Data( sequence($sequence)) $sequence <Sequence> <seq-data>aatagagtg…</seq-data> </Sequence> aatagagtg…
Example Mapping 3 Mapping an group of element values <Reference> <RefAuthors>Horiuchi M.</RefAuthors> <RefTitle>evolutionary…</RefTitle> <RefJournal>Unpublished</RefJournal> </Reference> Reference author {xml} Reference( RefAuthors($author), RefTitle($title), RefJournal($journal)) <-> {owl} Reference( author($author), title($title), journal($journal)) title journal Horiuchi, M. Evolutionary… Unpublished
Example Mapping 4 Split and join <location>1:1755</location> Sequence_Location start {xml} location( split($start, “:”, $end) ) <-> {owl} Sequence_Location( start($start), end($end) ) end 1 1755
Example Mapping 5 Mapping an sequence of elements <feature-table> element contains a sequence of <Reference> elements <feature-table> <Reference> <RefAuthors>Horiuchi M.</RefAuthors> <RefTitle>evolutionary…</RefTitle> <RefJournal>Unpublished</RefJournal> </Reference> <Reference> <RefAuthors>Horiuchi M.</RefAuthors> <RefJournal>EMBL/GenBank/DDBJ…</RefJournal> </Reference> </feature-table>
Example Mapping 5 Each <Reference> element corresponds to an instance of the ‘Reference’ concept Reference author title journal Reference author journal Sequence_Data has-reference has-reference Horiuchi, M. Evolutionary… Unpublished Horiuchi, M. EMBL/GenBank/DDBJ…
Example Mapping 5 The ellipsis (…) construct is used to denote this behaviour {xml} feature-table( Reference( RefAuthors($author), RefTitle($title), RefJournal($journal) )… ) <-> {owl} Sequence_Data( Reference( author($authors), title($title), journal($journal) )… ) sequence
Mapping Language (BNF)
Mapping Language Engine Java component built on Dom4J and Jena Input: Mapping and Data set (XML or OWL) Output: Data set (XML or OWL)
Transformation Process Four stages Create data model for input DOM4J for XML JENA for OWL Parse mapping Apply source mapping to bind variables Apply destination mapping and create new instance filling variables with their corresponding values from the source
Assisted data mediation for WS XEMBL Service NCBI Blast Service BSML Sequence Record   Accession Number   FASTA  Formatted  Sequence   Alignment Results   Conceptual representation of sequence data Transform XML output from XEMBL service to OWL concept instance Serialise OWL concept instance to XML for input to NCBI Blast Service
Assisted data mediation for WS XEMBL Service NCBI Blast Service FASTA  Formatted  Sequence   Alignment Results   Mapping Language Engine Mapping   Mapping Language Engine Mapping   BSML Sequence Record   Accession Number   OWL instance
Comparison  of Approaches Create one mapping to conceptual model Must create mappings to all other compatible formats Addition of Data 1 mapping from each data format to its conceptual model. For  n  compatible data formats,  n  mappings required 1 mapping for each pair of compatible data formats. For  n  compatible formats,  n 2  mappings required Number of Mappings Mappings from data format to common conceptual model Direct mappings between compatible data formats
Why OWL? Expressive Power Complex concept specifications Reasoning power Subsumption and concept classification Classification of data Given an XML document and some mappings, it would be possible to find which mappings are valid and therefore what are the possible conceptual models for the given document
Conclusions By using mappings from XML documents to OWL instances, we can automatically transform a portion of data from one representation to another, providing both share a common conceptual model  This can be used to rectify data incompatibilities that occur in workflows with data flow between services -  assisted mediation
Further Work Add regular expression support More powerful than our existing split and join operators Mapping Repository Current implementation assumes that mappings are know We cannot assume that end users are able to write mappings Ideally, a repository of mappings would be available to users allowing them to find the appropriate mapping Domain experts could create mappings and upload them to the repository  Would allow us to support further automation Suggest mappings to user
Questions and comments?

More Related Content

PDF
Q-JSON - Reduced JSON schema with high Data Representation Efficiency
PDF
Relaxing global-as-view in mediated data integration from linked data
PDF
A Primer on Entity Resolution
PPTX
Tolog Updates
PDF
Data Product Architectures
PPT
RESTful Data Access Services with Java EE
PDF
Dynamics in graph analysis (PyData Carolinas 2016)
PPTX
GraphQL API Gateway and microservices
Q-JSON - Reduced JSON schema with high Data Representation Efficiency
Relaxing global-as-view in mediated data integration from linked data
A Primer on Entity Resolution
Tolog Updates
Data Product Architectures
RESTful Data Access Services with Java EE
Dynamics in graph analysis (PyData Carolinas 2016)
GraphQL API Gateway and microservices

What's hot (20)

PPT
Language Integrated Query - LINQ
PPT
Artificial Intelligence
PPT
Understanding linq
PPT
Web Information Extraction Learning based on Probabilistic Graphical Models
PDF
Intake 38 data access 4
PDF
Patterns of Enterprise Application Architecture (by example)
PDF
Dagstuhl 2013 - Montali - On the Relationship between OBDA and Relational Map...
PDF
Apollo Server IV
PPT
Linq
PDF
Visual diagnostics for more effective machine learning
PDF
Let's start GraphQL: structure, behavior, and architecture
PPTX
Unit 1
PPTX
A Fast and Dirty Intro to NetworkX (and D3)
PPT
PDF
GraphQL 101
PPTX
Linq
PPT
Linq in C# 3.0: An Overview
PPTX
LINQ in C#
ODP
2008.07.17 발표
Language Integrated Query - LINQ
Artificial Intelligence
Understanding linq
Web Information Extraction Learning based on Probabilistic Graphical Models
Intake 38 data access 4
Patterns of Enterprise Application Architecture (by example)
Dagstuhl 2013 - Montali - On the Relationship between OBDA and Relational Map...
Apollo Server IV
Linq
Visual diagnostics for more effective machine learning
Let's start GraphQL: structure, behavior, and architecture
Unit 1
A Fast and Dirty Intro to NetworkX (and D3)
GraphQL 101
Linq
Linq in C# 3.0: An Overview
LINQ in C#
2008.07.17 발표
Ad

Similar to Syntactic Mediation in Grid and Web Service Architectures (20)

PPT
Automated Syntactic Mediation for Web Service Integration
PPTX
ONTOLOGY BASED DATA ACCESS
PPTX
Evaluating Hypotheses using SPARQL-DL as an abstract workflow language to cho...
PPT
Description and Discovery of Type Adaptors for Web Services Workflow
PDF
Mapping of extensible markup language-to-ontology representation for effectiv...
PPTX
LinkML presentation to Yosemite Group
PDF
A semantic web primer.pdf
PPT
Adding Meaning To Your Data
PPT
Fusing semantic data
PDF
Linked Data for improved organization of research data
PDF
Semantic web-primer
PDF
Sw 5semantic web-primer
PDF
Really usefulebooks 0262012421_the mit press a semantic web primer 2nd editio...
PDF
Mit press a semantic web primer - 2004 !! - (by laxxuss)
PPT
Ontology-based Cooperation of Information Systems
PDF
Open interoperability standards, tools and services at EMBL-EBI
PDF
SADI: A design-pattern for “native” Linked-Data Semantic Web Services
PDF
SADI: A design-pattern for “native” Linked-Data Semantic Web Services
PPTX
2012.11 - ISWC 2012 - DC - 1
PDF
Aq03302570261
Automated Syntactic Mediation for Web Service Integration
ONTOLOGY BASED DATA ACCESS
Evaluating Hypotheses using SPARQL-DL as an abstract workflow language to cho...
Description and Discovery of Type Adaptors for Web Services Workflow
Mapping of extensible markup language-to-ontology representation for effectiv...
LinkML presentation to Yosemite Group
A semantic web primer.pdf
Adding Meaning To Your Data
Fusing semantic data
Linked Data for improved organization of research data
Semantic web-primer
Sw 5semantic web-primer
Really usefulebooks 0262012421_the mit press a semantic web primer 2nd editio...
Mit press a semantic web primer - 2004 !! - (by laxxuss)
Ontology-based Cooperation of Information Systems
Open interoperability standards, tools and services at EMBL-EBI
SADI: A design-pattern for “native” Linked-Data Semantic Web Services
SADI: A design-pattern for “native” Linked-Data Semantic Web Services
2012.11 - ISWC 2012 - DC - 1
Aq03302570261
Ad

Recently uploaded (20)

PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Approach and Philosophy of On baking technology
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Unlocking AI with Model Context Protocol (MCP)
PPTX
Big Data Technologies - Introduction.pptx
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PPTX
MYSQL Presentation for SQL database connectivity
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Machine learning based COVID-19 study performance prediction
PDF
Encapsulation theory and applications.pdf
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
NewMind AI Weekly Chronicles - August'25 Week I
Encapsulation_ Review paper, used for researhc scholars
Approach and Philosophy of On baking technology
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Unlocking AI with Model Context Protocol (MCP)
Big Data Technologies - Introduction.pptx
Understanding_Digital_Forensics_Presentation.pptx
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
The AUB Centre for AI in Media Proposal.docx
Building Integrated photovoltaic BIPV_UPV.pdf
MYSQL Presentation for SQL database connectivity
20250228 LYD VKU AI Blended-Learning.pptx
Machine learning based COVID-19 study performance prediction
Encapsulation theory and applications.pdf
Network Security Unit 5.pdf for BCA BBA.
Spectral efficient network and resource selection model in 5G networks
Advanced methodologies resolving dimensionality complications for autism neur...
Reach Out and Touch Someone: Haptics and Empathic Computing

Syntactic Mediation in Grid and Web Service Architectures

  • 1. Syntactic Mediation in Grid and Web Service Architectures Martin Szomszor Terry R. Payne Luc Moreau University of Southampton myGrid [ http://www.mygrid.org.uk]
  • 2. Syntactic Mediation… Cambridge online dictionary defines mediation as: Verb [I or T] “ to talk to two separate people or groups involved in a disagreement to try to help them to agree or find a solution to their problem” Syntax The structure and organisation of information Syntactic mediation To mediate between two parties who not agree on syntax
  • 3. … in Grid and Web Services Questions to be answered When is syntactic mediation required? What are the current solutions? How can they be improved? Use Case Taken from a Bioinformatics Grid application Our solution Intermediary representation of data in OWL Mappings between XML and OWL Conclusions and further work
  • 4. Grid and Web Services Grid Coordinated resource access Service oriented view of resource access Web Services Architecture Supporting the service oriented view Resources exposed through Web Service interfaces This powerful model enables complex collaboration of disparate resources, typically through the use of workflow
  • 5. myGrid - Bioinformatics In-silico experimentation myGrid is service orientated Steps in the experimental process correspond to Web Service invocations Taverna - The Virtual Workbench Compose Edit Execute Monitor View results
  • 7. A Bioinformatics Use Case Get some sequence data and perform a sequence alignment Sequence alignment checks for similarities between different sequences Many sequence data repositories XEMBL DDBJ-XML Many sequence alignment services NCBI Blast …
  • 8. Bio Example - Workflow Two stages More than one service for some stages Get Sequence Data Sequence Data Alignment Result Sequence Alignment XEMBL Service DDBJ-XML Service NCBI Blast Accession Number
  • 9. Bio Example - Workflow Two possible concrete workflows Using XEMBL Service Using DDBJ-XML Service Accession Number XEMBL Service Sequence Data Alignment Result NCBI Blast Service Accession Number DDBJ-XML Service Sequence Data Alignment Result NCBI Blast Service
  • 10. Syntactic Compatibility Is the output from one service compatible with the input to another service? Conceptually the same type But different syntactic types XEMBL Service Sequence Data NCBI Blast Service XEMBL Service BSML Sequence Record NCBI Blast Service FASTA Formatted Sequence
  • 11. Syntactic Mediation When a syntactic miss-match occurs, some additional processing is required We define this processing as syntactic mediation Current solutions Explicitly defined transform (e.g. XSLT) Hard coded black-box components
  • 12. Assisted Mediation How can we achieve this? Use ontologies for a common conceptual model of the data Describe how parts of the data schema (XML-Schema) correspond to parts in the semantic schema (OWL) Transform data sets into their corresponding conceptual representations Use conceptual representation as a common model to mediate between services's data models
  • 13. Syntactic Mediation XEMBL Service NCBI Blast Service FASTA Formatted Sequence Alignment Results Conceptual representation of sequence data Transform XML output from XEMBL service to OWL concept instance Serialise OWL concept instance to XML for input to NCBI Blast Service BSML Sequence Record Accession Number
  • 14. Bioinformatics Use Case: Sequence Data Ontology authors journal title Key: Object property Subconcept Sequence_Data description accession_id sequence has_feature has_reference Reference Sequence_Feature location Feature_Source lab_host isolate mol_type organsim Feature_CDS translation product protien_id Sequence_Location start end BSML_Sequence_Data date_created date_last_updated DDBJ_Sequence_Data version division
  • 15. Transformation of XML to OWL <Sequence ic-acckey=&quot;AB000059&quot;> <Feature-table> <Feature class=&quot;SOURCE&quot;> <Qualifier value-type=&quot;isolate” value=&quot;Som1&quot;/> <Qualifier value-type=&quot;organism” value=&quot;Feline …”/> <Interval-loc startpos=&quot;1&quot; endpos=&quot;1755&quot;/> </Feature> </Feature-table> </Sequence> Sequence Data Accession_ID Feature Source Location has-Feature isolate organism has-location start end AB000059 Som1 Feline … 1 1755
  • 16. Transformation of OWL to XML Sequence Data Accession_ID Feature Source Location has-Feature isolate organism has-location start end <DDBJXML> <ACCESSION>AB000059</ACCESSION> <FEATURES> <source> <location>1..1755</location> <qualifiers name=&quot;isolate&quot;>Som1</qualifiers> <qualifiers name=&quot;organsim&quot;>Felis ...</qualifiers> </source> </FEATURES> </DDBJXML> AB000059 Som1 Feline … 1 1755
  • 17. Mapping Language We present a simple mapping language to describe the transformation of data from XML to OWL Mappings are bi-directional XML to OWL OWL to XML Hierarchical view of both data models Template is applied to match source model and create destination model Data values are mapped from source to destination via variable assignment
  • 18. Example Mapping 1 Mapping an attribute value <Sequence ic-acckey=&quot;AB000059&quot;> Sequence Data Accession_ID {xml} Sequence[ic-acckey = $accession] <-> {owl} Sequence_Data( Accession_id($accession)) $accession AB000059
  • 19. Example Mapping 2 Mapping an element value Sequence Data sequence {xml} Sequence( seq-data($sequence)) <-> {owl} Sequence_Data( sequence($sequence)) $sequence <Sequence> <seq-data>aatagagtg…</seq-data> </Sequence> aatagagtg…
  • 20. Example Mapping 3 Mapping an group of element values <Reference> <RefAuthors>Horiuchi M.</RefAuthors> <RefTitle>evolutionary…</RefTitle> <RefJournal>Unpublished</RefJournal> </Reference> Reference author {xml} Reference( RefAuthors($author), RefTitle($title), RefJournal($journal)) <-> {owl} Reference( author($author), title($title), journal($journal)) title journal Horiuchi, M. Evolutionary… Unpublished
  • 21. Example Mapping 4 Split and join <location>1:1755</location> Sequence_Location start {xml} location( split($start, “:”, $end) ) <-> {owl} Sequence_Location( start($start), end($end) ) end 1 1755
  • 22. Example Mapping 5 Mapping an sequence of elements <feature-table> element contains a sequence of <Reference> elements <feature-table> <Reference> <RefAuthors>Horiuchi M.</RefAuthors> <RefTitle>evolutionary…</RefTitle> <RefJournal>Unpublished</RefJournal> </Reference> <Reference> <RefAuthors>Horiuchi M.</RefAuthors> <RefJournal>EMBL/GenBank/DDBJ…</RefJournal> </Reference> </feature-table>
  • 23. Example Mapping 5 Each <Reference> element corresponds to an instance of the ‘Reference’ concept Reference author title journal Reference author journal Sequence_Data has-reference has-reference Horiuchi, M. Evolutionary… Unpublished Horiuchi, M. EMBL/GenBank/DDBJ…
  • 24. Example Mapping 5 The ellipsis (…) construct is used to denote this behaviour {xml} feature-table( Reference( RefAuthors($author), RefTitle($title), RefJournal($journal) )… ) <-> {owl} Sequence_Data( Reference( author($authors), title($title), journal($journal) )… ) sequence
  • 26. Mapping Language Engine Java component built on Dom4J and Jena Input: Mapping and Data set (XML or OWL) Output: Data set (XML or OWL)
  • 27. Transformation Process Four stages Create data model for input DOM4J for XML JENA for OWL Parse mapping Apply source mapping to bind variables Apply destination mapping and create new instance filling variables with their corresponding values from the source
  • 28. Assisted data mediation for WS XEMBL Service NCBI Blast Service BSML Sequence Record Accession Number FASTA Formatted Sequence Alignment Results Conceptual representation of sequence data Transform XML output from XEMBL service to OWL concept instance Serialise OWL concept instance to XML for input to NCBI Blast Service
  • 29. Assisted data mediation for WS XEMBL Service NCBI Blast Service FASTA Formatted Sequence Alignment Results Mapping Language Engine Mapping Mapping Language Engine Mapping BSML Sequence Record Accession Number OWL instance
  • 30. Comparison of Approaches Create one mapping to conceptual model Must create mappings to all other compatible formats Addition of Data 1 mapping from each data format to its conceptual model. For n compatible data formats, n mappings required 1 mapping for each pair of compatible data formats. For n compatible formats, n 2 mappings required Number of Mappings Mappings from data format to common conceptual model Direct mappings between compatible data formats
  • 31. Why OWL? Expressive Power Complex concept specifications Reasoning power Subsumption and concept classification Classification of data Given an XML document and some mappings, it would be possible to find which mappings are valid and therefore what are the possible conceptual models for the given document
  • 32. Conclusions By using mappings from XML documents to OWL instances, we can automatically transform a portion of data from one representation to another, providing both share a common conceptual model This can be used to rectify data incompatibilities that occur in workflows with data flow between services - assisted mediation
  • 33. Further Work Add regular expression support More powerful than our existing split and join operators Mapping Repository Current implementation assumes that mappings are know We cannot assume that end users are able to write mappings Ideally, a repository of mappings would be available to users allowing them to find the appropriate mapping Domain experts could create mappings and upload them to the repository Would allow us to support further automation Suggest mappings to user

Editor's Notes

  • #2: Welcome The term mediation is often overloaded…