SlideShare a Scribd company logo
1 of 8
Download to read offline
Java access to Neo4j™ databases at different
levels of abstraction
ˮfocus on your domain model, not on how to map it to a databaseˮ
Issue closed: Database- Design & Mapping
Wolfgang Schuetzelhofer
Company @: www.iot-solutions.net
Project @: jcypher.iot-solutions.net
Wolfgang Schuetzelhofer
Company @: www.iot-solutions.net
Project @: jcypher.iot-solutions.net
Domain Queries (formulate queries based on your domain concepts)
Query-DSL (use a 'Native Java DSL' for the CYPHER language)
Generic Graph Model (work with nodes, relations, properties, ...)
Domain Mapping (store / retrieve complex domain models.
You don't write annotations, not even a single line of mapping code)
Database Access (uniformly access remote, embedded, in-memory dbs)
Neo4j
Graph Database
level of
abstraction
high
low
Transactions
Concurrency
(OptimisticLocking)
Non-
Functional
Features
Wolfgang Schuetzelhofer
Company @: www.iot-solutions.net
Project @: jcypher.iot-solutions.net
Wolfgang Schuetzelhofer
Company @: www.iot-solutions.net
Project @: jcypher.iot-solutions.net
List<Person> domainObjects = createDomainObjects();
Properties props = new Properties();
// properties for remote access
props.setProperty(DBProperties.SERVER_ROOT_URI, "http://localhost:7474");
IDBAccess dbAccess = DBAccessFactory.createDBAccess(DBType.REMOTE, props);
IDomainAccess domainAccess =
DomainAccessFactory.createDomainAccess(dbAccess, “PEOPLE-DOMAIN“);
domainAccess.store(domainObjects);
Wolfgang Schuetzelhofer
Company @: www.iot-solutions.net
Project @: jcypher.iot-solutions.net
DomainQuery q = domainAccess.createQuery();
DomainObjectMatch<Person> j_smithMatch = q.createMatch(Person.class);
q.WHERE(j_smithMatch.atttribute("lastName")).EQUALS("Smith");
q.WHERE(j_smithMatch.atttribute("firstName")).EQUALS("John");
DomainObjectMatch<Person> j_smith_residentsMatch =
q.TRAVERSE_FROM(j_smithMatch).FORTH("pointsOfContact")
.BACK("pointsOfContact").TO(Person.class);
DomainQueryResult result = q.execute();
List<Person> j_smith_residents = result.resultOf(j_smith_residentsMatch);
Wolfgang Schuetzelhofer
Company @: www.iot-solutions.net
Project @: jcypher.iot-solutions.net
DomainQuery q = domainAccess.createQuery();
DomainObjectMatch<Person> smithMatch = q.createMatch(Person.class);
q.WHERE(smithMatch.atttribute("lastName")).EQUALS("Smith");
DomainObjectMatch<Area> smithAreasMatch =
q.TRAVERSE_FROM(smithMatch).FORTH("pointsOfContact")
.FORTH("area").FORTH("partOf").DISTANCE(0, -1).TO(Area.class);
DomainQueryResult result = q.execute();
List<Person> smithInEurope = result.resultOf(smithInEuropeMatch);
DomainObjectMatch<Area> europeMatch = q.createMatch(Area.class);
q.WHERE(europeMatch.atttribute("name")).EQUALS("Europe");
DomainObjectMatch<Person> smithInEuropeMatch =
q.SELECT_FROM(smithMatch).ELEMENTS(
q.WHERE(smithAreasMatch).CONTAINS(europeMatch));
Wolfgang Schuetzelhofer
Company @: www.iot-solutions.net
Project @: jcypher.iot-solutions.net
• New Features still being added on a regular basis.
• Storing Domain Queries with the Domain
Model (upcoming Release)
• New Project JCypher-Server
• A server-side implementation of Jcypher,
providing a RESTFul API
• A WEB-UI to work and experiment with
Domain Models and Domain Queries
Thank You !
Wolfgang Schuetzelhofer
Company @: www.iot-solutions.net
Project @: jcypher.iot-solutions.net

More Related Content

Viewers also liked

Sitzunterlagen bedruckt
Sitzunterlagen bedrucktSitzunterlagen bedruckt
Sitzunterlagen bedrucktMonika Ibi
 
How Atlassian Uses Analytics to Build Better Products
How Atlassian Uses Analytics to Build Better ProductsHow Atlassian Uses Analytics to Build Better Products
How Atlassian Uses Analytics to Build Better ProductsAtlassian
 
CILIP day - Marketing your library using social media - Feb 2016
CILIP day - Marketing your library using social media - Feb 2016CILIP day - Marketing your library using social media - Feb 2016
CILIP day - Marketing your library using social media - Feb 2016Neil Infield
 
GraphConnect Europe 2016 - IoT - where do Graphs fit with Business Requiremen...
GraphConnect Europe 2016 - IoT - where do Graphs fit with Business Requiremen...GraphConnect Europe 2016 - IoT - where do Graphs fit with Business Requiremen...
GraphConnect Europe 2016 - IoT - where do Graphs fit with Business Requiremen...Neo4j
 
Legalising prostitution
Legalising prostitutionLegalising prostitution
Legalising prostitutionlirinliru
 
Hábitos alimenticios y deportivos en niños/as 9-16 años
Hábitos alimenticios y deportivos en niños/as  9-16 añosHábitos alimenticios y deportivos en niños/as  9-16 años
Hábitos alimenticios y deportivos en niños/as 9-16 añosJose Jiménez
 
Resume_COwen_2017
Resume_COwen_2017Resume_COwen_2017
Resume_COwen_2017Chris Owen
 
Examen de nombramiento y contrato docente 23 de agosto del 2015 bamba
Examen de nombramiento y contrato docente 23 de agosto del 2015   bambaExamen de nombramiento y contrato docente 23 de agosto del 2015   bamba
Examen de nombramiento y contrato docente 23 de agosto del 2015 bambaColegio
 

Viewers also liked (12)

Sitzunterlagen bedruckt
Sitzunterlagen bedrucktSitzunterlagen bedruckt
Sitzunterlagen bedruckt
 
Qui est ValBonvent
Qui est ValBonventQui est ValBonvent
Qui est ValBonvent
 
How Atlassian Uses Analytics to Build Better Products
How Atlassian Uses Analytics to Build Better ProductsHow Atlassian Uses Analytics to Build Better Products
How Atlassian Uses Analytics to Build Better Products
 
AMADIM Obesidad e Hipertensión Arterial Dr. Raúl Morín Neobes
AMADIM Obesidad e Hipertensión Arterial  Dr. Raúl Morín NeobesAMADIM Obesidad e Hipertensión Arterial  Dr. Raúl Morín Neobes
AMADIM Obesidad e Hipertensión Arterial Dr. Raúl Morín Neobes
 
CILIP day - Marketing your library using social media - Feb 2016
CILIP day - Marketing your library using social media - Feb 2016CILIP day - Marketing your library using social media - Feb 2016
CILIP day - Marketing your library using social media - Feb 2016
 
GraphConnect Europe 2016 - IoT - where do Graphs fit with Business Requiremen...
GraphConnect Europe 2016 - IoT - where do Graphs fit with Business Requiremen...GraphConnect Europe 2016 - IoT - where do Graphs fit with Business Requiremen...
GraphConnect Europe 2016 - IoT - where do Graphs fit with Business Requiremen...
 
MCC / pres2
MCC / pres2MCC / pres2
MCC / pres2
 
Legalising prostitution
Legalising prostitutionLegalising prostitution
Legalising prostitution
 
Ángulos Entre Paralelas
Ángulos Entre ParalelasÁngulos Entre Paralelas
Ángulos Entre Paralelas
 
Hábitos alimenticios y deportivos en niños/as 9-16 años
Hábitos alimenticios y deportivos en niños/as  9-16 añosHábitos alimenticios y deportivos en niños/as  9-16 años
Hábitos alimenticios y deportivos en niños/as 9-16 años
 
Resume_COwen_2017
Resume_COwen_2017Resume_COwen_2017
Resume_COwen_2017
 
Examen de nombramiento y contrato docente 23 de agosto del 2015 bamba
Examen de nombramiento y contrato docente 23 de agosto del 2015   bambaExamen de nombramiento y contrato docente 23 de agosto del 2015   bamba
Examen de nombramiento y contrato docente 23 de agosto del 2015 bamba
 

More from Neo4j

Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
QIAGEN: Biomedical Knowledge Graphs for Data Scientists and Bioinformaticians
QIAGEN: Biomedical Knowledge Graphs for Data Scientists and BioinformaticiansQIAGEN: Biomedical Knowledge Graphs for Data Scientists and Bioinformaticians
QIAGEN: Biomedical Knowledge Graphs for Data Scientists and BioinformaticiansNeo4j
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Neo4j
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfNeo4j
 
ISDEFE - GraphSummit Madrid - ARETA: Aviation Real-Time Emissions Token Accre...
ISDEFE - GraphSummit Madrid - ARETA: Aviation Real-Time Emissions Token Accre...ISDEFE - GraphSummit Madrid - ARETA: Aviation Real-Time Emissions Token Accre...
ISDEFE - GraphSummit Madrid - ARETA: Aviation Real-Time Emissions Token Accre...Neo4j
 
BBVA - GraphSummit Madrid - Caso de éxito en BBVA: Optimizando con grafos
BBVA - GraphSummit Madrid - Caso de éxito en BBVA: Optimizando con grafosBBVA - GraphSummit Madrid - Caso de éxito en BBVA: Optimizando con grafos
BBVA - GraphSummit Madrid - Caso de éxito en BBVA: Optimizando con grafosNeo4j
 
Graph Everywhere - Josep Taruella - Por qué Graph Data Science en tus modelos...
Graph Everywhere - Josep Taruella - Por qué Graph Data Science en tus modelos...Graph Everywhere - Josep Taruella - Por qué Graph Data Science en tus modelos...
Graph Everywhere - Josep Taruella - Por qué Graph Data Science en tus modelos...Neo4j
 
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4jGraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4jNeo4j
 
Neo4j_Exploring the Impact of Graph Technology on Financial Services.pdf
Neo4j_Exploring the Impact of Graph Technology on Financial Services.pdfNeo4j_Exploring the Impact of Graph Technology on Financial Services.pdf
Neo4j_Exploring the Impact of Graph Technology on Financial Services.pdfNeo4j
 
Rabobank_Exploring the Impact of Graph Technology on Financial Services.pdf
Rabobank_Exploring the Impact of Graph Technology on Financial Services.pdfRabobank_Exploring the Impact of Graph Technology on Financial Services.pdf
Rabobank_Exploring the Impact of Graph Technology on Financial Services.pdfNeo4j
 
Webinar - IA generativa e grafi Neo4j: RAG time!
Webinar - IA generativa e grafi Neo4j: RAG time!Webinar - IA generativa e grafi Neo4j: RAG time!
Webinar - IA generativa e grafi Neo4j: RAG time!Neo4j
 
IA Generativa y Grafos de Neo4j: RAG time
IA Generativa y Grafos de Neo4j: RAG timeIA Generativa y Grafos de Neo4j: RAG time
IA Generativa y Grafos de Neo4j: RAG timeNeo4j
 
Neo4j: Data Engineering for RAG (retrieval augmented generation)
Neo4j: Data Engineering for RAG (retrieval augmented generation)Neo4j: Data Engineering for RAG (retrieval augmented generation)
Neo4j: Data Engineering for RAG (retrieval augmented generation)Neo4j
 
Neo4j Graph Summit 2024 Workshop - EMEA - Breda_and_Munchen.pdf
Neo4j Graph Summit 2024 Workshop - EMEA - Breda_and_Munchen.pdfNeo4j Graph Summit 2024 Workshop - EMEA - Breda_and_Munchen.pdf
Neo4j Graph Summit 2024 Workshop - EMEA - Breda_and_Munchen.pdfNeo4j
 
Enabling GenAI Breakthroughs with Knowledge Graphs
Enabling GenAI Breakthroughs with Knowledge GraphsEnabling GenAI Breakthroughs with Knowledge Graphs
Enabling GenAI Breakthroughs with Knowledge GraphsNeo4j
 
Neo4j_Anurag Tandon_Product Vision and Roadmap.Benelux.pptx.pdf
Neo4j_Anurag Tandon_Product Vision and Roadmap.Benelux.pptx.pdfNeo4j_Anurag Tandon_Product Vision and Roadmap.Benelux.pptx.pdf
Neo4j_Anurag Tandon_Product Vision and Roadmap.Benelux.pptx.pdfNeo4j
 
Neo4j Jesus Barrasa The Art of the Possible with Graph
Neo4j Jesus Barrasa The Art of the Possible with GraphNeo4j Jesus Barrasa The Art of the Possible with Graph
Neo4j Jesus Barrasa The Art of the Possible with GraphNeo4j
 

More from Neo4j (20)

Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
QIAGEN: Biomedical Knowledge Graphs for Data Scientists and Bioinformaticians
QIAGEN: Biomedical Knowledge Graphs for Data Scientists and BioinformaticiansQIAGEN: Biomedical Knowledge Graphs for Data Scientists and Bioinformaticians
QIAGEN: Biomedical Knowledge Graphs for Data Scientists and Bioinformaticians
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdf
 
ISDEFE - GraphSummit Madrid - ARETA: Aviation Real-Time Emissions Token Accre...
ISDEFE - GraphSummit Madrid - ARETA: Aviation Real-Time Emissions Token Accre...ISDEFE - GraphSummit Madrid - ARETA: Aviation Real-Time Emissions Token Accre...
ISDEFE - GraphSummit Madrid - ARETA: Aviation Real-Time Emissions Token Accre...
 
BBVA - GraphSummit Madrid - Caso de éxito en BBVA: Optimizando con grafos
BBVA - GraphSummit Madrid - Caso de éxito en BBVA: Optimizando con grafosBBVA - GraphSummit Madrid - Caso de éxito en BBVA: Optimizando con grafos
BBVA - GraphSummit Madrid - Caso de éxito en BBVA: Optimizando con grafos
 
Graph Everywhere - Josep Taruella - Por qué Graph Data Science en tus modelos...
Graph Everywhere - Josep Taruella - Por qué Graph Data Science en tus modelos...Graph Everywhere - Josep Taruella - Por qué Graph Data Science en tus modelos...
Graph Everywhere - Josep Taruella - Por qué Graph Data Science en tus modelos...
 
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4jGraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
 
Neo4j_Exploring the Impact of Graph Technology on Financial Services.pdf
Neo4j_Exploring the Impact of Graph Technology on Financial Services.pdfNeo4j_Exploring the Impact of Graph Technology on Financial Services.pdf
Neo4j_Exploring the Impact of Graph Technology on Financial Services.pdf
 
Rabobank_Exploring the Impact of Graph Technology on Financial Services.pdf
Rabobank_Exploring the Impact of Graph Technology on Financial Services.pdfRabobank_Exploring the Impact of Graph Technology on Financial Services.pdf
Rabobank_Exploring the Impact of Graph Technology on Financial Services.pdf
 
Webinar - IA generativa e grafi Neo4j: RAG time!
Webinar - IA generativa e grafi Neo4j: RAG time!Webinar - IA generativa e grafi Neo4j: RAG time!
Webinar - IA generativa e grafi Neo4j: RAG time!
 
IA Generativa y Grafos de Neo4j: RAG time
IA Generativa y Grafos de Neo4j: RAG timeIA Generativa y Grafos de Neo4j: RAG time
IA Generativa y Grafos de Neo4j: RAG time
 
Neo4j: Data Engineering for RAG (retrieval augmented generation)
Neo4j: Data Engineering for RAG (retrieval augmented generation)Neo4j: Data Engineering for RAG (retrieval augmented generation)
Neo4j: Data Engineering for RAG (retrieval augmented generation)
 
Neo4j Graph Summit 2024 Workshop - EMEA - Breda_and_Munchen.pdf
Neo4j Graph Summit 2024 Workshop - EMEA - Breda_and_Munchen.pdfNeo4j Graph Summit 2024 Workshop - EMEA - Breda_and_Munchen.pdf
Neo4j Graph Summit 2024 Workshop - EMEA - Breda_and_Munchen.pdf
 
Enabling GenAI Breakthroughs with Knowledge Graphs
Enabling GenAI Breakthroughs with Knowledge GraphsEnabling GenAI Breakthroughs with Knowledge Graphs
Enabling GenAI Breakthroughs with Knowledge Graphs
 
Neo4j_Anurag Tandon_Product Vision and Roadmap.Benelux.pptx.pdf
Neo4j_Anurag Tandon_Product Vision and Roadmap.Benelux.pptx.pdfNeo4j_Anurag Tandon_Product Vision and Roadmap.Benelux.pptx.pdf
Neo4j_Anurag Tandon_Product Vision and Roadmap.Benelux.pptx.pdf
 
Neo4j Jesus Barrasa The Art of the Possible with Graph
Neo4j Jesus Barrasa The Art of the Possible with GraphNeo4j Jesus Barrasa The Art of the Possible with Graph
Neo4j Jesus Barrasa The Art of the Possible with Graph
 

Recently uploaded

Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 

Recently uploaded (20)

Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 

GraphConnect Europe 2016 - JCypher, Issue Closed: Database-Design & Mapping - Dr. Wolfgang Schützelhofer

  • 1. Java access to Neo4j™ databases at different levels of abstraction ˮfocus on your domain model, not on how to map it to a databaseˮ Issue closed: Database- Design & Mapping Wolfgang Schuetzelhofer Company @: www.iot-solutions.net Project @: jcypher.iot-solutions.net
  • 2. Wolfgang Schuetzelhofer Company @: www.iot-solutions.net Project @: jcypher.iot-solutions.net Domain Queries (formulate queries based on your domain concepts) Query-DSL (use a 'Native Java DSL' for the CYPHER language) Generic Graph Model (work with nodes, relations, properties, ...) Domain Mapping (store / retrieve complex domain models. You don't write annotations, not even a single line of mapping code) Database Access (uniformly access remote, embedded, in-memory dbs) Neo4j Graph Database level of abstraction high low Transactions Concurrency (OptimisticLocking) Non- Functional Features
  • 3. Wolfgang Schuetzelhofer Company @: www.iot-solutions.net Project @: jcypher.iot-solutions.net
  • 4. Wolfgang Schuetzelhofer Company @: www.iot-solutions.net Project @: jcypher.iot-solutions.net List<Person> domainObjects = createDomainObjects(); Properties props = new Properties(); // properties for remote access props.setProperty(DBProperties.SERVER_ROOT_URI, "http://localhost:7474"); IDBAccess dbAccess = DBAccessFactory.createDBAccess(DBType.REMOTE, props); IDomainAccess domainAccess = DomainAccessFactory.createDomainAccess(dbAccess, “PEOPLE-DOMAIN“); domainAccess.store(domainObjects);
  • 5. Wolfgang Schuetzelhofer Company @: www.iot-solutions.net Project @: jcypher.iot-solutions.net DomainQuery q = domainAccess.createQuery(); DomainObjectMatch<Person> j_smithMatch = q.createMatch(Person.class); q.WHERE(j_smithMatch.atttribute("lastName")).EQUALS("Smith"); q.WHERE(j_smithMatch.atttribute("firstName")).EQUALS("John"); DomainObjectMatch<Person> j_smith_residentsMatch = q.TRAVERSE_FROM(j_smithMatch).FORTH("pointsOfContact") .BACK("pointsOfContact").TO(Person.class); DomainQueryResult result = q.execute(); List<Person> j_smith_residents = result.resultOf(j_smith_residentsMatch);
  • 6. Wolfgang Schuetzelhofer Company @: www.iot-solutions.net Project @: jcypher.iot-solutions.net DomainQuery q = domainAccess.createQuery(); DomainObjectMatch<Person> smithMatch = q.createMatch(Person.class); q.WHERE(smithMatch.atttribute("lastName")).EQUALS("Smith"); DomainObjectMatch<Area> smithAreasMatch = q.TRAVERSE_FROM(smithMatch).FORTH("pointsOfContact") .FORTH("area").FORTH("partOf").DISTANCE(0, -1).TO(Area.class); DomainQueryResult result = q.execute(); List<Person> smithInEurope = result.resultOf(smithInEuropeMatch); DomainObjectMatch<Area> europeMatch = q.createMatch(Area.class); q.WHERE(europeMatch.atttribute("name")).EQUALS("Europe"); DomainObjectMatch<Person> smithInEuropeMatch = q.SELECT_FROM(smithMatch).ELEMENTS( q.WHERE(smithAreasMatch).CONTAINS(europeMatch));
  • 7. Wolfgang Schuetzelhofer Company @: www.iot-solutions.net Project @: jcypher.iot-solutions.net • New Features still being added on a regular basis. • Storing Domain Queries with the Domain Model (upcoming Release) • New Project JCypher-Server • A server-side implementation of Jcypher, providing a RESTFul API • A WEB-UI to work and experiment with Domain Models and Domain Queries
  • 8. Thank You ! Wolfgang Schuetzelhofer Company @: www.iot-solutions.net Project @: jcypher.iot-solutions.net