Traversing Graph Databases with Gremlin. Marko A. Rodriguez Graph Systems Architect.
|
|
- Karin Stewart
- 5 years ago
- Views:
Transcription
1 Traversing Graph Databases with Gremlin Marko A. Rodriguez Graph Systems Architect NoSQL New York City Meetup May 16, 2011 Gremlin G =(V, E) May 10, 2011
2 Thank You Sponsors Short Slideshow + Live Demo = This Presentation
3 TinkerPop Productions 1 1 TinkerPop ( Marko A. Rodriguez ( Peter Neubauer ( Joshua Shinavier ( Pavel Yaskevich ( Darrick Wiebe ( com/), Stephen Mallette ( Alex Averbuch ( com/in/alexaverbuch)
4 TinkerPop Graph Stack RESTful Server Traversal Language Traversal Engine Graph-to-Object Mapper Generic Interface Graph Database TinkerGraph
5 TinkerPop Graph Stack Focus Traversal Language Traversal Engine Generic Interface TinkerGraph
6 Blueprints > Pipes > Groovy > Gremlin To understand Gremlin, its important to understand Groovy, Blueprints, and Pipes. Blueprints Pipes
7 Gremlin is a Domain Specific Language Gremlin 0.7+ uses Groovy as its host language. 2 Gremlin 0.7+ takes advantage of Groovy s meta-programming, dynamic typing, and closure properties. Groovy is a superset of Java and as such, natively exposes the full JDK to Gremlin. 2 Groovy available at
8 Gremlin is for Property Graphs name = "lop" lang = "java" name = "marko" age = 29 weight = knows weight = 0.4 created weight = 1.0 knows 4 3 created 11 weight = 0.4 name = "josh" age = 32 weight = 0.2 created 12 6 name = "peter" age = 35 name = "vadas" age = weight = 1.0 created 5 name = "ripple" lang = "java" A graph is composed of vertices (nodes), edges (links), and properties (keys/values).
9 Gremlin is for Blueprints-enabled Graph Databases Blueprints can be seen as the JDBC for property graph databases. 3 Provides a collection of interfaces for graph database providers to implement. Provides tests to ensure the operational semantics of any implementation are correct. Provides numerous helper utilities to make working with graph databases easy. Blueprints 3 Blueprints is available at
10 A Blueprints Detour - Implementations TinkerGraph
11 A Blueprints Detour - Ouplementations JUNG Java Universal Network/Graph Framework
12 Gremlin Compiles Down to Pipes Pipes is a data flow framework for evaluating lazy graph traversals. 4 A Pipe extends Iterator, Iterable and can be chained together to create processing pipelines. A Pipe can be embedded into another Pipe to allow for nested processing. Pipes 4 Pipes is available at
13 A Pipes Detour - Chained Iterators This Pipeline takes objects of type A and turns them into objects of type D. A A A A A Pipe1 B Pipe2 C Pipe3 D Pipeline D D D D Pipe<A,D> pipeline = new Pipeline<A,D>(Pipe1<A,B>, Pipe2<B,C>, Pipe3<C,D>)
14 A Pipes Detour - Simple Example What are the names of the people that marko knows? knows B name=peter A knows C name=pavel name=marko created created D name=gremlin
15 A Pipes Detour - Simple Example Pipe<Vertex,Edge> pipe1 = new OutEdgesPipe("knows"); Pipe<Edge,Vertex> pipe2 = new InVertexPipe(); Pipe<Vertex,String> pipe3 = new PropertyPipe<String>("name"); Pipe<Vertex,String> pipeline = new Pipeline(pipe1,pipe2,pipe3); pipeline.setstarts(new SingleIterator<Vertex>(graph.getVertex("A")); InVertexPipe() OutEdgesPipe("knows") knows B PropertyPipe("name") name=peter A knows C name=pavel name=marko created created D name=gremlin HINT: The benefit of Gremlin is that this Java verbosity is reduced to g.v( A ).oute( knows ).inv.name.
16 A Pipes Detour - Pipes Library [ FILTERS ] AndFilterPipe BackFilterPipe CollectionFilterPipe ComparisonFilterPipe DuplicateFilterPipe FutureFilterPipe ObjectFilterPipe OrFilterPipe RandomFilterPipe RangeFilterPipe [ GRAPHS ] OutEdgesPipe InEdgesPipe OutVertexPipe InVertexPip IdFilterPipe IdPipe LabelFilterPipe LabelPipe PropertyFilterPipe PropertyPipe [ SIDEEFFECTS ] AggregatorPipe GroupCountPipe CountPipe SideEffectCapPipe [ UTILITIES ] GatherPipe PathPipe ScatterPipe Pipeline...
17 A Pipes Detour - Creating Pipes public class NumCharsPipe extends AbstractPipe<String,Integer> { public Integer processnextstart() { String word = this.starts.next(); return word.length(); } } When extending the base class AbstractPipe<S,E> all that is required is an implementation of processnextstart().
18 Now onto Gremlin proper...
19 The Gremlin Architecture Neo4j OrientDB DEX
20 The Many Ways of Using Gremlin Gremlin has a REPL to be run from the shell. Gremlin can be natively integrated into any Groovy class. Gremlin can be interacted with indirectly through Java, via Groovy. Gremlin has a JSR 223 ScriptEngine as well.
21 Pipe = Step: 3 Generic Steps In general a Pipe is a step in Gremlin. Gremlin is founded on a collection of atomic steps. The syntax is generally seen as step.step.step. There are 3 categories of steps. transform: map the input to some output. S T oute, inv, paths, copysplit, fairmerge,... filter: either output the input or not. S (S ) back, except, uniqueobject, andfilter, orfilter,... sideeffect: output the input and yield a side-effect. S S aggregate, groupcount,...
22 Abstract/Derived/Inferred Adjacency oute inv oute loop(2){..} back(3) {it.salary} } friend_of_a_friend_who_earns_less_than_friend_at_work oute, inv, etc. is low-level graph speak (the domain is the graph). codeveloper is high-level domain speak (the domain is software development). 5 5 In this way, Gremlin can be seen as a DSL (domain-specific language) for creating DSL s for your graph applications. Gremlin s domain is the graph. Build languages for your domain on top of Gremlin (e.g. software development domain ).
23 Developer's FOAF Import Graph Friend-Of-A-Friend Graph Developer Imports Graph Friends at Work Graph Developer Created Graph Software Imports Graph Friendship Graph Employment Graph You need not make derived graphs explicit. You can, at runtime, compute them. Moreover, generate them locally, not globally (e.g. ``Marko's friends from work relations"). Explicit Graph This concept is related to automated reasoning and whether reasoned relations are inserted into the explicit graph or computed at query time.
24 Integrating the JDK (Java API) Groovy is the host language for Gremlin. available in a path expression. Thus, the JDK is natively gremlin> v.out( friend ){it.name.matches( M.* )}.name ==>Mattias ==>Marko ==>Matt... gremlin> x.out( rated ).transform{jsonparser.get(it.uri).stars}.mean()... gremlin> y.oute( rated ).filter{textanalysis.iselated(it.review)}.inv...
25 Time for a demo marko$ gremlin \,,,/ (o o) -----oooo-(_)-oooo----- gremlin> Gremlin G =(V, E)
26 Graph Bootcamp June th in Chicago, Illinois. August X-Y th in Denver, Colorado. Book a private gig for your organization.
Analyzing 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 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 informationipython-gremlin Documentation
ipython-gremlin Documentation Release 0.0.4 David M. Brown Mar 16, 2017 Contents 1 Releases 3 2 Requirements 5 3 Dependencies 7 4 Installation 9 5 Getting Started 11 5.1 Contribute................................................
More informationbjoern Documentation Release 0.1 Fabian Yamaguchi
bjoern Documentation Release 0.1 Fabian Yamaguchi June 24, 2016 Contents 1 Overview 3 1.1 Octopus.................................................. 3 1.2 Bjoern-Radare..............................................
More informationCypher for Gremlin. ocim 4
Cypher for Gremlin ocim 4 Apache TinkerPop Apache TinkerPop is a graph computing framework for both graph databases (OLTP) and graph analytic systems (OLAP). Gremlin is a graph traversal language developed
More informationA Highly Efficient Runtime and Graph Library for Large Scale Graph Analytics
A Highly Efficient Runtime and Graph Library for Large Scale Graph Analytics Ilie Gabriel Tanase Research Staff Member, IBM TJ Watson Yinglong Xia, Yanbin Liu, Wei Tan, Jason Crawford, Ching-Yung Lin IBM
More informationThe Art of Metaprogramming in Java. Falguni Vyas Dec 08, 2012
The Art of Metaprogramming in Java Falguni Vyas Dec 08, 2012 Metadata What is Metadata? Data that describes other data Defined as data providing information about one or more aspects of the data, such
More informationEclipse JNoSQL. Otávio
Eclipse JNoSQL Otávio Santana @otaviojava NoSQL 01 Database 02 Doesn't use structure 03 Not Transaction 04 Base 05 Five different types Key Value AmazonDynamo AmazonS3 Redis Apollo Sun Ares War Aphrodite
More informationCS260 Intro to Java & Android 02.Java Technology
CS260 Intro to Java & Android 02.Java Technology CS260 - Intro to Java & Android 1 Getting Started: http://docs.oracle.com/javase/tutorial/getstarted/index.html Java Technology is: (a) a programming language
More informationIntroduction to Programming Using Java (98-388)
Introduction to Programming Using Java (98-388) Understand Java fundamentals Describe the use of main in a Java application Signature of main, why it is static; how to consume an instance of your own class;
More informationWhat is Groovy? Almost as cool as me!
What is Groovy? Groovy is like a super version of Java. It can leverage Java's enterprise capabilities but also has cool productivity features like closures, builders and dynamic typing. From http://groovy.codehaus.org/
More informationJava SE 8 Programming
Oracle University Contact Us: +52 1 55 8525 3225 Java SE 8 Programming Duration: 5 Days What you will learn This Java SE 8 Programming training covers the core language features and Application Programming
More informationVisual Analysis of Heterogeneous Networks
2013 European Intelligence and Security Informatics Conference Visual Analysis of Heterogeneous Networks Bisharat Rasool Memon The Maersk Mc-Kinney Moller Institute University of Southern Denmark Campusvej
More informationModeling and Discovering Vulnerabilities with Code Property Graphs
Modeling and Discovering Vulnerabilities with Code Property Graphs Fabian Yamaguchi, Nico Golde (Qualcomm), Daniel Arp, and Konrad Rieck Security & Privacy 2014 GEORG-AUGUST-UNIVERSITÄT GÖTTINGEN Implementation
More informationUsing Scala for building DSL s
Using Scala for building DSL s Abhijit Sharma Innovation Lab, BMC Software 1 What is a DSL? Domain Specific Language Appropriate abstraction level for domain - uses precise concepts and semantics of domain
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 informationDomain-Specific. Languages. Martin Fowler. AAddison-Wesley. Sydney Tokyo. With Rebecca Parsons
Domain-Specific Languages Martin Fowler With Rebecca Parsons AAddison-Wesley Upper Saddle River, NJ Boston Indianapolis San Francisco New York Toronto Montreal London Munich Paris Madrid Sydney Tokyo Singapore
More informationJava SE 8 Programming
Java SE 8 Programming Training Calendar Date Training Time Location 16 September 2019 5 Days Bilginç IT Academy 28 October 2019 5 Days Bilginç IT Academy Training Details Training Time : 5 Days Capacity
More information2 ADT Programming User-defined abstract data types
Preview 2 ADT Programming User-defined abstract data types user-defined data types in C++: classes constructors and destructors const accessor functions, and inline functions special initialization construct
More informationLa Mesa Language Reference Manual COMS 4115: Programming Languages and Translators Professor Stephen Edwards
La Mesa Language Reference Manual COMS 4115: Programming Languages and Translators Professor Stephen Edwards Michael Vitrano Matt Jesuele Charles Williamson Jared Pochtar 1. Introduction La Mesa is a language
More informationBuilding Grails Applications with PostgreSQL. Brent Baxter and Ken Rimple PostgreSQL East - March 25, 2010
Building Grails Applications with PostgreSQL Brent Baxter and Ken Rimple About Brent and Ken Brent Baxter: bbaxter@chariotsolutions.com Consultant and Applications Architect Grails, Java, and Spring developer
More informationPGQL: a Property Graph Query Language
PGQL: a Property Graph Query Language Oskar van Rest Sungpack Hong Jinha Kim Xuming Meng Hassan Chafi Oracle Labs June 24, 2016 Safe Harbor Statement The following is intended to outline our general product
More informationbuilding dsl s in static & dynamic languages
ThoughtWorks building dsl s in static & dynamic languages NEAL FORD thoughtworker / meme wrangler ThoughtWorks 14 Wall St, Suite 2019, New York, NY 10005 nford@thoughtworks.com www.nealford.com www.thoughtworks.com
More informationApply Graph and Deep Learning to Recommendation and Network Intrusion Detection
Apply Graph and Deep Learning to Recommendation and Network Intrusion Detection Zhe Wu, Ph.D. Architect alan.wu@oracle.com Oracle Spatial and Graph June 22, 2017 Outline Introduction and overview of graph
More informationJava SE 8 Programming
Oracle University Contact Us: Local: 1800 103 4775 Intl: +91 80 67863102 Java SE 8 Programming Duration: 5 Days What you will learn This Java SE 8 Programming training covers the core language features
More informationBuilding a (resumable and extensible) DSL with Apache Groovy Jesse Glick CloudBees, Inc.
Building a (resumable and extensible) DSL with Apache Groovy Jesse Glick CloudBees, Inc. Introduction About Me Longtime Jenkins core contributor Primary developer on Jenkins Pipeline Meet Jenkins Pipeline
More informationFrustrated by all the hype?
Fundamentals of Software Architecture Looking beyond the hype Markus Völter (voelter@acm.org) Introduction Frustrated by all the hype? If so this presentation is for you. Otherwise you should leave People
More informationjoern Documentation Release Fabian Yamaguchi
joern Documentation Release 0.2.5 Fabian Yamaguchi Apr 12, 2017 Contents 1 Installation 3 1.1 System Requirements and Dependencies................................ 3 1.2 Testing the server.............................................
More information15-418, Spring 2008 OpenMP: A Short Introduction
15-418, Spring 2008 OpenMP: A Short Introduction This is a short introduction to OpenMP, an API (Application Program Interface) that supports multithreaded, shared address space (aka shared memory) parallelism.
More informationLecture 2 and 3: Fundamental Object-Oriented Concepts Kenneth M. Anderson
Lecture 2 and 3: Fundamental Object-Oriented Concepts Kenneth M. Anderson January 13, 2005 January 18, 2005 1 of 38 Lecture Goals Introduce the basic concepts of object-oriented analysis/design/programming
More informationNoSQL systems: introduction and data models. Riccardo Torlone Università Roma Tre
NoSQL systems: introduction and data models Riccardo Torlone Università Roma Tre Leveraging the NoSQL boom 2 Why NoSQL? In the last fourty years relational databases have been the default choice for serious
More informationTransformations on Graph Databases for Polyglot Persistence with NotaQL
B. Mitschang et al. (Hrsg.): Datenbanksysteme für Business, Technologie und Web (BTW 2017), Lecture Notes in Informatics (LNI), Gesellschaft für Informatik, Bonn 2017 83 Transformations on Graph Databases
More informationJaql. Kevin Beyer, Vuk Ercegovac, Eugene Shekita, Jun Rao, Ning Li, Sandeep Tata. IBM Almaden Research Center
Jaql Running Pipes in the Clouds Kevin Beyer, Vuk Ercegovac, Eugene Shekita, Jun Rao, Ning Li, Sandeep Tata IBM Almaden Research Center http://code.google.com/p/jaql/ 2009 IBM Corporation Motivating Scenarios
More informationRecursion. Comp Sci 1575 Data Structures. Introduction. Simple examples. The call stack. Types of recursion. Recursive programming
Recursion Comp Sci 1575 Data Structures Outline 1 2 3 4 Definitions To understand, you must understand. Familiar of recursive definitions Natural numbers are either: n+1, where n is a natural number 1
More informationJakarta EE Meets NoSQL at the Cloud Age
Jakarta EE Meets NoSQL at the Cloud Age Elder Moraes, Developer Advocate, Oracle Otavio Santana, Sr Software Engineer, Tomitribe October, 2018 Safe Harbor Statement The following is intended to outline
More informationJava SE 7 Programming
Oracle University Contact Us: Local: 1800 103 4775 Intl: +91 80 4108 4709 Java SE 7 Programming Duration: 5 Days What you will learn This is the second of two courses that cover the Java Standard Edition
More informationNeo4j. Neo4j's Cypher. Samstag, 27. April 13
Neo4j Neo4j's Cypher Michael Hunger @mesirii @neo4j 1 (Michael)-[:WORKS_ON]-> (Neo4j) console Cypher Community Michael Server Neo4j.org Spring Cloud 2 3 is a 4 NOSQL 5 Graph Database 6 Some Ways to Learn
More informationPrinciples of Programming Languages Topic: Scope and Memory Professor Louis Steinberg Fall 2004
Principles of Programming Languages Topic: Scope and Memory Professor Louis Steinberg Fall 2004 CS 314, LS,BR,LTM: Scope and Memory 1 Review Functions as first-class objects What can you do with an integer?
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 informationBuilding a Recommendation Engine with Java EE EE4J
Building a Recommendation Engine with Java EE EE4J Otávio Santana @otaviojava osantana@tomitribe.com otaviojava@apache.org Hilmer Chona @hchona hilac@msn.com MedellinJUG.org Evolution Goods Land Gold Oil
More informationBRONX COMMUNITY COLLEGE of the City University of New York DEPARTMENT OF MATHEMATICS AND COMPUTER SCIENCE. Sample Final Exam
BRONX COMMUNITY COLLEGE of the City University of New York DEPARTMENT OF MATHEMATICS AND COMPUTER SCIENCE CSI33 Sample Final Exam NAME Directions: Solve problems 1 through 5 of Part I and choose 5 of the
More informationModule 4. Implementation of XQuery. Part 0: Background on relational query processing
Module 4 Implementation of XQuery Part 0: Background on relational query processing The Data Management Universe Lecture Part I Lecture Part 2 2 What does a Database System do? Input: SQL statement Output:
More informationGetting Started with OrientDB
Getting Started with OrientDB Claudio Tesoriero Chapter No. 1 "Installing OrientDB" In this package, you will find: A Biography of the author of the book A preview chapter from the book, Chapter NO.1 "Installing
More informationNew Developments in Spark
New Developments in Spark And Rethinking APIs for Big Data Matei Zaharia and many others What is Spark? Unified computing engine for big data apps > Batch, streaming and interactive Collection of high-level
More informationAn Oracle White Paper March Introduction to Groovy Support in JDeveloper and Oracle ADF 11g
An Oracle White Paper March 2009 Introduction to Groovy Support in JDeveloper and Oracle ADF 11g Oracle White Paper Introduction to Groovy support in JDeveloper and Oracle ADF 11g Introduction... 2 Introduction
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 informationEfficient Object-Relational Mapping for JAVA and J2EE Applications or the impact of J2EE on RDB. Marc Stampfli Oracle Software (Switzerland) Ltd.
Efficient Object-Relational Mapping for JAVA and J2EE Applications or the impact of J2EE on RDB Marc Stampfli Oracle Software (Switzerland) Ltd. Underestimation According to customers about 20-50% percent
More informationUnifying Big Data Workloads in Apache Spark
Unifying Big Data Workloads in Apache Spark Hossein Falaki @mhfalaki Outline What s Apache Spark Why Unification Evolution of Unification Apache Spark + Databricks Q & A What s Apache Spark What is Apache
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 informationJava SE 8 New Features
Java SE 8 New Features Duration 2 Days What you will learn This Java SE 8 New Features training delves into the major changes and enhancements in Oracle Java SE 8. You'll focus on developing an understanding
More informationCourse Description. Learn To: : Intro to JAVA SE7 and Programming using JAVA SE7. Course Outline ::
Module Title Duration : Intro to JAVA SE7 and Programming using JAVA SE7 : 9 days Course Description The Java SE 7 Fundamentals course was designed to enable students with little or no programming experience
More informationDiscover how to get up and running with the Java Development Environment and with the Eclipse IDE to create Java programs.
Java SE11 Development Java is the most widely-used development language in the world today. It allows programmers to create objects that can interact with other objects to solve a problem. Explore Java
More informationCS 314 Midterm 2 Fall 2012
Points off 1 2 3 4 5 Total off Net Score CS 314 Midterm 2 Fall 2012 Your Name_ Your UTEID Circle yours TA s name: John Zihao Instructions: 1. There are 5 questions on this test. 2. You have 2 hours to
More informationData 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 informationExtending Java TM TM And Developing DSLs With JetBrains MPS Open- Source Language Workbench
Extending Java TM TM And Developing DSLs With JetBrains MPS Open- Source Language Workbench Konstantin Solomatov JetBrains Lead Developer for JetBrains MPS Project 1 Agenda > Extending languages. Why bother?
More informationGraph Databases. Graph Databases. May 2015 Alberto Abelló & Oscar Romero
Graph Databases 1 Knowledge Objectives 1. Describe what a graph database is 2. Explain the basics of the graph data model 3. Enumerate the best use cases for graph databases 4. Name two pros and cons of
More informationJava SE 7 Programming
Oracle University Contact Us: +40 21 3678820 Java SE 7 Programming Duration: 5 Days What you will learn This Java Programming training covers the core Application Programming Interfaces (API) you'll use
More informationJava 8 Programming for OO Experienced Developers
www.peaklearningllc.com Java 8 Programming for OO Experienced Developers (5 Days) This course is geared for developers who have prior working knowledge of object-oriented programming languages such as
More informationThe GQL Manifesto. 1. References [DM ]
The GQL Manifesto Title Author Status Date The GQL Manifesto Alastair Green, Individual Expert, Neo4j Inc. Discussion Paper Date of original publication, 13 May 2018, at https://gql.today Referenced in
More informationRichard Mallion. Swift for Admins #TEAMSWIFT
Richard Mallion Swift for Admins #TEAMSWIFT Apple Introduces Swift At the WWDC 2014 Keynote, Apple introduced Swift A new modern programming language It targets the frameworks for Cocoa and Cocoa Touch
More informationFunctional Programming and the Web
June 13, 2011 About Me Undergraduate: University of Illinois at Champaign-Urbana PhD: Penn State University Retrofitting Programs for Complete Security Mediation Static analysis, type-based compiler Racker:
More informationenum Types 1 1 The keyword enum is a shorthand for enumeration. Zheng-Liang Lu Java Programming 267 / 287
enum Types 1 An enum type is an reference type limited to an explicit set of values. An order among these values is defined by their order of declaration. There exists a correspondence with string names
More informationEasier than Excel: Social Network Analysis of DocGraph with Gephi
Easier than Excel: Social Network Analysis of DocGraph with Gephi Janos G. Hajagos Stony Brook School of Medicine Fred Trotter fredtrotter.com DocGraph Based on FOIA request to CMS by Fred Trotter Pre-released
More informationΠΙΝΑΚΑΣ ΠΛΑΝΟΥ ΕΚΠΑΙΔΕΥΣΗΣ
ΠΑΡΑΡΤΗΜΑ «Β» ΠΙΝΑΚΑΣ ΠΛΑΝΟΥ ΕΚΠΑΙΔΕΥΣΗΣ Α/Α ΠΕΡΙΓΡΑΦΗ ΕΚΠΑΙΔΕΥΣΗΣ ΘΕΜΑΤΙΚΕΣ ΕΝΟΤΗΤΕΣ 1. Java SE8 Fundamentals What Is a Java Program? Introduction to Computer Programs Key Features of the Java Language
More informationCS 307 Final Fall 2009
Points off 1 2 3 4 5 6 Total off Net Score CS 307 Final Fall 2009 Name UTEID login name Instructions: 1. Please turn off your cell phones. 2. There are 6 questions on this test. 3. You have 3 hours to
More informationDomain-Specific Languages Language Workbenches
Software Engineering with and Domain-Specific Languages Language Workbenches Peter Friese Itemis peter.friese@itemis.de Markus Voelter Independent/itemis voelter@acm.org 1 Programming Languages C# Erlang
More informationPractical DSL Design. Groovy Sydney Meetup May 4th, Peter Bell CEO/CTO SystemsForge
Practical DSL Design Groovy Sydney Meetup May 4th, 2010 Peter Bell CEO/CTO SystemsForge Overview Before DSLs... What is a DSL? Creating a DSL Good DSL Design Key Concepts Implementing DSLs in Groovy Testing
More informationThe Java Memory Model
Jeremy Manson 1, William Pugh 1, and Sarita Adve 2 1 University of Maryland 2 University of Illinois at Urbana-Champaign Presented by John Fisher-Ogden November 22, 2005 Outline Introduction Sequential
More informationThis tutorial is designed for all those software professionals who are keen on learning the basics of Clojure and how to put it into practice.
About the Tutorial Clojure is a high level, dynamic functional programming language. It is designed, based on the LISP programming language, and has compilers that makes it possible to be run on both Java
More informationJava Concepts: Compatible With Java 5, 6 And 7 By Cay S. Horstmann
Java Concepts: Compatible With Java 5, 6 And 7 By Cay S. Horstmann Java Concepts: Compatible with Java 5, 6 and 7 by Horstmann, Cay S. and a great selection of similar Used, New and Collectible Books available
More informationEclipse Command Language
Cracow, Poland Eclipse Day 2012, September 13 Bartosz Czerwiński bczerwinski@luxoft.com 2 Agenda DSL Scripting in Eclipse ECL Core Concepts Architecture Applicability Future Live Demo 3 DSL 4 Domain Specific
More informationMagento Technical Guidelines
Magento Technical Guidelines Eugene Shakhsuvarov, Software Engineer @ Magento 2018 Magento, Inc. Page 1 Magento 2 Technical Guidelines Document which describes the desired technical state of Magento 2
More informationGregor Bethlen
Universität Karlsruhe 27.05.2010 Slide 1 of 22 Outline 1 Motivation Examples Conclusions 2 BGGA CICE FCM 3 Slide 2 of 22 Motivation Motivation Examples Conclusions treat functions/methods as values for
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 informationDataSToRM: Data Science and Technology Research Environment
The Future of Advanced (Secure) Computing DataSToRM: Data Science and Technology Research Environment This material is based upon work supported by the Assistant Secretary of Defense for Research and Engineering
More informationA brief introduction to OpenMP
A brief introduction to OpenMP Alejandro Duran Barcelona Supercomputing Center Outline 1 Introduction 2 Writing OpenMP programs 3 Data-sharing attributes 4 Synchronization 5 Worksharings 6 Task parallelism
More informationTeiid Designer User Guide 7.5.0
Teiid Designer User Guide 1 7.5.0 1. Introduction... 1 1.1. What is Teiid Designer?... 1 1.2. Why Use Teiid Designer?... 2 1.3. Metadata Overview... 2 1.3.1. What is Metadata... 2 1.3.2. Editing Metadata
More informationObject-Oriented Design
Object-Oriented Design Lecture 14: Design Workflow Department of Computer Engineering Sharif University of Technology 1 UP iterations and workflow Workflows Requirements Analysis Phases Inception Elaboration
More informationComputer Programming: C++
The Islamic University of Gaza Engineering Faculty Department of Computer Engineering Fall 2017 ECOM 2003 Muath i.alnabris Computer Programming: C++ Experiment #7 Arrays Part II Passing Array to a Function
More informationHow Graphs and Java make GraphHopper efficient and fast. By Berlin Buzzwords,
How Graphs and Java make GraphHopper efficient and fast By Peter @timetabling Berlin Buzzwords, 2014-05-27 _ Available at graphhopper.com/public/slides How int[][] helped GraphHopper scaling How Graphs
More informationScala : an LLVM-targeted Scala compiler
Scala : an LLVM-targeted Scala compiler Da Liu, UNI: dl2997 Contents 1 Background 1 2 Introduction 1 3 Project Design 1 4 Language Prototype Features 2 4.1 Language Features........................................
More informationIntroduction to Visual Basic and Visual C++ Introduction to Java. JDK Editions. Overview. Lesson 13. Overview
Introduction to Visual Basic and Visual C++ Introduction to Java Lesson 13 Overview I154-1-A A @ Peter Lo 2010 1 I154-1-A A @ Peter Lo 2010 2 Overview JDK Editions Before you can write and run the simple
More informationWhere We Are. Lexical Analysis. Syntax Analysis. IR Generation. IR Optimization. Code Generation. Machine Code. Optimization.
Where We Are Source Code Lexical Analysis Syntax Analysis Semantic Analysis IR Generation IR Optimization Code Generation Optimization Machine Code Where We Are Source Code Lexical Analysis Syntax Analysis
More informationBash command shell language interpreter
Principles of Programming Languages Bash command shell language interpreter Advanced seminar topic Louis Sugy & Baptiste Thémine Presentation on December 8th, 2017 Table of contents I. General information
More informationWeek. Lecture Topic day (including assignment/test) 1 st 1 st Introduction to Module 1 st. Practical
Name of faculty: Gaurav Gambhir Discipline: Computer Science Semester: 6 th Subject: CSE 304 N - Essentials of Information Technology Lesson Plan Duration: 15 Weeks (from January, 2018 to April, 2018)
More informationxtc Robert Grimm Making C Safely Extensible New York University
xtc Making C Safely Extensible Robert Grimm New York University The Problem Complexity of modern systems is staggering Increasingly, a seamless, global computing environment System builders continue to
More informationAnother IS-A Relationship
Another IS-A Relationship Not all classes share a vertical relationship. Instead, some are supposed to perform the specific methods without a vertical relationship. Consider the class Bird inherited from
More informationString Computation Program
String Computation Program Reference Manual Scott Pender scp2135@columbia.edu COMS4115 Fall 2012 10/31/2012 1 Lexical Conventions There are four kinds of tokens: identifiers, keywords, expression operators,
More informationAgenda. Threads. Single and Multi-threaded Processes. What is Thread. CSCI 444/544 Operating Systems Fall 2008
Agenda Threads CSCI 444/544 Operating Systems Fall 2008 Thread concept Thread vs process Thread implementation - user-level - kernel-level - hybrid Inter-process (inter-thread) communication What is Thread
More informationSemantic Analysis. Compiler Architecture
Processing Systems Prof. Mohamed Hamada Software Engineering Lab. The University of Aizu Japan Source Compiler Architecture Front End Scanner (lexical tokens Parser (syntax Parse tree Semantic Analysis
More informationPoints off Total off Net Score. CS 314 Final Exam Spring 2016
Points off 1 2 3 4 5 6 Total off Net Score CS 314 Final Exam Spring 2016 Your Name Your UTEID Instructions: 1. There are 6 questions on this test. 100 points available. Scores will be scaled to 300 points.
More informationIntel Thread Building Blocks
Intel Thread Building Blocks SPD course 2015-16 Massimo Coppola 08/04/2015 1 Thread Building Blocks : History A library to simplify writing thread-parallel programs and debugging them Originated circa
More informationCS 314 Exam 2 Fall 2017
Points off 1 2 3 4 5 Total off CS 314 Exam 2 Fall 2017 Your Name Your UTEID Circle your TAs Name: Gilbert Jacob Jorge Joseph Lucas Rebecca Shelby Instructions: 1. There are 5 questions on this test. 100
More informationHSA Foundation! Advanced Topics on Heterogeneous System Architectures. Politecnico di Milano! Seminar Room (Bld 20)! 15 December, 2017!
Advanced Topics on Heterogeneous System Architectures HSA Foundation! Politecnico di Milano! Seminar Room (Bld 20)! 15 December, 2017! Antonio R. Miele! Marco D. Santambrogio! Politecnico di Milano! 2
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 informationProgramming Kotlin. Familiarize yourself with all of Kotlin s features with this in-depth guide. Stephen Samuel Stefan Bocutiu BIRMINGHAM - MUMBAI
Programming Kotlin Familiarize yourself with all of Kotlin s features with this in-depth guide Stephen Samuel Stefan Bocutiu BIRMINGHAM - MUMBAI Programming Kotlin Copyright 2017 Packt Publishing First
More informationDatabase Assignment 2
Database Assignment 2 Java Database Connection using the JDBC API March 13, 2008 1 Objectives Create and run a JDBC program using the client driver and Network Server. This assignment demonstrates the
More informationCS 314 Exam 2 Spring
Points off 1 2 3 4 5 Total off CS 314 Exam 2 Spring 2017 Your Name Your UTEID Instructions: 1. There are 5 questions on this test. 100 points available. Scores will be scaled to 200 points. 2. You have
More informationCSE 307: Principles of Programming Languages
1 / 26 CSE 307: Principles of Programming Languages Names, Scopes, and Bindings R. Sekar 2 / 26 Topics Bindings 1. Bindings Bindings: Names and Attributes Names are a fundamental abstraction in languages
More informationOops known as object-oriented programming language system is the main feature of C# which further support the major features of oops including:
Oops known as object-oriented programming language system is the main feature of C# which further support the major features of oops including: Abstraction Encapsulation Inheritance and Polymorphism Object-Oriented
More information