SlideShare a Scribd company logo
Model-Driven Development
of Semantic Mashup Applications
      With the Open-Source InfoGrid
      NoSQL Internet Graph Database


                               Johannes Ernst

                         NetMesh Inc. · InfoGrid.org

     Most recent version of this presentation is at: http://infogrid.org/wiki/Docs/SlidePresentations
                      License: 2010 Johannes Ernst, Creative Commons Attribution-Share Alike 3.0
Key Points
Key Points

• NoSQL is smoking hot in 2010
Key Points

• NoSQL is smoking hot in 2010
• Think "object graph" instead of "table" for
  more effective model-driven development
Key Points

• NoSQL is smoking hot in 2010
• Think "object graph" instead of "table" for
  more effective model-driven development
• InfoGrid.org – graph database driven by
  conceptual-level models with code generator,
  REST, Java, open-source/commercial
Key Points

• NoSQL is smoking hot in 2010
• Think "object graph" instead of "table" for
  more effective model-driven development
• InfoGrid.org – graph database driven by
  conceptual-level models with code generator,
  REST, Java, open-source/commercial
• Semantically-aware mashups need not be as
  hard as with an RDBMS
The Mashup Problem




 ?
Example Object Graph
                     :Complaint                 :Complaint
                   Name: Pain               Name: Blood Pressure


                                                      HasChiefComplaint
                                                                                    :Doctor
                                                                                 Name: Smith

  :OfficeVisit
Date: 2009/12/15                              :OfficeVisit
                                            Date: 2010/01/01
                              Prescribed
                                During
                                                                          With


              Lipitor:                                     By
                                                                                    :Doctor
             Medication
                                                                                 Name: Miller
            Amount: 100

                                                     John Doe: Patient
                             ActiveMeds:
                                                     MRN: 123456789
                            MedCollection
                                                     Age: 57
  Ibuprofen:
  Medication
 Amount: 50
Example Object Graph
                    System 3
                         :Complaint                 :Complaint
                       Name: Pain               Name: Blood Pressure

                                                                                     System 4
                                                          HasChiefComplaint
                                                                                         :Doctor
                                                                                      Name: Smith
  System 2
      :OfficeVisit
    Date: 2009/12/15                              :OfficeVisit
                                                Date: 2010/01/01
                                  Prescribed
                                    During
                                                                              With

System 1                                                         By
                  Lipitor:
                                                                                         :Doctor
                 Medication
                                                                                      Name: Miller
                Amount: 100                           System 5

                                                         John Doe: Patient
                                 ActiveMeds:
                                                         MRN: 123456789
                                MedCollection
                                                         Age: 57
       Ibuprofen:
       Medication
      Amount: 50
The Problem

• Semantically aggregate data from multiple
  sources
• Highly interrelated data
• Real-time updates (downstream and upstream)
• Decentralized schema evolution
InfoGrid
An Internet Graph Database
Types of Data Organization
Types of Data Organization
Tabular: SQL
relational database
Types of Data Organization
Tabular: SQL
relational database




Documents: NoSQL
document database
Types of Data Organization
Tabular: SQL
relational database




Documents: NoSQL                 Lookup: NoSQL
document database                key-value database
Types of Data Organization
Tabular: SQL                     Graph of instances: NoSQL
relational database              graph database
                                                             : abc
                                                        attribute: 1



                                       : def                                : xyz
                                  attribute: 2                         attribute: 5



                                                                                      : xyz
                                                                                 attribute: 4
                                                      : def
                                                 attribute: 3




Documents: NoSQL                 Lookup: NoSQL
document database                key-value database
Types of Data Organization
Tabular: SQL                     Graph of instances: NoSQL
relational database              graph database
                                                             : abc
                                                        attribute: 1



                                       : def                                : xyz
                                  attribute: 2                         attribute: 5



                                                                                      : xyz
                                                                                 attribute: 4
                                                      : def
                                                 attribute: 3




