Return all employee IDs who sold to a customer based in London, of customer demographic ‘x’. The query traverses the hypergraph to match an employee entity with a given employee ID, a company entity located in London, and a sale relation connecting them as the seller and customer respectively. The employee ID is then returned.
TypeDB Academy- Getting Started with Schema DesignVaticle
In this TypeDB Academy, we start by gaining an understanding of the fundamental components of TypeDB's type system and what makes it unique. We will see how we can download, install, and run TypeDB, and learn to perform basic database operations.
We'll then explore what a schema looks like in TypeDB, starting with clarifying the motivation for schema, the conceptual schema of TypeDB, and its relationship to the Enhanced Entity-Relationship model.
Good for:
- Beginners to TypeDB and TypeQL
- Those who have been using TypeDB and want a refresher on schema and TypeQL
- Experienced database administrators and software engineers
Takeaways:
- Understanding of fundamental components of TypeDB
- How to download, install, and run TypeDB on your computer
- Be able to articulate why schema is so beneficial when using TypeDB, why we use one, and how it enables a more expressive model
- Write a TypeDB schema in TypeQL
From August 30, 2010 presentation at ZF NYC Meetup. I gave a presentation on why to use Doctrine, the problems it can solve, how to use it, and some basics of integrating it with the Zend Framework.
They establish the relationship between two database tables as attributes in your model. That allows you to easily navigate the associations in your model and Criteria queries.
TypeDB Academy- Getting Started with Schema DesignVaticle
In this TypeDB Academy, we start by gaining an understanding of the fundamental components of TypeDB's type system and what makes it unique. We will see how we can download, install, and run TypeDB, and learn to perform basic database operations.
We'll then explore what a schema looks like in TypeDB, starting with clarifying the motivation for schema, the conceptual schema of TypeDB, and its relationship to the Enhanced Entity-Relationship model.
Good for:
- Beginners to TypeDB and TypeQL
- Those who have been using TypeDB and want a refresher on schema and TypeQL
- Experienced database administrators and software engineers
Takeaways:
- Understanding of fundamental components of TypeDB
- How to download, install, and run TypeDB on your computer
- Be able to articulate why schema is so beneficial when using TypeDB, why we use one, and how it enables a more expressive model
- Write a TypeDB schema in TypeQL
From August 30, 2010 presentation at ZF NYC Meetup. I gave a presentation on why to use Doctrine, the problems it can solve, how to use it, and some basics of integrating it with the Zend Framework.
They establish the relationship between two database tables as attributes in your model. That allows you to easily navigate the associations in your model and Criteria queries.
Sql vs no sql diponkar paul-april 2020-Toronto PASSDiponkar Paul
NoSQL database have grown popularity in recent years due to the flexibility of data modeling and scaling up capabilities. NoSQL database also have been using in big data landscape. The demo rich session will elaborate difference between SQL and NoSQL.
An introduction to SQL standard language for beginners and non-technical information people. Mostly covers SELECT statement using standard clauses, Joins, Sub-Queries and ...
Personalized Search on the Largest Flash Sale Site in AmericaAdrian Trenaman
This talk provides a tour of how Apache Solr is used to power search for America's largest flash sale site, www.gilt.com. We show how to address the challenges of providing listings for fast moving inventory in a search space personalized for each of our members. The solution, built on Play Framework comprises less than 4,000 lines of code, and provides response times of 40ms on average.
Joining the Club: Using Spark to Accelerate Big Data at Dollar Shave ClubData Con LA
Abstract:-
Data engineering at Dollar Shave Club has grown significantly over the last year. In that time, it has expanded in scope from conventional web-analytics and business intelligence to include real-time, big data and machine learning applications. We have bootstrapped a dedicated data engineering team in parallel with developing a new category of capabilities. And the business value that we delivered early on has allowed us to forge new roles for our data products and services in developing and carrying out business strategy. This progress was made possible, in large part, by adopting Apache Spark as an application framework. This talk describes what we have been able to accomplish using Spark at Dollar Shave Club.
Bio:-
Brett Bevers, Ph.D. Brett is a backend engineer and leads the data engineering team at Dollar Shave Club. More importantly, he is an ex-academic who is driven to understand and tackle hard problems. His latest challenge has been to develop tools powerful enough to support data-driven decision making in high value projects.
You can watch the replay for this Geek Sync webcast in the IDERA Resource Center: http://ow.ly/tt9w50A5g7u
Jeffrey will cover ways to avoid people thinking your code is bad, some common coding fallacies, and presents two case studies on rewriting bad SQL. The first case study contains three iterations of code written by the instructor, the second case study comes from an eCommerce site that had a great idea but horrible execution.
Sql vs no sql and azure data factory glasgow data UGDiponkar Paul
NoSQL databases have grown in popularity in recent years due to the flexibility of data modeling and scaling up capabilities. NoSQL databases also have been used in the big data landscape. The demo rich session will elaborate the difference between SQL and NoSQL. And data moving capabilities from NoSQL database MongoDB to Azure Data Lake by using Azure data factory.
Building Biomedical Knowledge Graphs for In-Silico Drug DiscoveryVaticle
The rapid development and spread of analytical tools in the biomedical sciences has produced a variety of information about all sorts of biological components and their functions. Though important individually, their biological characteristics need to be understood in relation to the interactions they have with other biological components, which requires the integration of vast amounts of complex, semantically-rich, heterogenous data.
Traditional systems are inadequate at accurately modelling and handling data at this scale and complexity, making solutions that speed up the integration and querying of such data a necessity.
In this talk, we present various approaches being used in organisations to build biomedical computational pipelines to address these problems using tools such as Machine Learning and TypeDB. In particular, we discuss how to create an accurate and scalable semantic representation of molecular level biomedical data by presenting examples from drug discovery, precision medicine and competitive intelligence.
Speaker: Tomás Sabat
Tomás is the Chief Operating Officer at Vaticle, dedicated to building a strongly-typed database for intelligent systems. He works directly with TypeDB's open source and enterprise users so they can fulfil their potential with TypeDB and change the world. He focuses mainly in life sciences, cyber security, finance and robotics.
Loading a lot of data into a graph database is not a trivial exercise. TypeDB Loader (formerly known as GraMi) was developed to allow large-scale data import into TypeDB, a strongly-typed database. Recent improvements have immensely simplified the configuration interface to allow for easier data importing, while maintaining features and the promise of loading huge amounts of data into TypeDB as fast as possible.
Sql vs no sql diponkar paul-april 2020-Toronto PASSDiponkar Paul
NoSQL database have grown popularity in recent years due to the flexibility of data modeling and scaling up capabilities. NoSQL database also have been using in big data landscape. The demo rich session will elaborate difference between SQL and NoSQL.
An introduction to SQL standard language for beginners and non-technical information people. Mostly covers SELECT statement using standard clauses, Joins, Sub-Queries and ...
Personalized Search on the Largest Flash Sale Site in AmericaAdrian Trenaman
This talk provides a tour of how Apache Solr is used to power search for America's largest flash sale site, www.gilt.com. We show how to address the challenges of providing listings for fast moving inventory in a search space personalized for each of our members. The solution, built on Play Framework comprises less than 4,000 lines of code, and provides response times of 40ms on average.
Joining the Club: Using Spark to Accelerate Big Data at Dollar Shave ClubData Con LA
Abstract:-
Data engineering at Dollar Shave Club has grown significantly over the last year. In that time, it has expanded in scope from conventional web-analytics and business intelligence to include real-time, big data and machine learning applications. We have bootstrapped a dedicated data engineering team in parallel with developing a new category of capabilities. And the business value that we delivered early on has allowed us to forge new roles for our data products and services in developing and carrying out business strategy. This progress was made possible, in large part, by adopting Apache Spark as an application framework. This talk describes what we have been able to accomplish using Spark at Dollar Shave Club.
Bio:-
Brett Bevers, Ph.D. Brett is a backend engineer and leads the data engineering team at Dollar Shave Club. More importantly, he is an ex-academic who is driven to understand and tackle hard problems. His latest challenge has been to develop tools powerful enough to support data-driven decision making in high value projects.
You can watch the replay for this Geek Sync webcast in the IDERA Resource Center: http://ow.ly/tt9w50A5g7u
Jeffrey will cover ways to avoid people thinking your code is bad, some common coding fallacies, and presents two case studies on rewriting bad SQL. The first case study contains three iterations of code written by the instructor, the second case study comes from an eCommerce site that had a great idea but horrible execution.
Sql vs no sql and azure data factory glasgow data UGDiponkar Paul
NoSQL databases have grown in popularity in recent years due to the flexibility of data modeling and scaling up capabilities. NoSQL databases also have been used in the big data landscape. The demo rich session will elaborate the difference between SQL and NoSQL. And data moving capabilities from NoSQL database MongoDB to Azure Data Lake by using Azure data factory.
Building Biomedical Knowledge Graphs for In-Silico Drug DiscoveryVaticle
The rapid development and spread of analytical tools in the biomedical sciences has produced a variety of information about all sorts of biological components and their functions. Though important individually, their biological characteristics need to be understood in relation to the interactions they have with other biological components, which requires the integration of vast amounts of complex, semantically-rich, heterogenous data.
Traditional systems are inadequate at accurately modelling and handling data at this scale and complexity, making solutions that speed up the integration and querying of such data a necessity.
In this talk, we present various approaches being used in organisations to build biomedical computational pipelines to address these problems using tools such as Machine Learning and TypeDB. In particular, we discuss how to create an accurate and scalable semantic representation of molecular level biomedical data by presenting examples from drug discovery, precision medicine and competitive intelligence.
Speaker: Tomás Sabat
Tomás is the Chief Operating Officer at Vaticle, dedicated to building a strongly-typed database for intelligent systems. He works directly with TypeDB's open source and enterprise users so they can fulfil their potential with TypeDB and change the world. He focuses mainly in life sciences, cyber security, finance and robotics.
Loading a lot of data into a graph database is not a trivial exercise. TypeDB Loader (formerly known as GraMi) was developed to allow large-scale data import into TypeDB, a strongly-typed database. Recent improvements have immensely simplified the configuration interface to allow for easier data importing, while maintaining features and the promise of loading huge amounts of data into TypeDB as fast as possible.
Natural Language Interface to Knowledge GraphVaticle
Natural language interfaces (NLI) offer end-users an easy and convenient way to query ontology-based knowledge graphs. They automatically generate database queries based on their natural language inputs, avoiding the need for the end user to learn different query languages. NLIs can be used with REST APIs to facilitate and enrich the interactions with knowledge graphs, in domains such as interactive root cause analysis (RCA), dynamic dashboard generation, and Online Transactional Processing (OLTP).
In this talk, you'll learn about a natural language interface built with a TypeDB server running on Raspberry Pi4. This application offers a conversational bot assistant with Cisco Webex for an efficient and flexible way to facilitate human-machine interactions. In particular, this talk will demonstrate how natural language inputs are translated into TypeQL queries using Abstract Syntax Trees that represent the syntactic structure discovered during the Named Entity Recognition (NER) analysis of the textual inputs provided by Rasa 2.X running on an Intel Celeron J3455 miniPC.
A Data Modelling Framework to Unify Cyber Security KnowledgeVaticle
Cyber security companies collect massive amounts of heterogenous data coming from a huge number of sources. These describe hundreds of different data types, such as vulnerabilities, observables, incidents, and malwares. While this data is highly complex (with many types of relations, type hierarchies, and rules), its structure doesn't significantly change between organisations. However, without a publicly available data model, organisations end up modelling the same data in different ways: in other words, reinventing the wheel, and wasting their resources. This modelling complexity makes scaling cyber security applications extremely difficult.
That's why efforts are underway to provide ready-made solutions for typical cyber security use cases which provide the flexibility to expand for specific requirement of individual setups. The combination of those efforts have created a lot of inter-related knowledge silos (e.g. CVE, CAPEC, CWE, CVSS, Cocoa, MITRE, VERIS, STIX, MAEC). To unify these silos, various ontologies have been proposed by researchers, with different levels of granularity - from specific use cases like defence exercises, to more comprehensive cases like the UCO project.
During this talk, you’ll learn about the OmnibusCyber Project, an open-source, ready-made solution that aggregates cyber security knowledge silos, based on TypeDB. TypeDB’s framework offers the expressivity, safety, and inference properties required to implement a knowledge graph without the complexity associated with the OWL/RDF semantic frameworks.
Unifying Space Mission Knowledge with NLP & Knowledge GraphVaticle
Synopsis
The number of space missions being designed and launched worldwide is growing exponentially. Information on these missions, such as their objectives, orbit, or payload, is disseminated across various documents and datasets. Facilitating access to this information is key to accelerating the design of future missions, enabling experts to link an application to a mission, and following various stakeholders' activities.
This presentation introduces recent research done at the ESA to combine the latest Language Models with Knowledge Graphs, unifying our knowledge on space missions. Language Models such as GPT-3 and BERT are trained to understand the patterns of human (natural) language. These models have revolutionised the field of NLP, the branch of AI enabling machines to understand human language in all its complexity. In this work, key information on a mission is parsed from documents with the GPT-3 model, and the parsed data is then migrated to a TypeDB Knowledge Graph to be easily queried. Although this work focuses on an application in the space sector, the method can be transferred to other engineering fields.
Presenters
Dr. Audrey Berquand is a Research Fellow at the ESA. Her research aims at enhancing space mission design and knowledge management with text mining, NLP, and Knowledge Graphs. She was awarded her PhD in 2021 from the University of Strathclyde (Scotland) for her thesis on “Text Mining and Natural Language Processing for the Early Stages of Space Mission Design”. Audrey has a background in space systems engineering, she holds an MSc in Aerospace Engineering from the Royal Institute of Technology KTH (Sweden), and a diplôme d'ingénieur from the EPF Graduate School of Engineering (France). Before diving into the world of AI, she spent 3 years at ESA being involved in the early design phases of future Earth Observation missions.
Ana Victória Ladeira works with Knowledge Management at the ESA, using automated methods to exploit the information contained in the piles and piles of documents that ESA generates every day. With a Masters degree in Data Science from Maastricht University, Ana is particularly excited about how NLP methods can help large organizations connect different documents and highlight the bigger picture over a big universe of data sources, as well as using Knowledge Graphs to help connect people to the expertise and information they need.
Talk Summary:
State of the art AI approaches can struggle to create solutions which provide accurate results that stand the test of time. They are also plagued by problems such as bias and a lack of explainability. Causal AI addresses these key problems and is at the center of the Geminos Causeway platform, which is built on TypeDB.
This webinar will give you an introduction to why causal AI is so important, and how you can start to use it to drive more value for your organisation.
Speaker: Stuart Frost
Stu is the CEO and founder of Geminos. Their focus is on building AI-driven solutions for mid-sized Smart Manufacturing and Logistics companies, that are frustrated by their inability to digitalize their operations at sensible cost. Stu has 30 years’ experience in founding and leading successful data management and analytics startups, starting at 26 when he founded SELECT Software Tools, and led the company to a NASDAQ IPO in 1996. He then founded DATAllegro in 2003 which was acquired by Microsoft.
Building a Cyber Threat Intelligence Knowledge GraphVaticle
Knowledge of cyber threats is a key focus in cyber security. In this talk, we present TypeDB CTI, which is an open source threat intelligence platform to store and manage such knowledge. It enables Cyber Security Intelligence (CTI) professionals to bring together their disparate CTI information into one platform, enabling them to more easily manage such data and discover new insights about cyber threats.
We will describe how we use TypeDB to represent STIX 2.1, the most widely used language and serialization format used to exchange cyber threat intelligence. We cover how we leverage TypeDB's modelling constructs such as type hierarchies, nested relations, hyper relations, unique attributes, and logical inference to build this threat intelligence platform.
Speaker: Tomás Sabat
Tomás is the Chief Operating Officer at Vaticle. He works closely with TypeDB's open source and enterprise users who use TypeDB to build applications in a wide number of industries including financial services, life sciences, cyber security and supply chain management. A graduate of the University of Cambridge, Tomás has spent the last seven years founding and building businesses in the technology industry.
Knowledge Graphs for Supply Chain Operations.pdfVaticle
Agility in supply chain operations has never been so important, especially with today's nonlinear and complex world. That is why companies with supply chains need knowledge graphs.
So how do enterprises unleash the power of their own supply chain data to make smarter decisions? This is where bops comes into play. Bops activates supply chain data from existing operating systems (ERPs, Pos, OMS, etc) simplifying how operators optimize working capital in every decision.
In this session, bops will showcase a few use cases that portray the power of a knowledge graph to represent a supply chain network composed of an end to end product flow driven by actions among plants, customers and suppliers.
Supply chain operations visibility:
- Story of a Product and an SKU: from raw material to finished goods track trace & bill of material deviations
- Story of a Supplier – risk assessments – “the most influential supplier”
- Story of a Process – anomaly detection – “what went wrong?”
Join us for a lively discussion to learn how using knowledge graphs is already helping supply chain companies to better collect, unify, and activate their data.
Speaker: Jorge Risquez
Jorge is the Co-founder and CEO of bops, a headless supply chain intelligence platform helping manufacturers and distributors source, make, and deliver their products, and unlock working capital. Previously, Jorge spent a decade as a Supply Chain Consultant for Deloitte, where he worked with Fortune 500 companies such as Tyson and Cargill. In his spare time, he enjoys going for a run in Central Park and spending time with family and friends.
Building a Distributed Database with Raft.pdfVaticle
Applications running on production have much higher requirements. Not only do they need to be correct, they also need to be "always-on", handle a much bigger user load, and also be secure.
Meet TypeDB Cluster, the TypeDB database for production-scale, built using the Raft replication algorithm. Join us for a walk through the underlying architecture and what value it brings to developers running an application at scale.
Speaker: Ganeshwara Henanda
Ganesh leads the development of TypeDB Cluster while also managing other aspects such as infrastructure and project management. His day-to-day work involves building concurrent and distributed algorithms such as Raft and the Actor Model.
He graduated with an MSc of Grid Computing from University of Amsterdam, and has built several large scale distributed and real-time systems throughout his career.
Enabling the Computational Future of Biology.pdfVaticle
Computational biology has revolutionised biomedicine. The volume of data it is generating is growing exponentially. This requires tools that enable computational and non-computational biologists to collaborate and derive meaningful insights. However, traditional systems are inadequate to accurately model and handle data at this scale and complexity.
In this talk, we discuss how TypeDB enables biologists to build a deeper understanding of life, and increase the probability of groundbreaking discoveries, across the life sciences.
Speaker: Tomás Sabat
Tomás is the Chief Operating Officer at Vaticle. He works closely with TypeDB's open source and enterprise users who use TypeDB to build applications in a wide number of industries including financial services, life sciences, cybersecurity and supply chain management. A graduate of the University of Cambridge, Tomás has spent the last seven years founding and building businesses in the technology industry.
Build your skills and learn how TypeDB's native inference engine works.
Good for:
- Beginners to TypeDB and TypeQL
- Those who have been using TypeDB and want a refresher on inference in TypeDB
- Experienced software engineers
- Those who want to better represent their domain in a model that allows for logical reasoning at the database level
Description:
TypeDB is capable of reasoning over data via pre-defined rules. TypeQL rules look for a given pattern in the database and when found, infer the given queryable fact. The inference provided by rules is performed at query (run) time. Rules not only allow shortening and simplifying of commonly-used queries, but also enable knowledge discovery and implementation of business logic at the database level.
Takeaways:
- Understanding of fundamental components of TypeDB's inference engine and how to write rules for your domain
- Write at least 1 rule for your use case
- Utilise the rule you wrote in a query
Tomás Sabat:
Tomás is the Chief Operating Officer at Vaticle, dedicated to building a strongly-typed database for intelligent systems. He works directly with TypeDB's open source and enterprise users so they can fulfil their potential with TypeDB and change the world. He focuses mainly in life sciences, cyber security, finance and robotics.
Join the TypeDB community to learn how we think about data modelling, and how TypeDB's expressivity allows you to model your domain based on logical and object-oriented programming principles.
Good for:
- Engineers, scientists, and technical executives
- Those in a technical field working with complex datasets, and building intelligent systems
- Anyone curious to learn about the expressive power of TypeDB's data model
Description:
We open this training with an exploration into what a schema looks like in TypeDB, starting with clarifying the motivation for the conceptual model in TypeDB, and its relationship to the Enhanced Entity-Relationship model.
Then we break things down a bit more philosophically, delving into: what does it mean to represent data in TypeDB, and how TypeDB allows you to think higher-level, as opposed to join-tables, columns, documents, vertices, edges, and properties.
Takeaways:
- Be able to articulate why TypeDB's data model is so beneficial for complex data, and why we use it to build intelligent systems
- Write a TypeDB schema in TypeQL
- Practice modelling one of your own domains
Tomás Sabat:
Tomás is the Chief Operating Officer at Vaticle, dedicated to building a strongly-typed database for intelligent systems. He works directly with TypeDB's open source and enterprise users so they can fulfil their potential with TypeDB and change the world. He focuses mainly in life sciences, cyber security, finance and robotics.
Comparing Semantic Web Technologies to TypeDBVaticle
Semantic Web technologies enable us to represent and query for very complex and heterogeneous datasets. We can add semantics and reason over large bodies of data on the web. However, despite a lot of educational material available, they have failed to achieve mass adoption outside academia.
TypeDB works at a higher level of abstraction and enables developers to be more productive when working with complex data. TypeDB is easier to learn, reducing the barrier to entry and enabling more developers to access semantic technologies. Instead of using a myriad of standards and technologies, we just use one language - TypeQL.
In this talk we will:
- look at how TypeQL compares to Semantic Web standards, specifically RDF, SPARQL RDFS, OWL and SHACL.
- cover questions such as, how do we represent hyper-relations in TypeDB? How does one use rdfs:domain and rdfs:range in TypeDB? And how do the modelling philosophies compare?
Speaker: Tomás Sabat
Tomás is the Chief Operating Officer at Vaticle. He works closely with TypeDB's open source and enterprise users who use TypeDB to build applications in a wide number of industries including financial services, life sciences, cyber security and supply chain management. A graduate of the University of Cambridge, Tomás has spent the last seven years founding and building businesses in the technology industry.
How might we utilise an actor-based execution model to build a powerful yet elegant reasoning engine?
Actors are an asynchronous, inherently parallel framework that form the basis of some of the most computationally heavy systems in the world. By leveraging this in an event-driven model, we can build an execution engine that makes efficient use of all available hardware resources to answer your reasoning queries.
We'll visit the key ideas behind actors, and then walk through how we break reasoning into neat, actor-sized building blocks. As we do this, it will become clear how our marriage of reasoning and actors naturally produces a scalable and elegant execution engine. By examining the problem of reasoning from an actor-based lens, we'll be able to better understand the complexities of reasoning and visualise bottlenecks and optimisations.
Intro to TypeDB and TypeQL | A strongly-typed databaseVaticle
TypeDB is a strongly-typed database. It provides a rich and logical type system which breaks down complex problems into meaningful and logical systems, using TypeQL as its query language.
TypeDB allows you to model your domain based on logical and object-oriented principles. Composed of entity, relationship, and attribute types, as well as type hierarchies, roles, and rules, TypeDB allows you to think higher-level, as opposed to join-tables, columns, documents, vertices, and edges.
Types describe the logical structures of your data, allowing TypeDB to validate that your code inserts and queries data correctly. Query validation goes beyond static type-checking, and includes logical validation of meaningless queries. With strict type-checking errors, you have a dataset that you can trust.
Finally, TypeDB encodes your data for logical interpretation by its reasoning engine. It enables type-inference and rule-inference, which create logical abstractions of data. This allows for the discovery of facts and patterns that would otherwise be too hard to find.
With these abstractions, queries in the tens to hundreds of lines in SQL or NoSQL databases can be written in just a few lines in TypeQL – collapsing code complexity by orders of magnitude.
Join Tomás from the Vaticle team where he'll discuss the origins of TypeDB, the impetus for inventing a new query language, TypeQL, and why we are so excited about the future of software and intelligent systems.
Tomás Sabat:
Tomás is the Chief Operating Officer at Vaticle, dedicated to building a strongly typed database for intelligent systems. He works directly with TypeDB's open source and enterprise users so they can fulfil their potential with TypeDB and change the world. He focuses mainly in life sciences, cyber security, finance and robotics.
Graph Databases vs TypeDB | What you can't do with graphsVaticle
Developing with graph databases has a number of challenges, such as the modelling of complex schemas, and maintaining data consistency in your database.
In this talk, we discuss how TypeDB addresses these challenges, as well as how it compares to property graph databases. We’ll look at how to read and write data, how to model complex domains, and TypeDB’s ability to infer new data.
The main differences between TypeDB and graph databases can be summarised as:
1. TypeDB provides a concept-level schema with a type system that fully implements the Entity-Relationship (ER) model. Graph databases, on the other hand, use vertices and edges without integrity constraints imposed in the form of a schema
2. TypeDB contains a built-in inference engine - graph databases don’t provide native inferencing capabilities
3. TypeDB is an abstraction over a graph, and leverages a graph database under the hood to create a higher-level model, while graph databases work at different levels of abstraction
Tomás Sabat
Tomás is the Chief Operating Officer at Vaticle. He works closely with TypeDB's open source and enterprise users who use TypeDB to build applications in a wide number of industries including financial services, life sciences, cyber security and supply chain management. A graduate of the University of Cambridge, Tomás has spent the last seven years founding and building businesses in the technology industry.
In this seminar we use TypeDB to open a window on the Pandora Papers, a massive 'data tsunami' based on 11.9 million leaked source documents obtained by the International Consortium of Investigative Journalists (ICIJ).
We will use an automated query builder to get an initial set of results, and then hop from node to node, exploring neighbours and mapping out a suspicious-looking network of offshore shell companies, officers and intermediaries.
Speaker: Jon Thompson
Jon has an MSc in Applied Mathematics and has worked for several years as a Data Scientist in high-throughput biological sequencing. He is the founder of Nodelab, which is on a mission to provide a fully-featured graphical user interface experience for TypeDB.
Heterogenous data holds significant inherent context. We would like our machine learning models to understand this context, and utilise this ancillary but critical information to improve the accuracy and versatility of our models.
How can we systematically make use of context in Machine Learning?
We delve in and investigate the knowledge modelling techniques, which applied with the right ML strategies, give us a promising approach for robustly handling heterogeneous data in large knowledge models. We aim to do this in a way that allows us to build any Machine Learning models, including graph learning models like our KGCN.
Speaker: James Fletcher, Vaticle
James comes from a background of Computer Vision, specialising in automated diagnostics. As Principal Scientist at Vaticle, his mission is to demonstrate to the world how traditional symbolic approaches to AI, built-in to TypeDB, can be combined with present-day research in machine learning.
AI offers enormous potential in terms of improving the effectiveness and efficiency of robots. In recent years, data-driven AI has achieved remarkable success in specialised tasks such as speech recognition, machine translation and object detection. Despite these successes, there are also some clear signs of the limitations.
On finding a solution to these limitations, we study the following three challenges:
1) How may robots operate under real-world conditions, which are dynamic and packed with unknown objects and situations?
2) How may robots be able to execute multiple tasks, instead of just one?
3) How can robots cooperate with other robots and with human team-mates?
In this talk the first two challenges will be addressed. Also, we will show how the knowledge-base of TypeDB enables us to tackle such challenges.
Speaker: Joris Sijs, Scientist @ TNO
Joris is a team-lead at TNO, where he develops and integrates software modules for the perception, awareness and planning of autonomous systems and autonomous robots. He recently started to extend this work with the development of knowledge-graphs (or cognitive databases), and how to combine this type of AI with the machine- and deep-learning solutions in AI.
Combining Causal and Knowledge Modeling for Digital TransformationVaticle
Geminos has created a low-code digital transformation platform that combines causal and knowledge modeling. It uses TypeDB as its internal repository. Initial projects are in supply chain and smart manufacturing, with a focus on sustainability.
Speakers: Stuart Frost (CEO), Owen Frost (Analyst)
Stu is the CEO and founder of Geminos. Their focus is on building AI-driven solutions for mid-sized Smart Manufacturing and Logistics companies, that are frustrated by their inability to digitalize their operations at sensible cost.
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Jeffrey Haguewood
Sidekick Solutions uses Bonterra Impact Management (fka Social Solutions Apricot) and automation solutions to integrate data for business workflows.
We believe integration and automation are essential to user experience and the promise of efficient work through technology. Automation is the critical ingredient to realizing that full vision. We develop integration products and services for Bonterra Case Management software to support the deployment of automations for a variety of use cases.
This video focuses on the notifications, alerts, and approval requests using Slack for Bonterra Impact Management. The solutions covered in this webinar can also be deployed for Microsoft Teams.
Interested in deploying notification automations for Bonterra Impact Management? Contact us at sales@sidekicksolutionsllc.com to discuss next steps.
The Art of the Pitch: WordPress Relationships and SalesLaura Byrne
Clients don’t know what they don’t know. What web solutions are right for them? How does WordPress come into the picture? How do you make sure you understand scope and timeline? What do you do if sometime changes?
All these questions and more will be explored as we talk about matching clients’ needs with what your agency offers without pulling teeth or pulling your hair out. Practical tips, and strategies for successful relationship building that leads to closing the deal.
Essentials of Automations: Optimizing FME Workflows with ParametersSafe Software
Are you looking to streamline your workflows and boost your projects’ efficiency? Do you find yourself searching for ways to add flexibility and control over your FME workflows? If so, you’re in the right place.
Join us for an insightful dive into the world of FME parameters, a critical element in optimizing workflow efficiency. This webinar marks the beginning of our three-part “Essentials of Automation” series. This first webinar is designed to equip you with the knowledge and skills to utilize parameters effectively: enhancing the flexibility, maintainability, and user control of your FME projects.
Here’s what you’ll gain:
- Essentials of FME Parameters: Understand the pivotal role of parameters, including Reader/Writer, Transformer, User, and FME Flow categories. Discover how they are the key to unlocking automation and optimization within your workflows.
- Practical Applications in FME Form: Delve into key user parameter types including choice, connections, and file URLs. Allow users to control how a workflow runs, making your workflows more reusable. Learn to import values and deliver the best user experience for your workflows while enhancing accuracy.
- Optimization Strategies in FME Flow: Explore the creation and strategic deployment of parameters in FME Flow, including the use of deployment and geometry parameters, to maximize workflow efficiency.
- Pro Tips for Success: Gain insights on parameterizing connections and leveraging new features like Conditional Visibility for clarity and simplicity.
We’ll wrap up with a glimpse into future webinars, followed by a Q&A session to address your specific questions surrounding this topic.
Don’t miss this opportunity to elevate your FME expertise and drive your projects to new heights of efficiency.
Key Trends Shaping the Future of Infrastructure.pdfCheryl Hung
Keynote at DIGIT West Expo, Glasgow on 29 May 2024.
Cheryl Hung, ochery.com
Sr Director, Infrastructure Ecosystem, Arm.
The key trends across hardware, cloud and open-source; exploring how these areas are likely to mature and develop over the short and long-term, and then considering how organisations can position themselves to adapt and thrive.
DevOps and Testing slides at DASA ConnectKari Kakkonen
My and Rik Marselis slides at 30.5.2024 DASA Connect conference. We discuss about what is testing, then what is agile testing and finally what is Testing in DevOps. Finally we had lovely workshop with the participants trying to find out different ways to think about quality and testing in different parts of the DevOps infinity loop.
UiPath Test Automation using UiPath Test Suite series, part 4DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 4. In this session, we will cover Test Manager overview along with SAP heatmap.
The UiPath Test Manager overview with SAP heatmap webinar offers a concise yet comprehensive exploration of the role of a Test Manager within SAP environments, coupled with the utilization of heatmaps for effective testing strategies.
Participants will gain insights into the responsibilities, challenges, and best practices associated with test management in SAP projects. Additionally, the webinar delves into the significance of heatmaps as a visual aid for identifying testing priorities, areas of risk, and resource allocation within SAP landscapes. Through this session, attendees can expect to enhance their understanding of test management principles while learning practical approaches to optimize testing processes in SAP environments using heatmap visualization techniques
What will you get from this session?
1. Insights into SAP testing best practices
2. Heatmap utilization for testing
3. Optimization of testing processes
4. Demo
Topics covered:
Execution from the test manager
Orchestrator execution result
Defect reporting
SAP heatmap example with demo
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualityInflectra
In this insightful webinar, Inflectra explores how artificial intelligence (AI) is transforming software development and testing. Discover how AI-powered tools are revolutionizing every stage of the software development lifecycle (SDLC), from design and prototyping to testing, deployment, and monitoring.
Learn about:
• The Future of Testing: How AI is shifting testing towards verification, analysis, and higher-level skills, while reducing repetitive tasks.
• Test Automation: How AI-powered test case generation, optimization, and self-healing tests are making testing more efficient and effective.
• Visual Testing: Explore the emerging capabilities of AI in visual testing and how it's set to revolutionize UI verification.
• Inflectra's AI Solutions: See demonstrations of Inflectra's cutting-edge AI tools like the ChatGPT plugin and Azure Open AI platform, designed to streamline your testing process.
Whether you're a developer, tester, or QA professional, this webinar will give you valuable insights into how AI is shaping the future of software delivery.
Search and Society: Reimagining Information Access for Radical FuturesBhaskar Mitra
The field of Information retrieval (IR) is currently undergoing a transformative shift, at least partly due to the emerging applications of generative AI to information access. In this talk, we will deliberate on the sociotechnical implications of generative AI for information access. We will argue that there is both a critical necessity and an exciting opportunity for the IR community to re-center our research agendas on societal needs while dismantling the artificial separation between the work on fairness, accountability, transparency, and ethics in IR and the rest of IR research. Instead of adopting a reactionary strategy of trying to mitigate potential social harms from emerging technologies, the community should aim to proactively set the research agenda for the kinds of systems we should build inspired by diverse explicitly stated sociotechnical imaginaries. The sociotechnical imaginaries that underpin the design and development of information access technologies needs to be explicitly articulated, and we need to develop theories of change in context of these diverse perspectives. Our guiding future imaginaries must be informed by other academic fields, such as democratic theory and critical theory, and should be co-developed with social science scholars, legal scholars, civil rights and social justice activists, and artists, among others.
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Ramesh Iyer
In today's fast-changing business world, Companies that adapt and embrace new ideas often need help to keep up with the competition. However, fostering a culture of innovation takes much work. It takes vision, leadership and willingness to take risks in the right proportion. Sachin Dev Duggal, co-founder of Builder.ai, has perfected the art of this balance, creating a company culture where creativity and growth are nurtured at each stage.
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf91mobiles
91mobiles recently conducted a Smart TV Buyer Insights Survey in which we asked over 3,000 respondents about the TV they own, aspects they look at on a new TV, and their TV buying preferences.
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...UiPathCommunity
💥 Speed, accuracy, and scaling – discover the superpowers of GenAI in action with UiPath Document Understanding and Communications Mining™:
See how to accelerate model training and optimize model performance with active learning
Learn about the latest enhancements to out-of-the-box document processing – with little to no training required
Get an exclusive demo of the new family of UiPath LLMs – GenAI models specialized for processing different types of documents and messages
This is a hands-on session specifically designed for automation developers and AI enthusiasts seeking to enhance their knowledge in leveraging the latest intelligent document processing capabilities offered by UiPath.
Speakers:
👨🏫 Andras Palfi, Senior Product Manager, UiPath
👩🏫 Lenka Dulovicova, Product Program Manager, UiPath
4. Sure, you can express a question by writing a navigational plan,
but the navigational plan is not the essence of what you're trying
to accomplish. [...]
Wouldn't it be nice if you could express the question at a higher
level and let the system figure out how to do the navigation?
– Edgar “Ted” Codd
5.
6.
7. A language that you can read and understand intuitively enables
you to ask questions at a higher level, while letting the system
figure out how to do the lower level operations.
33. CREATE TABLE products (
product_id smallint NOT NULL PRIMARY KEY,
product_name character varying(40) NOT
NULL,
category_id smallint,
quantity_per_unit character varying(20),
);
Defining Schemas – Create an Entity
34. CREATE TABLE products (
product_id smallint NOT NULL PRIMARY KEY,
product_name character varying(40) NOT
NULL,
category_id smallint,
quantity_per_unit character varying(20),
);
define
product sub entity;
Defining Schemas – Create an Entity
35. CREATE TABLE products (
product_id smallint NOT NULL PRIMARY KEY,
product_name character varying(40) NOT
NULL,
category_id smallint,
quantity_per_unit character varying(20),
);
define
product sub entity,
owns product-id @key;
Defining Schemas – Create an Entity
36. CREATE TABLE products (
product_id smallint NOT NULL PRIMARY KEY,
product_name character varying(40) NOT
NULL,
category_id smallint,
quantity_per_unit character varying(20),
);
define
product sub entity,
owns product-id @key,
owns product-name,
owns quantity-per-unit;
Defining Schemas – Create an Entity
37. CREATE TABLE products (
product_id smallint NOT NULL PRIMARY KEY,
product_name character varying(40) NOT
NULL,
category_id smallint,
quantity_per_unit character varying(20),
);
define
product sub entity,
owns product-id @key,
owns product-name,
owns quantity-per-unit;
product-id sub attribute, value double;
product-name sub attribute, value string;
quantity-per-unit sub attribute, value
double;
Defining Schemas – Create an Entity
38. CREATE TABLE products (
product_id smallint NOT NULL PRIMARY KEY,
product_name character varying(40) NOT
NULL,
category_id smallint,
quantity_per_unit character varying(20),
FOREIGN KEY (category_id) REFERENCES
categories
);
define
product sub entity,
owns product-id @key,
owns product-name,
owns quantity-per-unit;
product-id sub attribute, value double;
product-name sub attribute, value string;
quantity-per-unit sub attribute, value
double;
Defining Schemas – Create an Entity
39. CREATE TABLE products (
product_id smallint NOT NULL PRIMARY KEY,
product_name character varying(40) NOT
NULL,
category_id smallint,
quantity_per_unit character varying(20),
FOREIGN KEY (category_id) REFERENCES
categories
);
define
product sub entity,
owns product-id @key,
owns product-name,
owns quantity-per-unit,
plays assignment:assigned;
product-id sub attribute, value double;
product-name sub attribute, value string;
quantity-per-unit sub attribute, value
double;
Defining Schemas – Create an Entity
40. CREATE TABLE products (
product_id smallint NOT NULL PRIMARY KEY,
product_name character varying(40) NOT
NULL,
category_id smallint,
quantity_per_unit character varying(20),
FOREIGN KEY (category_id) REFERENCES
categories
);
define
product sub entity,
owns product-id @key,
owns product-name,
owns quantity-per-unit,
plays assignment:assigned;
product-id sub attribute, value double;
product-name sub attribute, value string;
quantity-per-unit sub attribute, value
double;
assignment sub relation,
relates category,
relates assigned;
Defining Schemas – Create an Entity
42. Inserting Data
Insert a new product with product name “Chocolate”, product id 12, quantity per unit 421 and category name
“Confections”.
43. SELECT category.categoryID
FROM category
WHERE category.CategoryName = 'Confections';
Inserting Data
Insert a new product with product name “Chocolate”, product id 12, quantity per unit 421 and category name
“Confections”.
44. SELECT category.categoryID
FROM category
WHERE category.CategoryName = 'Confections';
INSERT INTO products
VALUES (12, 'Chocolate', 42, 421)
Inserting Data
Insert a new product with product name “Chocolate”, product id 12, quantity per unit 421 and category name
“Confections”.
45. SELECT category.categoryID
FROM category
WHERE category.CategoryName = 'Confections';
INSERT INTO products
VALUES (12, 'Chocolate', 42, 421)
match
$c isa category,
has name "Confections";
Inserting Data
Insert a new product with product name “Chocolate”, product id 12, quantity per unit 421 and category name
“Confections”.
46. SELECT category.categoryID
FROM category
WHERE category.CategoryName = 'Confections';
INSERT INTO products
VALUES (12, 'Chocolate', 42, 421)
match
$c isa category,
has name "Confections";
insert
$p isa product;
Inserting Data
Insert a new product with product name “Chocolate”, product id 12, quantity per unit 421 and category name
“Confections”.
47. SELECT category.categoryID
FROM category
WHERE category.CategoryName = 'Confections';
INSERT INTO products
VALUES (12, 'Chocolate', 42, 421)
match
$c isa category,
has name "Confections";
insert
$p isa product,
has product-id 12,
has product-name "Chocolate",
has quantity-per-unit 421;
Inserting Data
Insert a new product with product name “Chocolate”, product id 12, quantity per unit 421 and category name
“Confections”.
48. SELECT category.categoryID
FROM category
WHERE category.CategoryName = 'Confections';
INSERT INTO products
VALUES (12, 'Chocolate', 42, 421)
match
$c isa category,
has name "Confections";
insert
$p isa product,
has product-id 12,
has product-name "Chocolate",
has quantity-per-unit 421;
$r ($c, $p) isa assignment;
Inserting Data
Insert a new product with product name “Chocolate”, product id 12, quantity per unit 421 and category name
“Confections”.
53. Projection
Return all product IDs and the unit prices.
ProductID ProductName CategoryID UnitPrice QuantityPerUnit
product
productID
$pid
unit-price
$up
55. Restrict
Return product IDs and product names, for products with a unit price higher than 12.5.
ProductID ProductName CategoryID UnitPrice QuantityPerUnit
>12.5
>12.5
>12.5
56. Restrict
Return product IDs and product names, for products with a unit price higher than 12.5.
product
unit-price
>12.5
productID
$pid
product-name
$pn
ProductID ProductName CategoryID UnitPrice QuantityPerUnit
>12.5
>12.5
>12.5
57. Union
Get all the different cities in which suppliers and customers are located.
58. Union
Get all the different cities in which suppliers and customers are located.
Cities
Cities
Suppliers
Customers
59. Union
Get all the different cities in which suppliers and customers are located.
Cities
Cities
Suppliers
Customers
city
city-name
$cn
located
customer supplier
located OR
61. Intersection
Get a list of cities where both customers and suppliers are located.
Cities
Cities
Suppliers
Customers
62. Intersection
Get a list of cities where both customers and suppliers are located.
city
city-name
$cn
Cities
Cities
Suppliers
Customers
located
customer supplier
located AND
Intersection
Get a list of cities where both customers and suppliers are located.
city
city-name
$cn
Cities
Cities
Suppliers
Customers
located
customer supplier
located AND
74. define
employee sub entity;
company sub entity;
order sub entity;
product sub entity;
sale sub relation,
relates seller,
relates placed-order,
relates customer;
Hyper-relationships
75. define
employee sub entity;
company sub entity;
order sub entity;
product sub entity;
sale sub relation,
relates seller,
relates placed-order,
relates customer;
containing sub relation,
owns quantity,
owns unit-price,
relates product,
relates containing-order;
Hyper-relationships
76. define
employee sub entity;
company sub entity;
order sub entity;
product sub entity;
sale sub relation,
relates seller,
relates placed-order,
relates customer;
containing sub relation,
owns quantity,
owns unit-price,
relates product,
relates containing-order;
stocking sub relation,
relates stock,
relates supplier;
Hyper-relationships
77. define
employee sub entity,
plays sale:seller;
company sub entity,
plays stocking:supplier,
plays sale:customer;
order sub entity,
plays containing:placed-order,
plays sale:containing-order;
product sub entity,
plays containing:product,
plays stocking:stock;
sale sub relation,
relates seller,
relates placed-order,
relates customer;
containing sub relation,
owns quantity,
owns unit-price,
relates product,
relates containing-order;
stocking sub relation,
relates stock,
relates supplier;
Hyper-relationships
78. Traversal Query
Return all employee IDs who sold to a customer based in London, of customer demographic ‘x’.
81. Return all employee IDs who sold to a customer based in London, of customer demographic ‘x’.
Traversal Query
employee sale company
customer-
description
supplier customer
seller
demographic
’x’
employee-id city
’London’
…
82. Return all employee IDs who sold to a customer based in London, of customer demographic ‘x’.
SELECT Employees.EmployeeID
FROM Employees
Traversal Query
83. Return all employee IDs who sold to a customer based in London, of customer demographic ‘x’.
SELECT Employees.EmployeeID
FROM Employees
INNER JOIN Orders ON
Employees.EmployeeID = Orders.EmployeeID
INNER JOIN Customers ON
Orders.CustomerID = Customers.CustomerID
AND Customers.City = 'London'
INNER JOIN CustomerCustomerDemo ON
Customers.CustomerID =
CustomerCustomerDemo.CustomerID
INNER JOIN CustomerDemographic ON
CustomerCustomerDemo.CustomerTypeId =
CustomerDemographic.CustomerTypeId AND
CustomerCustomerDemo.CustomerDesc = 'x'
Traversal Query
84. Return all employee IDs who sold to a customer based in London, of customer demographic ‘x’.
SELECT Employees.EmployeeID
FROM Employees
INNER JOIN Orders ON
Employees.EmployeeID = Orders.EmployeeID
INNER JOIN Customers ON
Orders.CustomerID = Customers.CustomerID
AND Customers.City = 'London'
INNER JOIN CustomerCustomerDemo ON
Customers.CustomerID =
CustomerCustomerDemo.CustomerID
INNER JOIN CustomerDemographic ON
CustomerCustomerDemo.CustomerTypeId =
CustomerDemographic.CustomerTypeId AND
CustomerCustomerDemo.CustomerDesc = 'x'
match
$s isa employee,
has employee-id $eid;
Traversal Query
85. Return all employee IDs who sold to a customer based in London, of customer demographic ‘x’.
SELECT Employees.EmployeeID
FROM Employees
INNER JOIN Orders ON
Employees.EmployeeID = Orders.EmployeeID
INNER JOIN Customers ON
Orders.CustomerID = Customers.CustomerID
AND Customers.City = 'London'
INNER JOIN CustomerCustomerDemo ON
Customers.CustomerID =
CustomerCustomerDemo.CustomerID
INNER JOIN CustomerDemographic ON
CustomerCustomerDemo.CustomerTypeId =
CustomerDemographic.CustomerTypeId AND
CustomerCustomerDemo.CustomerDesc = 'x'
match
$s isa employee,
has employee-id $eid;
$c isa company,
has city "London";
Traversal Query
86. Return all employee IDs who sold to a customer based in London, of customer demographic ‘x’.
SELECT Employees.EmployeeID
FROM Employees
INNER JOIN Orders ON
Employees.EmployeeID = Orders.EmployeeID
INNER JOIN Customers ON
Orders.CustomerID = Customers.CustomerID
AND Customers.City = 'London'
INNER JOIN CustomerCustomerDemo ON
Customers.CustomerID =
CustomerCustomerDemo.CustomerID
INNER JOIN CustomerDemographic ON
CustomerCustomerDemo.CustomerTypeId =
CustomerDemographic.CustomerTypeId AND
CustomerCustomerDemo.CustomerDesc = 'x'
match
$s isa employee,
has employee-id $eid;
$c isa company,
has city "London";
$r1(seller: $s, customer: $c) isa sale;
Traversal Query
87. Return all employee IDs who sold to a customer based in London, of customer demographic ‘x’.
SELECT Employees.EmployeeID
FROM Employees
INNER JOIN Orders ON
Employees.EmployeeID = Orders.EmployeeID
INNER JOIN Customers ON
Orders.CustomerID = Customers.CustomerID
AND Customers.City = 'London'
INNER JOIN CustomerCustomerDemo ON
Customers.CustomerID =
CustomerCustomerDemo.CustomerID
INNER JOIN CustomerDemographic ON
CustomerCustomerDemo.CustomerTypeId =
CustomerDemographic.CustomerTypeId AND
CustomerCustomerDemo.CustomerDesc = 'x'
match
$s isa employee,
has employee-id $eid;
$c isa company,
has city "London";
$r1(seller: $s, customer: $c) isa sale;
$cd isa customer-demographic,
has customer-description 'x';
Traversal Query
88. Return all employee IDs who sold to a customer based in London, of customer demographic ‘x’.
SELECT Employees.EmployeeID
FROM Employees
INNER JOIN Orders ON
Employees.EmployeeID = Orders.EmployeeID
INNER JOIN Customers ON
Orders.CustomerID = Customers.CustomerID
AND Customers.City = 'London'
INNER JOIN CustomerCustomerDemo ON
Customers.CustomerID =
CustomerCustomerDemo.CustomerID
INNER JOIN CustomerDemographic ON
CustomerCustomerDemo.CustomerTypeId =
CustomerDemographic.CustomerTypeId AND
CustomerCustomerDemo.CustomerDesc = 'x'
match
$s isa employee,
has employee-id $eid;
$c isa company,
has city "London";
$r1(seller: $s, customer: $c) isa sale;
$cd isa customer-demographic,
has customer-description 'x';
$r2 ($c, $cd);
Traversal Query
89. Return all employee IDs who sold to a customer based in London, of customer demographic ‘x’.
SELECT Employees.EmployeeID
FROM Employees
INNER JOIN Orders ON
Employees.EmployeeID = Orders.EmployeeID
INNER JOIN Customers ON
Orders.CustomerID = Customers.CustomerID
AND Customers.City = 'London'
INNER JOIN CustomerCustomerDemo ON
Customers.CustomerID =
CustomerCustomerDemo.CustomerID
INNER JOIN CustomerDemographic ON
CustomerCustomerDemo.CustomerTypeId =
CustomerDemographic.CustomerTypeId AND
CustomerCustomerDemo.CustomerDesc = 'x'
match
$s isa employee,
has employee-id $eid;
$c isa company,
has city "London";
$r1(seller: $s, customer: $c) isa sale;
$cd isa customer-demographic,
has customer-description 'x';
$r2 ($c, $cd);
get $eid;
Traversal Query
96. Type-based Reasoning
define
organisation sub entity;
for-profit sub organisation;
non-profit sub organisation;
bank sub for-profit;
pharmaceutical sub for-profit;
non-profit
organisation
sub
for-profit
bank pharmaceutical
sub
sub
sub
105. Return all the employee IDs who are in a region with region-description ‘x’.
SELECT Employee.EmployeeID
FROM Employee
Rule-based Reasoning
106. Return all the employee IDs who are in a region with region-description ‘x’.
SELECT Employee.EmployeeID
FROM Employee
INNER JOIN EmployeeTerritories AS Et ON
Employee.EmployeeID = Et.EmployeeID
INNER JOIN Territories AS Te ON
Te.TerritoryID = Et.TerritoryID
INNER JOIN Region AS Re ON
Re.RegionDescription = 'x'
Rule-based Reasoning
107. Return all the employee IDs who are in a region with region-description ‘x’.
SELECT Employee.EmployeeID
FROM Employee
INNER JOIN EmployeeTerritories AS Et ON
Employee.EmployeeID = Et.EmployeeID
INNER JOIN Territories AS Te ON
Te.TerritoryID = Et.TerritoryID
INNER JOIN Region AS Re ON
Re.RegionDescription = 'x'
match
$r isa region, has region-description "x";
Rule-based Reasoning
108. Return all the employee IDs who are in a region with region-description ‘x’.
SELECT Employee.EmployeeID
FROM Employee
INNER JOIN EmployeeTerritories AS Et ON
Employee.EmployeeID = Et.EmployeeID
INNER JOIN Territories AS Te ON
Te.TerritoryID = Et.TerritoryID
INNER JOIN Region AS Re ON
Re.RegionDescription = 'x'
match
$e isa employee, has employee-id $eid;
$r isa region, has region-description "x";
Rule-based Reasoning
109. Return all the employee IDs who are in a region with region-description ‘x’.
SELECT Employee.EmployeeID
FROM Employee
INNER JOIN EmployeeTerritories AS Et ON
Employee.EmployeeID = Et.EmployeeID
INNER JOIN Territories AS Te ON
Te.TerritoryID = Et.TerritoryID
INNER JOIN Region AS Re ON
Re.RegionDescription = 'x'
match
$e isa employee, has employee-id $eid;
$r isa region, has region-description "x";
$r1 (located: $e, locating: $r);
Rule-based Reasoning
110. Return all the employee IDs who are in a region with region-description ‘x’.
SELECT Employee.EmployeeID
FROM Employee
INNER JOIN EmployeeTerritories AS Et ON
Employee.EmployeeID = Et.EmployeeID
INNER JOIN Territories AS Te ON
Te.TerritoryID = Et.TerritoryID
INNER JOIN Region AS Re ON
Re.RegionDescription = 'x'
match
$e isa employee, has employee-id $eid;
$r isa region, has region-description "x";
$r1 (located: $e, locating: $r);
get $eid;
Rule-based Reasoning
111. Rule-based Reasoning
Return all organisation IDs of any type of organisation that employees have sold to who are in a region with region-
description "x".
112. Rule-based Reasoning
Return all organisation IDs of any type of organisation that employees have sold to who are in a region with region-
description "x".
charities
companies
113. Rule-based Reasoning
Return all organisation IDs of any type of organisation that employees have sold to who are in a region with region-
description "x".
charities
companies orders
orders
114. Rule-based Reasoning
Return all organisation IDs of any type of organisation that employees have sold to who are in a region with region-
description "x".
charities
companies orders employee
orders employee
115. Rule-based Reasoning
Return all organisation IDs of any type of organisation that employees have sold to who are in a region with region-
description "x".
charities
companies territory
territory
orders employee
orders employee
116. Rule-based Reasoning
Return all organisation IDs of any type of organisation that employees have sold to who are in a region with region-
description "x".
charities
companies orders
orders
region
‘x’
territory
territory
employee
employee
117. Return all org IDs any type of customer that employees have sold to who are in a region with region-description "x".
SELECT Companies.OrgID
FROM Companies
Rule-based Reasoning
118. Return all org IDs any type of customer that employees have sold to who are in a region with region-description "x".
SELECT Companies.OrgID
FROM Companies
INNER JOIN Orders ON
Companies.OrgId = Orders.OrgId
INNER JOIN Employees ON
Orders.OrgId = Employees.OrgId
INNER JOIN EmployeeTerritories AS Et ON
Employee.EmployeeID = Et.EmployeeID
INNER JOIN Territories AS Te ON
Te.TerritoryID = Et.TerritoryID
INNER JOIN Region AS Re ON
Re.RegionDescription = 'x'
Rule-based Reasoning
119. Return all org IDs any type of customer that employees have sold to who are in a region with region-description "x".
SELECT Companies.OrgID
FROM Companies
INNER JOIN Orders ON
Companies.OrgId = Orders.OrgId
INNER JOIN Employees ON
Orders.OrgId = Employees.OrgId
INNER JOIN EmployeeTerritories AS Et ON
Employee.EmployeeID = Et.EmployeeID
INNER JOIN Territories AS Te ON
Te.TerritoryID = Et.TerritoryID
INNER JOIN Region AS Re ON
Re.RegionDescription = 'x'
UNION
Rule-based Reasoning
120. Return all org IDs any type of customer that employees have sold to who are in a region with region-description "x".
SELECT Companies.OrgID
FROM Companies
INNER JOIN Orders ON
Companies.OrgId = Orders.OrgId
INNER JOIN Employees ON
Orders.OrgId = Employees.OrgId
INNER JOIN EmployeeTerritories AS Et ON
Employee.EmployeeID = Et.EmployeeID
INNER JOIN Territories AS Te ON
Te.TerritoryID = Et.TerritoryID
INNER JOIN Region AS Re ON
Re.RegionDescription = 'x'
UNION
SELECT Charities.OrgID
FROM Charities
INNER JOIN Orders ON
Charities.OrgId = Orders.OrgId
INNER JOIN Employees ON
Orders.OrgId = Employees.OrgId
INNER JOIN EmployeeTerritories AS Et ON
Employee.EmployeeID = Et.EmployeeID
INNER JOIN Territories AS Te ON
Te.TerritoryID = Et.TerritoryID
INNER JOIN Region AS Re ON
Re.RegionDescription = 'x'
Rule-based Reasoning
121. Return all org IDs any type of customer that employees have sold to who are in a region with region-description "x".
SELECT Companies.OrgID
FROM Companies
INNER JOIN Orders ON
Companies.OrgId = Orders.OrgId
INNER JOIN Employees ON
Orders.OrgId = Employees.OrgId
INNER JOIN EmployeeTerritories AS Et ON
Employee.EmployeeID = Et.EmployeeID
INNER JOIN Territories AS Te ON
Te.TerritoryID = Et.TerritoryID
INNER JOIN Region AS Re ON
Re.RegionDescription = 'x'
UNION
SELECT Charities.OrgID
FROM Charities
INNER JOIN Orders ON
Charities.OrgId = Orders.OrgId
INNER JOIN Employees ON
Orders.OrgId = Employees.OrgId
INNER JOIN EmployeeTerritories AS Et ON
Employee.EmployeeID = Et.EmployeeID
INNER JOIN Territories AS Te ON
Te.TerritoryID = Et.TerritoryID
INNER JOIN Region AS Re ON
Re.RegionDescription = 'x'
match
$c isa organisation, has org-id $ci;
Rule-based Reasoning
122. Return all org IDs any type of customer that employees have sold to who are in a region with region-description "x".
SELECT Companies.OrgID
FROM Companies
INNER JOIN Orders ON
Companies.OrgId = Orders.OrgId
INNER JOIN Employees ON
Orders.OrgId = Employees.OrgId
INNER JOIN EmployeeTerritories AS Et ON
Employee.EmployeeID = Et.EmployeeID
INNER JOIN Territories AS Te ON
Te.TerritoryID = Et.TerritoryID
INNER JOIN Region AS Re ON
Re.RegionDescription = 'x'
UNION
SELECT Charities.OrgID
FROM Charities
INNER JOIN Orders ON
Charities.OrgId = Orders.OrgId
INNER JOIN Employees ON
Orders.OrgId = Employees.OrgId
INNER JOIN EmployeeTerritories AS Et ON
Employee.EmployeeID = Et.EmployeeID
INNER JOIN Territories AS Te ON
Te.TerritoryID = Et.TerritoryID
INNER JOIN Region AS Re ON
Re.RegionDescription = 'x'
match
$c isa organisation, has org-id $ci;
$e isa employee;
Rule-based Reasoning
123. Return all org IDs any type of customer that employees have sold to who are in a region with region-description "x".
SELECT Companies.OrgID
FROM Companies
INNER JOIN Orders ON
Companies.OrgId = Orders.OrgId
INNER JOIN Employees ON
Orders.OrgId = Employees.OrgId
INNER JOIN EmployeeTerritories AS Et ON
Employee.EmployeeID = Et.EmployeeID
INNER JOIN Territories AS Te ON
Te.TerritoryID = Et.TerritoryID
INNER JOIN Region AS Re ON
Re.RegionDescription = 'x'
UNION
SELECT Charities.OrgID
FROM Charities
INNER JOIN Orders ON
Charities.OrgId = Orders.OrgId
INNER JOIN Employees ON
Orders.OrgId = Employees.OrgId
INNER JOIN EmployeeTerritories AS Et ON
Employee.EmployeeID = Et.EmployeeID
INNER JOIN Territories AS Te ON
Te.TerritoryID = Et.TerritoryID
INNER JOIN Region AS Re ON
Re.RegionDescription = 'x'
match
$c isa organisation, has org-id $ci;
$e isa employee;
$r2 ($c, $e) isa sale;
Rule-based Reasoning
124. Return all org IDs any type of customer that employees have sold to who are in a region with region-description "x".
SELECT Companies.OrgID
FROM Companies
INNER JOIN Orders ON
Companies.OrgId = Orders.OrgId
INNER JOIN Employees ON
Orders.OrgId = Employees.OrgId
INNER JOIN EmployeeTerritories AS Et ON
Employee.EmployeeID = Et.EmployeeID
INNER JOIN Territories AS Te ON
Te.TerritoryID = Et.TerritoryID
INNER JOIN Region AS Re ON
Re.RegionDescription = 'x'
UNION
SELECT Charities.OrgID
FROM Charities
INNER JOIN Orders ON
Charities.OrgId = Orders.OrgId
INNER JOIN Employees ON
Orders.OrgId = Employees.OrgId
INNER JOIN EmployeeTerritories AS Et ON
Employee.EmployeeID = Et.EmployeeID
INNER JOIN Territories AS Te ON
Te.TerritoryID = Et.TerritoryID
INNER JOIN Region AS Re ON
Re.RegionDescription = 'x'
match
$c isa organisation, has org-id $ci;
$e isa employee;
$r isa region, has region-description "x";
$r2 ($c, $e) isa sale;
Rule-based Reasoning
125. Return all org IDs any type of customer that employees have sold to who are in a region with region-description "x".
SELECT Companies.OrgID
FROM Companies
INNER JOIN Orders ON
Companies.OrgId = Orders.OrgId
INNER JOIN Employees ON
Orders.OrgId = Employees.OrgId
INNER JOIN EmployeeTerritories AS Et ON
Employee.EmployeeID = Et.EmployeeID
INNER JOIN Territories AS Te ON
Te.TerritoryID = Et.TerritoryID
INNER JOIN Region AS Re ON
Re.RegionDescription = 'x'
UNION
SELECT Charities.OrgID
FROM Charities
INNER JOIN Orders ON
Charities.OrgId = Orders.OrgId
INNER JOIN Employees ON
Orders.OrgId = Employees.OrgId
INNER JOIN EmployeeTerritories AS Et ON
Employee.EmployeeID = Et.EmployeeID
INNER JOIN Territories AS Te ON
Te.TerritoryID = Et.TerritoryID
INNER JOIN Region AS Re ON
Re.RegionDescription = 'x'
match
$c isa organisation, has org-id $ci;
$e isa employee;
$r isa region, has region-description "x";
$r1 (located: $e, locating: $r);
$r2 ($c, $e) isa sale;
Rule-based Reasoning
126. Return all org IDs any type of customer that employees have sold to who are in a region with region-description "x".
SELECT Companies.OrgID
FROM Companies
INNER JOIN Orders ON
Companies.OrgId = Orders.OrgId
INNER JOIN Employees ON
Orders.OrgId = Employees.OrgId
INNER JOIN EmployeeTerritories AS Et ON
Employee.EmployeeID = Et.EmployeeID
INNER JOIN Territories AS Te ON
Te.TerritoryID = Et.TerritoryID
INNER JOIN Region AS Re ON
Re.RegionDescription = 'x'
UNION
SELECT Charities.OrgID
FROM Charities
INNER JOIN Orders ON
Charities.OrgId = Orders.OrgId
INNER JOIN Employees ON
Orders.OrgId = Employees.OrgId
INNER JOIN EmployeeTerritories AS Et ON
Employee.EmployeeID = Et.EmployeeID
INNER JOIN Territories AS Te ON
Te.TerritoryID = Et.TerritoryID
INNER JOIN Region AS Re ON
Re.RegionDescription = 'x'
match
$c isa organisation, has org-id $ci;
$e isa employee;
$r isa region, has region-description "x";
$r1 (located: $e, locating: $r);
$r2 ($c, $e) isa sale;
get $ci;
Rule-based Reasoning
129. A language that you can read and understand intuitively enables
you to ask questions at a higher level, while letting the system
figure out how to do the lower level operations.