Neo4j. Neo4j's Cypher. Samstag, 27. April 13
|
|
- Elfreda Riley
- 6 years ago
- Views:
Transcription
1 Neo4j Neo4j's Cypher 1
2 (Michael)-[:WORKS_ON]-> (Neo4j) console Cypher Community Michael Server Neo4j.org Spring Cloud 2
3 3
4 is a 4
5 NOSQL 5
6 Graph Database 6
7 Some Ways to Learn Cypher 7
8 Focus on this for an hour 8
9 START WHERE Aggregation DELETE BINDS FILTERS RESTRUCTURES REMOVE_FROM Identifier Result BOUND_TO USED_IN BUILDS_UP PAGINATES SKIP/LIMIT Graph FOUND_IN Pattern ADD_TO CREATES DESCRIBES FIX CREATE COMPLETES MATCH RELATE 9
10 The Neo4j Manual docs.neo4j.org 10
11 11
12 The Cypher Reference Card 12
13 Printout at booth 13
14 The Graph Databases Book 14
15 Free Download 15
16 The Neo4j Console 16
17 The Neo4j Console You can share Graphs: 17
18 The interactive Cypher Session 18
19 19
20 A Training Berlin, Frankfurt, Munich, Zurich, Vienna, Hamburg 20
21 Listen carefully during 1st half of this talk 21
22 A project of your own Class-Graph 22
23 Cypher a humane, pattern-matching query language for graphs 23
24 Why Cypher? Not only scale of size is hard Scale of complexity is pretty hard as well 24
25 Cypher attributes #1 Declarative You tell Cypher what you want, not how to get it 25
26 Cypher attributes #2 Expressive Optimize syntax for reading MATCH (a:actor)-[r:acts_in]->(m:movie) RETURN a.name, r.role, m.title 26
27 Cypher attributes #3 Pattern Matching Patterns are easy for your brain 27
28 Cypher attributes #4 Idempotent State change should be expressed idempotently 28
29 Cypher Clauses Some Syntax 29
30 30
31 Cypher: START + RETURN START <lookup> RETURN <expressions> START binds terms using simple look-up directly using known ids or based on indexed Property RETURN expressions specify result set 30
32 Cypher: START + RETURN START <lookup> RETURN <expressions> START binds terms using simple look-up directly using known ids or based on indexed Property RETURN expressions specify result set // lookup node id 0, return that node start n=node(0) return n // lookup node in Index, return that node start n=node:person(name="andreas") return n // lookup all nodes, return all name properties start n=node(*) return n.name 30
33 31
34 Cypher: MATCH START <lookup> MATCH <pattern> RETURN <expr> MATCH describes a pattern of nodes+relationships node terms in optional parenthesis lines with arrows for relationships 31
35 Cypher: MATCH START <lookup> MATCH <pattern> RETURN <expr> MATCH describes a pattern of nodes+relationships node terms in optional parenthesis lines with arrows for relationships // lookup 'n', traverse any relationship to some 'm' start n=node(0) match (n)--(m) return n,m // any outgoing relationship from 'n' to 'm' start n=node(0) match n-->m return n,m // only 'KNOWS' relationships from 'n' to 'm' start n=node(0) match n-[:knows]->m return n,m // from 'n' to 'm' and capture the relationship as 'r' start n=node(0) match n-[r]->m return n,r,m // from 'n' outgoing to 'm', then incoming from 'o' start n=node(0) match n-->m<--o return n,m,o 31
36 32
37 Cypher: WHERE START <lookup> [MATCH <pattern>] WHERE <condition> RETURN <expr> WHERE filters nodes or relationships uses expressions to constrain elements 32
38 Cypher: WHERE START <lookup> [MATCH <pattern>] WHERE <condition> RETURN <expr> WHERE filters nodes or relationships uses expressions to constrain elements // lookup all nodes as 'n', constrained to name 'Andreas' start n=node(*) where n.name='andreas' return n // filter nodes where age is less than 30 start n=node(*) where n.age<30 return n // filter using a regular expression start n=node(*) where n.name =~ /Tob.*/ return n // filter for a property exists start n=node(*) where has(n.name) return n 32
39 33
40 Cypher: CREATE CREATE <node>[,node or relationship] RETURN <expr> create nodes with optional properties create relationship (must have a type) 33
41 Cypher: CREATE CREATE <node>[,node or relationship] RETURN <expr> create nodes with optional properties create relationship (must have a type) // create an anonymous node create n // create node with a property, returning it create n={name:'andreas'} return n // lookup 2 nodes, then create a relationship and return it start n=node(0),m=node(1) create n-[r:knows]-m return r // lookup nodes, then create a relationship with properties start n=node(1),m=node(2) create n-[r:knows {since:2008}]->m 33
42 34
43 Cypher: SET SET [<node property>] [<relationship property>] update a property on a node or relationship must follow a START 34
44 Cypher: SET SET [<node property>] [<relationship property>] update a property on a node or relationship must follow a START // update the name property start n=node(0) set n.name='peter' // update many nodes, using a calculation start n=node(*) set n.size=n.size+1 // match & capture a relationship, update a property start n=node(1) match n-[r]-m set r.times=10 34
45 35
46 Cypher: DELETE DELETE [<node> <relationship> <property>] delete a node, relationship or property must follow a START to delete a node, all relationships must be deleted first 35
47 Cypher: DELETE DELETE [<node> <relationship> <property>] delete a node, relationship or property must follow a START to delete a node, all relationships must be deleted first // delete a node start n=node(5) delete n // remove a node and all relationships start n=node(3) match n-[r]-() delete n, r // remove a property start n=node(3) delete n.age 35
48 Neo4j - the Graph Database 36
49 37
50 (Neo4j) -[:IS_A]-> (Graph Database) Open Source 1 M/s TRA VER SALS Master/Slave HIG H_A VA IL. O ES_T _A S SC AL.net LI CE NS ED _L IK E N _O Clojure JS S E T RA EG T IN PROVIDES NS RU Ruby Index RUN S_A S RU NS Server Lucene ACID TX MySQL Mongo embedded 34bn Nodes Heroku 38
51 Whiteboard --> Data 39
52 Whiteboard --> Data Andreas Peter Allison Emil 39
53 Whiteboard --> Data Andreas knows Peter knows Emil knows knows Allison 39
54 Whiteboard --> Data Andreas knows Peter knows Emil knows knows Allison 39
55 Whiteboard --> Data Andreas knows Peter knows Emil knows knows Allison // Cypher query - friend of a friend start n=node(0) match (n)--()--(foaf) return foaf 39
56 You can use Cypher from all drivers REST:// JDBC 40
57 How to get started? Documentation docs.neo4j.org - tutorials+reference free e-book: Graph Databases Neo4j in Action Spring Data, Good Relationships Get Neo4j Participate a session like this one ;) 41
58 Google "neo4j" [docs.]neo4j.org [news.]neotechnology.com github.com/neo4j neo4j.meetup.com graphconnect.com 42
59 Cypher in Action Software Metrics 43
60 Graphs in Software Technology UML / ER Diagrams are graphs dependencies between classes, packages, modules etc are graphs Software Metrics use dependency analysis Visualizations Cyclomatic Complexity, Fan-in (afferent-coupling) / Fan-out (efferent coupling) etc. 44
61 Code City 45
62 Class Diagram is a Graph 46
63 SonarJ 47
64 But there is more Visualize & Query Method, Field dependencies Collaborative filtering (co-usage) Ranking, God classes Paths between classes Architectural constraints Project dependencies 48
65 Recent project - Software Analytics & Graphs GraphLR - Antlr store - Pavlo Baron NeoMVN - Rickard Öberg Software-Metrics with Neo4j - Raoul Urma Architektur-Constraints - Dirk Mahler Class-Graph - Michael Hunger 49
66 Welcome to Class-Graph take a JAR put it through ASM scan it quickly pull everything into Neo4j add categories, indexes Have Fun 50
67 Welcome to Class-Graph :TYPE ALL_TYPES :ALL_TYPES :ALL_PACKAGES ROOT java.lang. Object :SUPER_TYPE :IN_PACKAGE :SUPER_TYPE :TYPE java.lang. Number :IN_PACKAGE java.lang java.lang. Comparable :lang java :PACKAGE_TREE java.lang. String :SUPER_TYPE :INTERFACE_TYPE :java :PARAM_TYPE java.lang. Integer PKG_TREE valueof :METHOD_OF :FIELD_OF value :RETURN_TYPE :FIELD_TYPE :THROWS int java.lang. NFE 51
68 Task: Find java.lang.number and return it 52
69 Task: Find java.lang.number and return it START o=node:types(name="java.lang.number") RETURN o; 52
70 Task: Subclasses of Number? Return just the name Order them alphabetically 53
71 Task: Subclasses of Number? START n=node:types(name="java.lang.number") MATCH n<-[:super_type]-s RETURN s.name ORDER BY s.name; Return just the name Order them alphabetically 53
72 Task: Which Methods does it have / how many Find the top 5 classes with the most members 54
73 Task: Which Methods does it have / how many START n=node:types(name="java.lang.number") MATCH n-[:method_of FIELD_OF]->m RETURN m; Find the top 5 classes with the most members 54
74 Task: Calculate the fan-out of java.lang.stringbuilder Calculate fan-in Which class has the highest fan-out What about package-level? 55
75 Task: Calculate the fan-out of java.lang.stringbuilder START o=node:types(name="j.l.stringbuilder") MATCH o-[:field_of]->f-[:field_type]->tf, o-[:method_of]->m-[:param_type]->tp, m-[:return_type]->tr RETURN o,count(distinct tf) + count(distinct tp) + count(distinct tr) AS fan_out; Calculate fan-in Which class has the highest fan-out What about package-level? 55
76 Task: Find longest Inheritance Path 56
77 Task: Find longest Inheritance Path START c=node:types(name="java.lang.object") MATCH path=p<-[:super_type*]-c RETURN extract(n in nodes(path) : n.name), length(path) AS len ORDER BY len DESC LIMIT 5; 56
78 Task: Find the class that used IOException most often 57
79 Task: Find the class that used IOException most often START ex=node:types(name="java.io.ioexception" MATCH ex<-[:throws]-m<-[:method_of]-c RETURN c, count(*) ORDER BY count(*) LIMIT 5; 57
80 Task: Which other classes did classes that threw IOException use most often? What could be a source of IOExceptions 58
81 Task: Which other classes did classes that threw IOException use most often? START ex=node:types(name="java.io.ioexception") MATCH ex<-[:throws]-m<-[:method_of]-c, mbr<-[:method_of FIELD_OF]-c, mbr-[:field_type PARAM_TYPE RETURN_TYPE THROWS]->other_type WHERE other_type.name =~ /.+[.].+/ RETURN other_type.name, count(*) ORDER BY count(*) desc LIMIT 10; What could be a source of IOExceptions 58
82 Task: Find a class you like and add a field with your name and some type 59
83 Task: Find a class you like and add a field with your name and some type START c=node:types(name="void"), t=node:types(name="java.lang.reflect.proxy") CREATE c-[:field_of]->(field {name: Michael }) -[:FIELD_TYPE]->t; 59
84 Task: Delete the most annoying class and all its methods, fields and their relationships 60
85 Task: Delete the most annoying class and all its methods, fields and their relationships START c=node:types(name="java.awt.list"), MATCH c-[r1:field_of METHOD_OF]->mbr-[r2]-() c-[r]-() DELETE c,mbr,r1,r2,r; 60
86 Rehash 61
87 START designates the start points 62
88 MATCH describes the pattern 63
89 WHERE filters the result set 64
90 CREATE creates nodes and relationships 65
91 CREATE UNIQUE creates unique patterns 66
92 RETURN projects the results 67
93 WITH chains queries, carries over 68
94 Thanks! Questions? we trade (good) questions for t-shirts 69
95 Visit our booth to chat with us or ask more questions learn more about Neo4j exchange your Q&A-shirt to the right size talk to Philip about the Neo4j Roadmap 70
Data Modeling with Neo4j. Stefan Armbruster, Neo Technology (slides from Michael Hunger)
Data Modeling with Neo4j Stefan Armbruster, Neo Technology (slides from Michael Hunger) 1 1 33 is a 44 NOSQL 55 Graph Database 66 A graph database... NO: not for charts & diagrams, or vector artwork YES:
More informationIntroducing A Graph Database - Neo4j Modeling Software Structures As A Graph Exploring An Application Using Queries Live Demo #1 Structures, Rules
Introducing A Graph Database - Neo4j Modeling Software Structures As A Graph Exploring An Application Using Queries Live Demo #1 Structures, Rules and Erosion Validation Of Conventions And Constraints
More informationIntroduction in Graph Databases and Neo4j
Introduction in Graph Databases and Neo4j most slides from: Stefan Armbruster Michael Hunger @darthvader42 stefan.armbruster@neotechnology.com 11 The Path Forward 1.No.. NO.. NOSQL 2.Why graphs? 3.What's
More informationNeo4J: Graph Database
February 24, 2013 Basics is a data storage and query system designed for storing graphs. Data as a series of relationships, modelled as a directed graph. Recall, a graph is a pair of sets: G(V, E) vertices
More informationBig Data, Complex Data
Big Data, Complex Data Managing Data and Complexity in Graph Databases Peter Neubauer Neo Technology #neo4j @peterneubauer peter@neotechnology.com Data size NOSQL data models Key-value stores Bigtable
More informationThe Neo4j Developer Manual v3.0
The Neo4j Developer Manual v3.0 Table of Contents Introduction.............................................................................. 1 1. Neo4j highlights......................................................................
More informationNOSQL Databases and Neo4j
NOSQL Databases and Neo4j Database and DBMS Database - Organized collection of data The term database is correctly applied to the data and their supporting data structures. DBMS - Database Management System:
More informationUnified Modeling Language (UML) Class Diagram
1 / 10 Unified Modeling Language (UML) Class Diagram Miaoqing Huang University of Arkansas Spring 2010 2 / 10 Outline 1 2 3 / 10 Class Diagram Class diagrams show the static structure of the classes that
More informationThe Neo4j Developer Manual v3.3
The Neo4j Developer Manual v3.3 Table of Contents Introduction.............................................................................. 1 1. Neo4j highlights......................................................................
More informationContents. Getting Set Up Contents 2
Getting Set Up Contents 2 Contents Getting Set Up... 3 Best Practices...3 Installing the JAR File... 3 Configuring Community Manager Reports...4 Configure the Analytics Database...4 Enable the Analytics
More informationNeo4j. Spatial. Peter Neubauer Neo Technology. GIS for the rest of us.
Neo4j Spatial GIS for the rest of us Peter Neubauer Neo Technology #neo4j @peterneubauer peter@neotechnology.com Data size NOSQL data models Key-value stores Bigtable clones Document databases Graph databases
More informationNeo4j.rb. Graph Database. The Natural Way to Persist Data? Andreas Kollegge. Andreas Ronge
Neo4j.rb Graph Database The Natural Way to Persist Data? Andreas Kollegge Andreas Ronge NOSQL The problem with SQL: not designed for Accelerating growth of data Huge clustered environments Complex and
More informationThe Neo4j Developer Manual v3.0
The Neo4j Developer Manual v3.0 (index.html) Table of Contents Introduction 1. Neo4j highlights 2. Graph Database Concepts Get started 3. Install Neo4j 4. Get started with Cypher Cypher Language 5. Introduction
More informationGraph Analytics. Modeling Chat Data using a Graph Data Model. Creation of the Graph Database for Chats
Graph Analytics Modeling Chat Data using a Graph Data Model This we will be using a graph analytics approach to chat data from the Catch the Pink Flamingo game. Currently this chat data is purely numeric,
More informationIndex A, B. bi-directional relationships, 58 Brewer s Theorem, 3
Index A, B bi-directional relationships, 58 Brewer s Theorem, 3 C Caching systems file buffer cache, 21 high-performance cache, 22 object cache, 22 CAP Theorem, 3 collect function, 56 Constraints, 46 47
More informationNETWORK FAILURES AND ROOT CAUSE ANALYSIS: AN APPROACH USING GRAPH DATABASES
NETWORK FAILURES AND ROOT CAUSE ANALYSIS: AN APPROACH USING GRAPH DATABASES 1 A. VIJAY KUMAR, 2 G. ANJAN BABU Department of Computer Science, S V University, Tirupati, India Abstract - Detecting the origin
More informationObject-Oriented Databases Graph Databases. April 26, 2017 Alexandre de Spindler Department of Computer Science
Object-Oriented Databases Graph Databases 1 Graph Databases Meta model Graph containing vertices and edges In some cases, vertices and edges may have properties (key-value) API Support the management (CRUD)
More informationRecap: Functions as first-class values
Recap: Functions as first-class values Arguments, return values, bindings What are the benefits? Parameterized, similar functions (e.g. Testers) Creating, (Returning) Functions Iterator, Accumul, Reuse
More informationFunctional programming in C#
Functional programming in C# A quick approach to another paradigm Nacho Iborra IES San Vicente This work is licensed under the Creative Commons Attribution- NonCommercial-ShareAlike 4.0 International License.
More informationPGQL 0.9 Specification
PGQL 0.9 Specification Table of Contents Table of Contents Introduction Basic Query Structure Clause Topology Constraint Repeated Variables in Multiple Topology Constraints Syntactic Sugars for Topology
More informationTraversing Graph Databases with Gremlin. Marko A. Rodriguez Graph Systems Architect.
Traversing Graph Databases with Gremlin Marko A. Rodriguez Graph Systems Architect http://markorodriguez.com NoSQL New York City Meetup May 16, 2011 Gremlin G =(V, E) May 10, 2011 Thank You Sponsors Short
More informationIntroduction to Graph Databases
Introduction to Graph Databases David Montag @dmontag #neo4j 1 Agenda NOSQL overview Graph Database 101 A look at Neo4j The red pill 2 Why you should listen Forrester says: The market for graph databases
More informationMETRIC ATTITUDE PLUG-IN FOR ECLIPSE USER GUIDE
METRIC ATTITUDE PLUG-IN FOR ECLIPSE USER GUIDE Metric Attitude Pag. 0 CONTENTS CONTENTS... 1 INTRODUCTION... 2 ECLIPSE... 2 1. INSTALLING ECLIPS FOR WINDOWS SYSTEM... 3 2. INSTALLING METRIC ATTITUDE...
More informationCONTENTS. PART 1 Structured Programming 1. 1 Getting started 3. 2 Basic programming elements 17
List of Programs xxv List of Figures xxix List of Tables xxxiii Preface to second version xxxv PART 1 Structured Programming 1 1 Getting started 3 1.1 Programming 3 1.2 Editing source code 5 Source code
More informationRECODER - The Architecture of a Refactoring System
RECODER - The Architecture of a Refactoring System Andreas Ludwig Prof. U. Aßmann http://recoder.sf.net Overview ➊Programming in the Large Problems, Concepts, The Approach ➋The Architecture of RECODER
More informationCSSE 220 Day 19. Object-Oriented Design Files & Exceptions. Check out FilesAndExceptions from SVN
CSSE 220 Day 19 Object-Oriented Design Files & Exceptions Check out FilesAndExceptions from SVN A practical technique OBJECT-ORIENTED DESIGN Object-Oriented Design We won t use full-scale, formal methodologies
More informationObject Oriented Metrics. Impact on Software Quality
Object Oriented Metrics Impact on Software Quality Classic metrics Lines Of Code Function points Complexity Code coverage - testing Maintainability Index discussed later Lines of Code KLOC = 1000 Lines
More informationJavaLand Dirk Mahler
by JavaLand 2015 Dirk Mahler Black Boxes Called Artifacts Software As A Graph jqassistant Let s Explore Libraries! 2 Yes We Scan Software Analysis Using jqassistant 3 Artifact Result of a build/integration
More informationI) write schema of the six files.
Graph Analytics Modeling Chat Data using a Graph Data Model (Describe the graph model for chats in a few sentences. Try to be clear and complete.) Creation of the Graph Database for Chats Describe the
More informationJUG Saxony Day Dirk Mahler
by JUG Saxony Day 2017 Dirk Mahler Motivation jqassistant The Git Graph Demo Q&A 2 Shadows Of The Past Analysis Of Git Repositories 3 + http://codescene.io Adam Tornhill https://pragprog.com/book/atcrime/your-code-as-a-crime-scene
More informationA Little Graph Theory for the Busy Developer. Dr. Jim Webber Chief Scientist, Neo
A Little Graph Theory for the Busy Developer Dr. Jim Webber Chief Scientist, Neo Technology @jimwebber Roadmap Imprisoned data Graph models Graph theory Local properties, global behaviours Predictive techniques
More informationCSSE 220 Day 19. Object-Oriented Design Files & Exceptions. Check out FilesAndExceptions from SVN
CSSE 220 Day 19 Object-Oriented Design Files & Exceptions Check out FilesAndExceptions from SVN A practical technique OBJECT-ORIENTED DESIGN Object-Oriented Design We won t use full-scale, formal methodologies
More informationGraph Database, think different!
Graph Database, think different! Written by Roni Licher Winter 2014-2015 236363 - Database Systems - Technion Nodes Edges (directed or not) Properties Neo4j and Cypher 4j Graph database (Like SQL server
More informationMIDTERM EXAMINATION - CS130 - Spring 2003
MIDTERM EXAMINATION - CS130 - Spring 2003 Your full name: Your UCSD ID number: This exam is closed book and closed notes Total number of points in this exam: 120 + 10 extra credit This exam counts for
More informationSpring & Hibernate. Knowledge of database. And basic Knowledge of web application development. Module 1: Spring Basics
Spring & Hibernate Overview: The spring framework is an application framework that provides a lightweight container that supports the creation of simple-to-complex components in a non-invasive fashion.
More informationInformatics 1: Data & Analysis
Informatics 1: Data & Analysis Lecture 3: The Relational Model Ian Stark School of Informatics The University of Edinburgh Tuesday 24 January 2017 Semester 2 Week 2 https://blog.inf.ed.ac.uk/da17 Lecture
More informationCIP Multiple Graphs. Presentation at ocig 8 on April 11, Stefan Plantikow, Andrés Taylor, Petra Selmer (Neo4j)
CIP2017-06-18 Multiple Graphs Presentation at ocig 8 on April 11, 2018 Stefan Plantikow, Andrés Taylor, Petra Selmer (Neo4j) History Started working on multiple graphs early 2017 Parallel work in LDBC
More informationProgramming Languages and Techniques (CIS120)
Programming Languages and Techniques () Lecture 6 January 24, 2018 Binary Search Trees (Lecture notes Chapter 7) Announcements Homework 2: Computing Human Evolution due Tuesday, September 19 th Reading:
More informationNEO4J: GRAPH DATA MODEL
Graph Data Many types of data can be represented with nodes and edges Variations Edges can be directed or undirected Nodes and edges can have types or labels Nodes and edges can have attributes Data Management
More informationHow to Use NoSQL in Enterprise Java Applications
How to Use NoSQL in Enterprise Java Applications Patrick Baumgartner NoSQL Roadshow Basel 30.08.2012 Agenda Speaker Profile New Demands on Data Access New Types of Data Stores Integrating NoSQL Data Stores
More informationObject-oriented metrics 1
Advanced Object-Oriented Design Lecture 4 Object-oriented metrics Bartosz Walter 1. Motivation and goals 2. omplexity metrics 3. Metrics for Object-Oriented Design (MOOD suite)
More informationMore on Objects in JAVA TM
More on Objects in JAVA TM Inheritance : Definition: A subclass is a class that extends another class. A subclass inherits state and behavior from all of its ancestors. The term superclass refers to a
More informationGraph Databases. Big Data Course. Antonio Maccioni. 24 April Rome. locatedin
ic p o t heldby wher e Big Data Course y email locatedin af fili at ed B offered Antonio Maccioni maccioni@dia.uniroma3.it Rome Of re tu 24 April 2014 lec wh en Graph Databases Graph Databases are an odd
More informationAnalyzing a social network using Big Data Spatial and Graph Property Graph
Analyzing a social network using Big Data Spatial and Graph Property Graph Oskar van Rest Principal Member of Technical Staff Gabriela Montiel-Moreno Principal Member of Technical Staff Safe Harbor Statement
More informationContents. Figures. Tables. Examples. Foreword. Preface. 1 Basics of Java Programming 1. xix. xxi. xxiii. xxvii. xxix
PGJC4_JSE8_OCA.book Page ix Monday, June 20, 2016 2:31 PM Contents Figures Tables Examples Foreword Preface xix xxi xxiii xxvii xxix 1 Basics of Java Programming 1 1.1 Introduction 2 1.2 Classes 2 Declaring
More informationFull Text Search with Sphinx
OSCON 2009 Peter Zaitsev, Percona Inc Andrew Aksyonoff, Sphinx Technologies Inc. Sphinx in a nutshell Free, open-source full-text search engine Fast indexing and searching Scales well Lots of other (unique)
More informationAbout this exam review
Final Exam Review About this exam review I ve prepared an outline of the material covered in class May not be totally complete! Exam may ask about things that were covered in class but not in this review
More informationCS112 Lecture: Exceptions. Objectives: 1. Introduce the concepts of program robustness and reliability 2. Introduce exceptions
CS112 Lecture: Exceptions Objectives: 1. Introduce the concepts of program robustness and reliability 2. Introduce exceptions Materials: 1. Online Java documentation to project 2. ExceptionDemo.java to
More informationWho we are: Database Research - Provenance, Integration, and more hot stuff. Boris Glavic. Department of Computer Science
Who we are: Database Research - Provenance, Integration, and more hot stuff Boris Glavic Department of Computer Science September 24, 2013 Hi, I am Boris Glavic, Assistant Professor Hi, I am Boris Glavic,
More informationCOSC 304 Introduction to Database Systems Enhanced Entity-Relationship (EER) Modeling
COSC 304 Introduction to Database Systems Enhanced Entity-Relationship (EER) Modeling Dr. Ramon Lawrence University of British Columbia Okanagan ramon.lawrence@ubc.ca Enhanced Entity-Relationship Modeling
More information3. Advanced E/R Concepts
What you will learn about in this section Subclasses & connection to OO 3. Advanced E/R Concepts Constraints Weak entity sets 75 76 Modeling Subclasses Modeling Subclasses Some objects in a class may be
More informationAn Introduction to Subtyping
An Introduction to Subtyping Type systems are to me the most interesting aspect of modern programming languages. Subtyping is an important notion that is helpful for describing and reasoning about type
More informationMultiple Graphs Updatable views & Choices
CIP2017-06-18 and related Multiple Graphs Updatable views & Choices Presentation at ocim 4 on May 22-24, 2018 Stefan Plantikow, Andrés Taylor, Petra Selmer (Neo4j) History Started working on multiple graphs
More informationopencypher.org
Person Person Director name: Ed Jones age: 37 favcolor: blue FRIENDS since: 2003-05-12 qualified: good name: Peter Fry nick: Lil Pete bio:... MATCH (me:person)-[:friend]->(friend) WHERE me.name = "Frank
More informationCompaq Interview Questions And Answers
Part A: Q1. What are the difference between java and C++? Java adopts byte code whereas C++ does not C++ supports destructor whereas java does not support. Multiple inheritance possible in C++ but not
More informationWhat s new in Grails 2.0?
What s new in Grails 2.0? About me Jeff Brown Grails Core Developer SpringSource/VMware Engineer jbrown@vmware.com @jeffscottbrown 2 The Year in Grails 3 The Year in Grails Grails 1.3 Plugins in Dependency
More informationProgramming in C# with Microsoft Visual Studio 2010
Programming in C# with Microsoft Visual Studio 2010 Course 10266; 5 Days, Instructor-led Course Description: The course focuses on C# program structure, language syntax, and implementation details with.net
More informationALGORITHMS EXAMINATION Department of Computer Science New York University December 17, 2007
ALGORITHMS EXAMINATION Department of Computer Science New York University December 17, 2007 This examination is a three hour exam. All questions carry the same weight. Answer all of the following six questions.
More informationSAS 9.4 Foundation Services: Administrator s Guide
SAS 9.4 Foundation Services: Administrator s Guide SAS Documentation July 18, 2017 The correct bibliographic citation for this manual is as follows: SAS Institute Inc. 2013. SAS 9.4 Foundation Services:
More informationThe world's leading graph DB. Georgios Eleftheriadis Software/Database Engineer
The world's leading graph DB Georgios Eleftheriadis Software/Database Engineer What is NOSQL? It s not No to SQL It s not Never SQL It s Not Only SQL as they may support SQL-like query languages NOSQL
More informationGraph Analytics. Modeling Chat Data using a Graph Data Model. Creation of the Graph Database for Chats
Graph Analytics Modeling Chat Data using a Graph Data Model The Pink Flamingo graph model includes users, teams, chat sessions, and chat item nodes with relationships or edges of a) creating sessions,
More informationChapter 18: Persistence
Chapter 18: Persistence This chapter introduces persistent data and methods for storing information in a file and database. You'll learn the basics of SQL and how App Engine lets you use objects to store
More informationPowerful and Efficient Bulk Shortest-Path Queries: Cypher language extension & Giraph implementation
Powerful and Efficient Bulk Shortest-Path Queries: Cypher language extension & Giraph implementation Peter Rutgers, Claudio Martella, Spyros Voulgaris, Peter Boncz VU University Amsterdam Spyros Voulgaris
More informationGraph database Introduc1on
Graph database Introduc1on Agenda What is NoSQL? What is a Graph, Anyway? What is a Graph Database? Neo4J Graph Database What is NoSQL? Stands for Not Only SQL Class of non- relaaonal data storage systems
More informationYOUR GUIDE TO. Skype for Business
YOUR GUIDE TO Skype for Business Welcome to Skype for Business This is the Skype for Business app Your profile picture, status & location (you can change these) Your options Your contacts and groups (you
More information3. Advanced E/R Concepts
3. Advanced E/R Concepts 75 What you will learn about in this section Subclasses & connection to OO Constraints Weak entity sets 76 Modeling Subclasses Some objects in a class may be special, i.e. worthy
More informationFunctions & First Class Function Values
Functions & First Class Function Values PLAI 1st ed Chapter 4, PLAI 2ed Chapter 5 The concept of a function is itself very close to substitution, and to our with form. Consider the following morph 1 {
More informationTechnical Metrics for OO Systems
Technical Metrics for OO Systems 1 Last time: Metrics Non-technical: about process Technical: about product Size, complexity (cyclomatic, function points) How to use metrics Prioritize work Measure programmer
More informationclojure & cfml sitting in a tree sean corfield world singles
clojure & cfml sitting in a tree sean corfield world singles 1 how to go faster (with (parentheses)) sean corfield world singles 2 world singles 3 world singles founded in 2001 internet dating platform
More informationER Model Overview. The Entity-Relationship Model. Database Design Process. ER Model Basics
ER Model Overview The Entity-Relationship Model Davood Rafiei Developed by Peter Chen in the mid 70 s Used for the design of conceptual schema. The world is described in terms of entities relationships
More informationINTERMEDIATE SQL GOING BEYOND THE SELECT. Created by Brian Duffey
INTERMEDIATE SQL GOING BEYOND THE SELECT Created by Brian Duffey WHO I AM Brian Duffey 3 years consultant at michaels, ross, and cole 9+ years SQL user What have I used SQL for? ROADMAP Introduction 1.
More informationCSEP 514 Midterm. Tuesday, Feb. 7, 2017, 5-6:20pm. Question Points Score Total: 150
CSEP 514 Midterm Tuesday, Feb. 7, 2017, 5-6:20pm Name: Question Points Score 1 50 2 25 3 50 4 25 Total: 150 This exam is CLOSED book and CLOSED devices. You are allowed ONE letter-size page with notes
More informationCS371m - Mobile Computing. Persistence - Web Based Storage CHECK OUT g/sync-adapters/index.
CS371m - Mobile Computing Persistence - Web Based Storage CHECK OUT https://developer.android.com/trainin g/sync-adapters/index.html The Cloud. 2 Backend No clear definition of backend front end - user
More informationLecture 4. Lecture 4: The E/R Model
Lecture 4 Lecture 4: The E/R Model Lecture 4 Today s Lecture 1. E/R Basics: Entities & Relations ACTIVITY: Crayon time! 2. E/R Design considerations ACTIVITY: Crayon time pt. II 3. Advanced E/R Concepts
More informationADVANCED DATABASES CIS 6930 Dr. Markus Schneider. Group 5 Ajantha Ramineni, Sahil Tiwari, Rishabh Jain, Shivang Gupta
ADVANCED DATABASES CIS 6930 Dr. Markus Schneider Group 5 Ajantha Ramineni, Sahil Tiwari, Rishabh Jain, Shivang Gupta WHAT IS ELASTIC SEARCH? Elastic Search Elasticsearch is a search engine based on Lucene.
More informationAlgorithms and Data Structures Spring 2008
Algorithms and Data Structures Spring 2008 Instructors: Professor Joe Fuller Dr. Sarita Bassil Office: 205B Gullickson Hall 207 Gullickson Hall Phone: 696-6204 696-5444 Email: fullerj@marshall.edu bassil@marshall.edu
More informationThe Neo4j REST API documentation v3.0
The Neo4j REST API documentation v3.0 Table of Contents Service root.............................................................................. 2 Legacy Cypher HTTP endpoint..............................................................
More informationMurach s Beginning Java with Eclipse
Murach s Beginning Java with Eclipse Introduction xv Section 1 Get started right Chapter 1 An introduction to Java programming 3 Chapter 2 How to start writing Java code 33 Chapter 3 How to use classes
More informationmillions of SQL Server users worldwide, this feature broadens enormously concepts behind the model; how relationships are handled and what are the
SQL Server 2017 introduced the extension for graph databases. As there are millions of SQL Server users worldwide, this feature broadens enormously the audience of potential users. But, what to expect
More informationHigh-Level Database Models (ii)
ICS 321 Spring 2011 High-Level Database Models (ii) Asst. Prof. Lipyeow Lim Information & Computer Science Department University of Hawaii at Manoa 1 Logical DB Design: ER to Relational Entity sets to
More informationCMPT 354 Database Systems I
CMPT 354 Database Systems I Chapter 2 Entity Relationship Data Modeling Data models A data model is the specifications for designing data organization in a system. Specify database schema using a data
More informationCSE 344 Midterm. Wednesday, February 19, 2014, 14:30-15:20. Question Points Score Total: 100
CSE 344 Midterm Wednesday, February 19, 2014, 14:30-15:20 Name: Question Points Score 1 30 2 50 3 12 4 8 Total: 100 This exam is open book and open notes but NO laptops or other portable devices. You have
More informationDHANALAKSHMI SRINIVASAN COLLEGE OF ENGINEERING AND TECHNOLOGY ACADEMIC YEAR (ODD SEM)
DHANALAKSHMI SRINIVASAN COLLEGE OF ENGINEERING AND TECHNOLOGY ACADEMIC YEAR 2018-19 (ODD SEM) DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING SUB: OBJECT ORIENTED PROGRAMMING SEM/YEAR: III SEM/ II YEAR
More informationCall: JSP Spring Hibernate Webservice Course Content:35-40hours Course Outline
JSP Spring Hibernate Webservice Course Content:35-40hours Course Outline Advanced Java Database Programming JDBC overview SQL- Structured Query Language JDBC Programming Concepts Query Execution Scrollable
More informationReflection/RMI 4/28/2009
Reflection/RMI 4/28/2009 1 Opening Discussion Solutions to the interclass problem. Do you have any questions about the assignment? Minute Essays Why are heap operations always O(log n)? Java programs connecting
More informationWhat is Node.js? Tim Davis Director, The Turtle Partnership Ltd
What is Node.js? Tim Davis Director, The Turtle Partnership Ltd About me Co-founder of The Turtle Partnership Working with Notes and Domino for over 20 years Working with JavaScript technologies and frameworks
More informationc) And last but not least, there are javadoc comments. See Weiss.
CSCI 151 Spring 2010 Java Bootcamp The following notes are meant to be a quick refresher on Java. It is not meant to be a means on its own to learn Java. For that you would need a lot more detail (for
More informationSchema Concepts In Oracle 11g Using Express Edition
Schema Concepts In Oracle 11g Using Express Edition When you start the instance by using Enterprise Manager or SQL*Plus, the amount of memory Oracle 11g Express Edition, released by Oracle Corporation
More informationDeclarations and Access Control SCJP tips
Declarations and Access Control www.techfaq360.com SCJP tips Write code that declares, constructs, and initializes arrays of any base type using any of the permitted forms both for declaration and for
More informationSelf-referential Structures and Linked List. Programming and Data Structure 1
Self-referential Structures and Linked List Programming and Data Structure 1 Linked List :: Basic Concepts A list refers to a set of items organized sequentially. An array is an example of a list. The
More informationFailed To Read Schema Document Springsecurity-3.0.xsd
Failed To Read Schema Document Springsecurity-3.0.xsd When loading my app spring context, I am getting the following error (only on Linux machine, 2) th document could not be read, 3) the root element
More informationWeb Application Development Using JEE, Enterprise JavaBeans and JPA
Web Application Development Using JEE, Enterprise Java and JPA Duration: 35 hours Price: $750 Delivery Option: Attend training via an on-demand, self-paced platform paired with personal instructor facilitation.
More informationOpenTouch Conversation One 2.2 Contents
OpenTouch Conversation One 2.2 Contents OpenTouch Conversation One 2.2... 1 1. Startup of OpenTouch Conversation One... 2 1. Select your call device or forward your calls... 2 2. Set manually your presence
More informationInterview Questions I received in 2017 and 2018
Interview Questions I received in 2017 and 2018 Table of Contents INTERVIEW QUESTIONS I RECEIVED IN 2017 AND 2018... 1 1 OOPS... 3 1. What is the difference between Abstract and Interface in Java8?...
More informationRelational Database Features
Relational Features s Why has the relational model been so successful? Data independence High level query language - SQL Query optimisation Support for integrity constraints Well-understood database design
More informationWriteup for first project of CMSC 420: Data Structures Section 0102, Summer Theme: Threaded AVL Trees
Writeup for first project of CMSC 420: Data Structures Section 0102, Summer 2017 Theme: Threaded AVL Trees Handout date: 06-01 On-time deadline: 06-09, 11:59pm Late deadline (30% penalty): 06-11, 11:59pm
More informationDatabase Applications (15-415)
Database Applications (15-415) DBMS Internals- Part VII Lecture 15, March 17, 2014 Mohammad Hammoud Today Last Session: DBMS Internals- Part VI Algorithms for Relational Operations Today s Session: DBMS
More informationOracle In-Memory & Data Warehouse: The Perfect Combination?
: The Perfect Combination? UKOUG Tech17, 6 December 2017 Dani Schnider, Trivadis AG @dani_schnider danischnider.wordpress.com BASEL BERN BRUGG DÜSSELDORF FRANKFURT A.M. FREIBURG I.BR. GENEVA HAMBURG COPENHAGEN
More informationDATABASE SYSTEMS. Introduction to MySQL. Database System Course, 2016
DATABASE SYSTEMS Introduction to MySQL Database System Course, 2016 AGENDA FOR TODAY Administration Database Architecture on the web Database history in a brief Databases today MySQL What is it How to
More informationThe Cypher Language 2017
DM32.2 2018-00145 Informational Paper The Cypher Language 2017 Presentation to the LDBC Query Language Task Force Neo Technology Cypher Language Group Date of original presentation 3 July 2017 Submitted
More information