Documents: NoSQL                 Lookup: NoSQL
document database                key-value database
Schema-Less                                                  vs.   Model-Driven
                                         Instances in Graph DB:
                      Type: OfficeVisit
           Type: By
                      Date: 2009/12/15   Type: With
 Type: Patient                                    Type: Doctor
MRN: 123456789                                    Name: Miller
   Age: 57
                      Type: OfficeVisit
                      Date: 2010/01/01


 Type: Patient                                    Type: Doctor
MRN: 987654321                                    Name: Smith
                      Type: OfficeVisit
   Age: 22            Date: 2009/12/02
Schema-Less                                                  vs.    Model-Driven
                                         Instances in Graph DB:
                                                                                                  :OfficeVisit
                      Type: OfficeVisit                                                          Date: 2009/12/15
           Type: By                                                                        By                      With
                      Date: 2009/12/15   Type: With
 Type: Patient                                                         John Doe: Patient
                                                  Type: Doctor                                                               :Doctor
MRN: 123456789                                                         MRN: 123456789
                                                  Name: Miller                                                            Name: Miller
   Age: 57                                                             Age: 57                    :OfficeVisit
                      Type: OfficeVisit                                                          Date: 2010/01/01
                      Date: 2010/01/01                                                                                       :Doctor
                                                                       Jane Doe: Patient                                  Name: Smith
                                                                       MRN: 987654321
                                                  Type: Doctor         Age: 22                    :OfficeVisit
 Type: Patient
MRN: 987654321                                    Name: Smith                                   Date: 2009/12/02
                      Type: OfficeVisit
   Age: 22            Date: 2009/12/02
Schema-Less                                                  vs.    Model-Driven
                                         Instances in Graph DB:
                                                                                                    :OfficeVisit
                      Type: OfficeVisit                                                            Date: 2009/12/15
           Type: By                                                                         By                          With
                      Date: 2009/12/15   Type: With
 Type: Patient                                                         John Doe: Patient
                                                  Type: Doctor                                                                      :Doctor
MRN: 123456789                                                         MRN: 123456789
                                                  Name: Miller                                                                   Name: Miller
   Age: 57                                                             Age: 57                       :OfficeVisit
                      Type: OfficeVisit                                                             Date: 2010/01/01
                      Date: 2010/01/01                                                                                              :Doctor
                                                                       Jane Doe: Patient                                         Name: Smith
                                                                       MRN: 987654321
                                                  Type: Doctor         Age: 22                       :OfficeVisit
 Type: Patient
MRN: 987654321                                    Name: Smith                                      Date: 2009/12/02
                      Type: OfficeVisit
   Age: 22            Date: 2009/12/02




                                          Graph DB Meta-data:
                                                                             Patient         By       OfficeVisit      With         Doctor
                      informal                                            MRN
                                                                          Age              1..1 0..* Date            0..* 1..2
                                                                                                                                 Name
Internet Graph Database
                        Web clients
 URL    URL   URL…                              URL…
                          Viewlets

                       Graph Database
Probe




              Probe




                             Probe




                                        Probe




                                                       Probe
InfoGrid Development Process
InfoGrid Development Process

1. Create domain model
InfoGrid Development Process

1. Create domain model
2. Identify data sources & key URLs
InfoGrid Development Process

1. Create domain model
2. Identify data sources & key URLs
3. Develop probes || Develop viewlets (parallel)
InfoGrid Development Process

1. Create domain model
2. Identify data sources & key URLs
3. Develop probes || Develop viewlets (parallel)
4. Integrate and test
InfoGrid Development Process

1. Create domain model
2. Identify data sources & key URLs
3. Develop probes || Develop viewlets (parallel)
4. Integrate and test
5. Incrementally augment: model, probes, viewlets
InfoGrid Development Process

1. Create domain model
2. Identify data sources & key URLs
3. Develop probes || Develop viewlets (parallel)
4. Integrate and test
5. Incrementally augment: model, probes, viewlets
Why Does It Matter?
Why Does It Matter?

• Better: model-driven dynamic graph is better
  abstraction than inflexible tables
Why Does It Matter?

• Better: model-driven dynamic graph is better
  abstraction than inflexible tables
• Faster: reuse and compose instead of
  reinvent
Why Does It Matter?

• Better: model-driven dynamic graph is better
  abstraction than inflexible tables
• Faster: reuse and compose instead of
  reinvent
• Cheaper: development is shorter, but
  maintenance/increments much simpler
More information
   http://infogrid.org/
       @InfoGrid

More Related Content

Recently uploaded

UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
DianaGray10
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
Product School
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
Product School
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Tobias Schneck
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
OnBoard
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
Elena Simperl
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Thierry Lestable
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
RTTS
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Jeffrey Haguewood
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
Product School
 

Recently uploaded (20)

UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
 

Featured

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot
Marius Sescu
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
Expeed Software
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
Pixeldarts
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
ThinkNow
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
marketingartwork
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
Skeleton Technologies
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
Kurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
SpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Lily Ray
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
Rajiv Jayarajah, MAppComm, ACC
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
Christy Abraham Joy
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
Vit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
MindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
RachelPearson36
 

Featured (20)

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 

Model-Driven Development of Semantic Mashup Applications with the Open-Source InfoGrid Internet Graph Database

  • 1. Model-Driven Development of Semantic Mashup Applications With the Open-Source InfoGrid NoSQL Internet Graph Database Johannes Ernst NetMesh Inc. · InfoGrid.org Most recent version of this presentation is at: http://infogrid.org/wiki/Docs/SlidePresentations License: 2010 Johannes Ernst, Creative Commons Attribution-Share Alike 3.0
  • 3. Key Points • NoSQL is smoking hot in 2010
  • 4. Key Points • NoSQL is smoking hot in 2010 • Think "object graph" instead of "table" for more effective model-driven development
  • 5. Key Points • NoSQL is smoking hot in 2010 • Think "object graph" instead of "table" for more effective model-driven development • InfoGrid.org – graph database driven by conceptual-level models with code generator, REST, Java, open-source/commercial
  • 6. Key Points • NoSQL is smoking hot in 2010 • Think "object graph" instead of "table" for more effective model-driven development • InfoGrid.org – graph database driven by conceptual-level models with code generator, REST, Java, open-source/commercial • Semantically-aware mashups need not be as hard as with an RDBMS
  • 8. Example Object Graph :Complaint :Complaint Name: Pain Name: Blood Pressure HasChiefComplaint :Doctor Name: Smith :OfficeVisit Date: 2009/12/15 :OfficeVisit Date: 2010/01/01 Prescribed During With Lipitor: By :Doctor Medication Name: Miller Amount: 100 John Doe: Patient ActiveMeds: MRN: 123456789 MedCollection Age: 57 Ibuprofen: Medication Amount: 50
  • 9. Example Object Graph System 3 :Complaint :Complaint Name: Pain Name: Blood Pressure System 4 HasChiefComplaint :Doctor Name: Smith System 2 :OfficeVisit Date: 2009/12/15 :OfficeVisit Date: 2010/01/01 Prescribed During With System 1 By Lipitor: :Doctor Medication Name: Miller Amount: 100 System 5 John Doe: Patient ActiveMeds: MRN: 123456789 MedCollection Age: 57 Ibuprofen: Medication Amount: 50
  • 10. The Problem • Semantically aggregate data from multiple sources • Highly interrelated data • Real-time updates (downstream and upstream) • Decentralized schema evolution
  • 12. Types of Data Organization
  • 13. Types of Data Organization Tabular: SQL relational database
  • 14. Types of Data Organization Tabular: SQL relational database Documents: NoSQL document database
  • 15. Types of Data Organization Tabular: SQL relational database Documents: NoSQL Lookup: NoSQL document database key-value database
  • 16. Types of Data Organization Tabular: SQL Graph of instances: NoSQL relational database graph database : abc attribute: 1 : def : xyz attribute: 2 attribute: 5 : xyz attribute: 4 : def attribute: 3 Documents: NoSQL Lookup: NoSQL document database key-value database
  • 17. Types of Data Organization Tabular: SQL Graph of instances: NoSQL relational database graph database : abc attribute: 1 : def : xyz attribute: 2 attribute: 5 : xyz attribute: 4 : def attribute: 3 Documents: NoSQL Lookup: NoSQL document database key-value database
  • 18. Schema-Less vs. Model-Driven Instances in Graph DB: Type: OfficeVisit Type: By Date: 2009/12/15 Type: With Type: Patient Type: Doctor MRN: 123456789 Name: Miller Age: 57 Type: OfficeVisit Date: 2010/01/01 Type: Patient Type: Doctor MRN: 987654321 Name: Smith Type: OfficeVisit Age: 22 Date: 2009/12/02
  • 19. Schema-Less vs. Model-Driven Instances in Graph DB: :OfficeVisit Type: OfficeVisit Date: 2009/12/15 Type: By By With Date: 2009/12/15 Type: With Type: Patient John Doe: Patient Type: Doctor :Doctor MRN: 123456789 MRN: 123456789 Name: Miller Name: Miller Age: 57 Age: 57 :OfficeVisit Type: OfficeVisit Date: 2010/01/01 Date: 2010/01/01 :Doctor Jane Doe: Patient Name: Smith MRN: 987654321 Type: Doctor Age: 22 :OfficeVisit Type: Patient MRN: 987654321 Name: Smith Date: 2009/12/02 Type: OfficeVisit Age: 22 Date: 2009/12/02
  • 20. Schema-Less vs. Model-Driven Instances in Graph DB: :OfficeVisit Type: OfficeVisit Date: 2009/12/15 Type: By By With Date: 2009/12/15 Type: With Type: Patient John Doe: Patient Type: Doctor :Doctor MRN: 123456789 MRN: 123456789 Name: Miller Name: Miller Age: 57 Age: 57 :OfficeVisit Type: OfficeVisit Date: 2010/01/01 Date: 2010/01/01 :Doctor Jane Doe: Patient Name: Smith MRN: 987654321 Type: Doctor Age: 22 :OfficeVisit Type: Patient MRN: 987654321 Name: Smith Date: 2009/12/02 Type: OfficeVisit Age: 22 Date: 2009/12/02 Graph DB Meta-data: Patient By OfficeVisit With Doctor informal MRN Age 1..1 0..* Date 0..* 1..2 Name
  • 21. Internet Graph Database Web clients URL URL URL… URL… Viewlets Graph Database Probe Probe Probe Probe Probe
  • 23. InfoGrid Development Process 1. Create domain model
  • 24. InfoGrid Development Process 1. Create domain model 2. Identify data sources & key URLs
  • 25. InfoGrid Development Process 1. Create domain model 2. Identify data sources & key URLs 3. Develop probes || Develop viewlets (parallel)
  • 26. InfoGrid Development Process 1. Create domain model 2. Identify data sources & key URLs 3. Develop probes || Develop viewlets (parallel) 4. Integrate and test
  • 27. InfoGrid Development Process 1. Create domain model 2. Identify data sources & key URLs 3. Develop probes || Develop viewlets (parallel) 4. Integrate and test 5. Incrementally augment: model, probes, viewlets
  • 28. InfoGrid Development Process 1. Create domain model 2. Identify data sources & key URLs 3. Develop probes || Develop viewlets (parallel) 4. Integrate and test 5. Incrementally augment: model, probes, viewlets
  • 29. Why Does It Matter?
  • 30. Why Does It Matter? • Better: model-driven dynamic graph is better abstraction than inflexible tables
  • 31. Why Does It Matter? • Better: model-driven dynamic graph is better abstraction than inflexible tables • Faster: reuse and compose instead of reinvent
  • 32. Why Does It Matter? • Better: model-driven dynamic graph is better abstraction than inflexible tables • Faster: reuse and compose instead of reinvent • Cheaper: development is shorter, but maintenance/increments much simpler
  • 33. More information http://infogrid.org/ @InfoGrid

Editor's Notes