A graph is a structure composed of a set of vertices (i.e.~nodes, dots) connected to one another by a set of edges (i.e.~links, lines). The concept of a graph has been around since the late 19th century, however, only in recent decades has there been a strong resurgence in the development of both graph theories and applications. In applied computing, since the late 1960s, the interlinked table structure of the relational database has been the predominant information storage and retrieval paradigm. With the growth of graph/network-based data and the need to efficiently process such data, new data management systems have been developed. In contrast to the index-intensive, set-theoretic operations of relational databases, graph databases make use of index-free traversals. This presentation will discuss the graph traversal programming pattern and its application to problem-solving with graph databases.
The document discusses graph databases and their properties. Graph databases are structured to store graph-based data by using nodes and edges to represent entities and their relationships. They are well-suited for applications with complex relationships between entities that can be modeled as graphs, such as social networks. Key graph database technologies mentioned include Neo4j, OrientDB, and TinkerPop which provides graph traversal capabilities.
Adobe Behance Scales to Millions of Users at Lower TCO with Neo4jNeo4j
1) Behance is an online platform for showcasing creative work with 25 million members and millions of monthly visitors. It was previously powered by a Cassandra database which had scaling issues.
2) Behance transitioned to using Neo4j, a graph database, which improved performance, flexibility, and reduced costs. It enabled real-time activity feeds and recommendations.
3) This success led to using the graph across Adobe products through the Creative Social Graph initiative. It powered new community features in Lightroom and Photoshop Express at scale.
Foss4G Japan 2021 シェープファイルの真の後継規格 FlatGeobufの普及啓蒙活動Kanahiro Iguchi
This document summarizes a presentation about FlatGeobuf, a new vector format standard that aims to replace Shapefiles. It introduces FlatGeobuf as a simpler format than GeoPackage that addresses Shapefile limitations like file size restrictions and character encoding issues. FlatGeobuf uses FlatBuffers and stores geometry and attributes in a single file, offering high performance for reading, writing, and streaming partial data compared to other formats. The document advocates for adopting FlatGeobuf as the new standard vector format.
Graph Database Meetup in Korea #4. 그래프 이론을 적용한 그래프 데이터베이스 활용 사례 bitnineglobal
Graph Database Meetup in Korea #4. Graph Database Usecases based on Graph Theory (그래프 이론을 적용한 그래프 데이터베이스 활용 사례)
국내 유일 그래프 데이터베이스 연구 개발 전문 기업, <비트나인> 주최로 진행된
그래프 데이터베이스 밋업(Meetup) 4번째! "그래프 이론을 적용한 그래프 데이터데이터베이스 활용 사례_ 그래프 이론 및 그래프 알고리즘 소개" 입니다.
10가지 그래프 이론 소개 및 활용 사례를 소개 드렸습니다. 발표자료를 통해 그래프 데이터베이스의 다양한 활용 사례를 확인해 보시기 바랍니다. :)
AgensGraph는 고객의 DB 수집 및 가공을 통한 저장/관리부터, 분석하여 시각화를 통한 구현 목표 기능과의 연동까지! "데이터 흐름의 모든 영역"에서 서비스를 제공하고 있습니다.
☞ 발표 영상 보러가기: https://www.youtube.com/playlist?list=PLGp3huJbWNDhQT4aBCS13udGhYnIc1GnO
☞ 밋업 참가 신청 하러가기: https://www.meetup.com/ko-KR/graphdatabase/
☞ 이메일 문의: [email protected]
☞ 그래프 데이터베이스 솔루션 AgensGraph 직접 사용해 보기: https://bitnine.net/
The document provides an overview of the internal workings of Neo4j. It describes how the graph data is stored on disk as linked lists of fixed size records and how two levels of caching work - a low-level filesystem cache and a high-level object cache that stores node and relationship data in a structure optimized for traversals. It also explains how traversals are implemented using relationship expanders and evaluators to iteratively expand paths through the graph, and how Cypher builds on this but uses graph pattern matching rather than the full traversal system.
2022/3/24に開催した「オンプレML基盤 on Kubernetes」の資料です。機械学習モデルの開発者が、よりモデルの開発にのみ集中できるようにすることを目指して開発している「LakeTahoe(レイクタホ)」について紹介します。
https://ml-kubernetes.connpass.com/event/239859/
Knowledge Graphs and Generative AI_GraphSummit Minneapolis Sept 20.pptxNeo4j
This document discusses using knowledge graphs to ground large language models (LLMs) and improve their abilities. It begins with an overview of generative AI and LLMs, noting their opportunities but also challenges like lack of knowledge and inability to verify sources. The document then proposes using a knowledge graph like Neo4j to provide context and ground LLMs, describing how graphs can be enriched with algorithms, embeddings and other data. Finally, it demonstrates how contextual searches and responses can be improved by retrieving relevant information from the knowledge graph to augment LLM responses.
This document discusses how graphs and graph databases can be used for data science and machine learning. It provides an overview of Neo4j's graph data science capabilities including graph algorithms, machine learning techniques, and real-world use cases.
The key points are:
1) Neo4j provides a graph data science library with over 70 graph algorithms and machine learning methods that can be used for tasks like link prediction, node classification, and graph feature engineering.
2) The library allows for both unsupervised and supervised machine learning on graph data in order to identify patterns, anomalies, and make predictions.
3) Real-world examples are presented where companies have used Neo4j's graph data
2019年10月25日、CTC Forum 2019@品川。楽天ではどのようにビッグデータの活用を行っているのか、データサイエンスおよびAIの視点でプレゼンテーションが行われた。登壇者:勝山 公雄(Senior Manager, Global Data Supervisory Department, Rakuten, Inc.)
The document describes mm-ADT, a proposed multi-model abstract datatype that aims to provide a universal data structure, processing model, and instruction set that can support various database models like graph, document, relational etc. in a common framework. Key goals are to release a stable mm-ADT specification, compiler and virtual machine, as well as a basic reference implementation by early 2020. The presentation focuses on the universal data structure component, describing how mm-ADT would define custom datatypes, instances, access paths and more using a bytecode language.
Graph Database Meetup in Korea #4. 그래프 이론을 적용한 그래프 데이터베이스 활용 사례 bitnineglobal
Graph Database Meetup in Korea #4. Graph Database Usecases based on Graph Theory (그래프 이론을 적용한 그래프 데이터베이스 활용 사례)
국내 유일 그래프 데이터베이스 연구 개발 전문 기업, <비트나인> 주최로 진행된
그래프 데이터베이스 밋업(Meetup) 4번째! "그래프 이론을 적용한 그래프 데이터데이터베이스 활용 사례_ 그래프 이론 및 그래프 알고리즘 소개" 입니다.
10가지 그래프 이론 소개 및 활용 사례를 소개 드렸습니다. 발표자료를 통해 그래프 데이터베이스의 다양한 활용 사례를 확인해 보시기 바랍니다. :)
AgensGraph는 고객의 DB 수집 및 가공을 통한 저장/관리부터, 분석하여 시각화를 통한 구현 목표 기능과의 연동까지! "데이터 흐름의 모든 영역"에서 서비스를 제공하고 있습니다.
☞ 발표 영상 보러가기: https://www.youtube.com/playlist?list=PLGp3huJbWNDhQT4aBCS13udGhYnIc1GnO
☞ 밋업 참가 신청 하러가기: https://www.meetup.com/ko-KR/graphdatabase/
☞ 이메일 문의: [email protected]
☞ 그래프 데이터베이스 솔루션 AgensGraph 직접 사용해 보기: https://bitnine.net/
The document provides an overview of the internal workings of Neo4j. It describes how the graph data is stored on disk as linked lists of fixed size records and how two levels of caching work - a low-level filesystem cache and a high-level object cache that stores node and relationship data in a structure optimized for traversals. It also explains how traversals are implemented using relationship expanders and evaluators to iteratively expand paths through the graph, and how Cypher builds on this but uses graph pattern matching rather than the full traversal system.
2022/3/24に開催した「オンプレML基盤 on Kubernetes」の資料です。機械学習モデルの開発者が、よりモデルの開発にのみ集中できるようにすることを目指して開発している「LakeTahoe(レイクタホ)」について紹介します。
https://ml-kubernetes.connpass.com/event/239859/
Knowledge Graphs and Generative AI_GraphSummit Minneapolis Sept 20.pptxNeo4j
This document discusses using knowledge graphs to ground large language models (LLMs) and improve their abilities. It begins with an overview of generative AI and LLMs, noting their opportunities but also challenges like lack of knowledge and inability to verify sources. The document then proposes using a knowledge graph like Neo4j to provide context and ground LLMs, describing how graphs can be enriched with algorithms, embeddings and other data. Finally, it demonstrates how contextual searches and responses can be improved by retrieving relevant information from the knowledge graph to augment LLM responses.
This document discusses how graphs and graph databases can be used for data science and machine learning. It provides an overview of Neo4j's graph data science capabilities including graph algorithms, machine learning techniques, and real-world use cases.
The key points are:
1) Neo4j provides a graph data science library with over 70 graph algorithms and machine learning methods that can be used for tasks like link prediction, node classification, and graph feature engineering.
2) The library allows for both unsupervised and supervised machine learning on graph data in order to identify patterns, anomalies, and make predictions.
3) Real-world examples are presented where companies have used Neo4j's graph data
2019年10月25日、CTC Forum 2019@品川。楽天ではどのようにビッグデータの活用を行っているのか、データサイエンスおよびAIの視点でプレゼンテーションが行われた。登壇者:勝山 公雄(Senior Manager, Global Data Supervisory Department, Rakuten, Inc.)
The document describes mm-ADT, a proposed multi-model abstract datatype that aims to provide a universal data structure, processing model, and instruction set that can support various database models like graph, document, relational etc. in a common framework. Key goals are to release a stable mm-ADT specification, compiler and virtual machine, as well as a basic reference implementation by early 2020. The presentation focuses on the universal data structure component, describing how mm-ADT would define custom datatypes, instances, access paths and more using a bytecode language.
The document discusses the idea of the universal graph - that everything can be modeled as a graph of vertices and edges. It proposes some open problems regarding how to model processes and qualia as part of the universal graph structure, and how one might manipulate the laws of physics by altering the processes that govern the evolution of the physical world graph.
The Gremlin traversal machine is composed of three components: a graph, a traversal, and a set of traversers. Learn how these components interact to enable distributed, vendor-agnostic, OLTP/OLAP-based graph computing.
This talk was presented live at DataStax's Support Summit in Carmel, CA (April 2017) and Engineering Summit in Las Vegas, NV (May 2017).
This document summarizes the key concepts and components of Gremlin's graph traversal machinery:
- Gremlin uses a traversal language to express graph queries via step composition, with steps mapping traversers between domains.
- Traversals are compiled to bytecode and optimized by traversal strategies before being executed by the Gremlin machine.
- The Gremlin machine consists of steps implementing functions that process traverser streams. Their composition forms the traversal.
- Gremlin is language-agnostic, with language variants translating to a shared bytecode that interacts with the Java-based implementation.
This presentation was given on January 17, 2016 at the GraphDay conference in Austin, Texas. The slides demonstrate the use of wave dynamics in graph structures. Moreover, they demonstrate how to implement quantum processes on graph structures.
There is an associated article available at http://arxiv.org/abs/1511.06278 (Quantum Walks with Gremlin).
ACM DBPL Keynote: The Graph Traversal Machine and LanguageMarko Rodriguez
The document summarizes the components of the Gremlin traversal machine:
- The graph is stored in memory and represents the data as vertices, edges, and properties.
- Traversers represent computational threads that traverse the graph. They track their location, path history, and program counter in the traversal program.
- Traversals are programs that manipulate traversers to query and update the graph.
- Gremlin is agnostic to the underlying graph database and can traverse graphs in various systems like TinkerGraph, Titan, Neo4j, and distributed processors.
A presentation of Apache TinkerPop's Gremlin language with running examples over the MovieLens dataset. Presented August 19, 2015 at NoSQL NOW in San Jose, California.
This document discusses graph-based computing and traversal using Gremlin and Titan. It provides examples of querying a graph about relationships between characters in Greek mythology like Hercules. Traversal operations are demonstrated to find other characters Hercules may know or which actor played him in a movie. The value of graph analysis for insights and recommendations is also discussed.
Faunus is a graph analytics engine built atop the Hadoop distributed computing platform. The graph representation is a distributed adjacency list, whereby a vertex and its incident edges are co-located on the same machine. Querying a Faunus graph is possible with a MapReduce-variant of the Gremlin graph traversal language. A Gremlin expression compiles down to a series of MapReduce-steps that are sequence optimized and then executed by Hadoop. Results are stored as transformations to the input graph (graph derivations) or computational side-effects such as aggregates (graph statistics). Beyond querying, a collection of input/output formats are supported which enable Faunus to load/store graphs in the distributed graph database Titan, various graph formats stored in HDFS, and via arbitrary user-defined functions. This presentation will focus primarily on Faunus, but will also review the satellite technologies that enable it.
Who am I and why do I feel that the world is not infinitely perfect? Which technologies should I use to rectify this situation? Enter the graph and the graph traversal.
The document discusses graphs and graph databases. It introduces the concept of property graphs and how they can intuitively model complex relationships between entities. It discusses how graph traversal enables expressive querying and numerous analyses of graph data. The document uses examples involving Greek mythology to illustrate graph concepts and traversal queries.
There is nothing more fascinating and utterly mind-bending than traversing a graph. Those who succumb to this data processing pattern euphorically suffer from graph pathology.
This is a case study of the Graph Addict.
Gremlin is a graph traversal language that connects to various graph databases/frameworks.
* Neo4j [http://neo4j.org]
* OrientDB [http://orientechnologies.com]
* DEX [http://www.sparsity-technologies.com/dex]
* OpenRDF Sail [http://openrdf.org]
* JUNG [http://jung.sourceforge.net]
This lecture addresses the state of Gremlin as of the 0.9 (April 16, 2011).
This tutorial/lecture addresses various aspects of the graph traversal language Gremlin. In particular, the presentation focuses on Gremlin 0.7 and its application to graph analysis and manipulation.
Memoirs of a Graph Addict: Despair to RedemptionMarko Rodriguez
This document summarizes a lecture about graph databases and graph structures. It discusses graph databases as an alternative to relational databases that allows for direct linking of objects without joins. It then describes the speaker's 10 years of experience working with graph structures and applications. Finally, it outlines the TinkerPop product suite for working with graph databases.
Aanswers · Aanswers ◦ n(I) π
etc...15
15
I is the identity matrix.
The Multi-Relational Path Algebra:
- Allows single-relational algorithms to be applied to multi-relational graphs
- Provides a universal framework for defining paths through a multi-relational
graph
- Enables the computation of multiple primary eigenvectors, each
corresponding to a different path definition
- In effect, provides multiple definitions of centrality for a multi-relational
network
- Is Turing complete—any computable path can be expressed
- Is a general framework—applies to any multi-relational data model
Problem-Solving using Graph Traversals: Searching, Scoring, Ranking, and Reco...Marko Rodriguez
A graph is a data structure that links a set of vertices by a set of edges. Modern graph databases support multi-relational graph structures, where there exist different types of vertices (e.g. people, places, items) and different types of edges (e.g. friend, lives at, purchased). By means of index-free adjacency, graph databases are optimized for graph traversals and are interacted with through a graph traversal engine. A graph traversal is defined as an abstract path whose instance is realized on a graph dataset. Graph databases and traversals can be used for searching, scoring, ranking, and in concert, recommendation. This presentation will explore graph structures, algorithms, traversal algebras, graph-related software suites, and a host of examples demonstrating how to solve real-world problems, in real-time, with graphs. This is a whirlwind tour of the theory and application of graphs.
A Perspective on Graph Theory and Network ScienceMarko Rodriguez
The graph/network domain has been driven by the creativity of numerous individuals from disparate areas of the academic and the commercial sector. Examples of contributing academic disciplines include mathematics, physics, sociology, and computer science. Given the interdisciplinary nature of the domain, it is difficult for any single individual to objectively realize and speak about the space as a whole. Any presentation of the ideas is ultimately biased by the formal training and expertise of the individual. For this reason, I will simply present on the domain from my perspective---from my personal experiences. More specifically, from my perspective biased by cognitive and computer science.
This is an autobiographical lecture on my life (so far) with graphs/networks.
William Maclyn Murphy McRae, a logistics expert with 9+ years of experience, is known for optimizing supply chain operations and consistently exceeding industry standards. His strategic approach, combined with hands-on execution, has streamlined distribution processes, reduced lead times, and consistently delivered exceptional results.
Mastering ChatGPT & LLMs for Practical Applications: Tips, Tricks, and Use CasesSanjay Willie
Our latest session with Astiostech covered how to unlock the full potential of ChatGPT and LLMs for real-world use!
✅ Key Takeaways:
🔹 Effective Prompting: Crafting context-specific, high-quality prompts for optimal AI responses.
🔹 Advanced ChatGPT Features: Managing system prompts, conversation memory, and file uploads.
🔹 Optimizing AI Outputs: Refining responses, handling large texts, and knowing when fine-tuning is needed.
🔹 Competitive Insights: Exploring how ChatGPT compares with other AI tools.
🔹 Business & Content Use Cases: From summarization to SEO, sales, and audience targeting.
💡 The session provided hands-on strategies to make AI a powerful tool for content creation, decision-making, and business growth.
🚀 Are you using AI effectively in your workflow? Let’s discuss how it can improve efficiency and creativity!
#AI #ChatGPT #PromptEngineering #ArtificialIntelligence #LLM #Productivity #Astiostech
Not a Kubernetes fan? The state of PaaS in 2025Anthony Dahanne
Kubernetes won the containers orchestration war. But has it made deploying your apps easier?
Let's explore some of Kubernetes extensive app developer tooling, but mainly what the PaaS space looks like in 2025; 18 years after Heroku made it popular.
Is Heroku still around? What about Cloud Foundry?
And what are those new comers (fly.io, railway, porter.sh, etc.) worth?
Did the Cloud giants replace them all?
5 Best Agentic AI Frameworks for 2025.pdfSoluLab1231
AI chatbots use generative AI to develop answers from a single interaction. When someone asks a question, the chatbot responds using a natural language process (NLP). Agentic AI, the next wave of artificial intelligence, goes beyond this by solving complicated multistep problems on its way by using advanced reasoning and iterative planning. Additionally, it is expected to improve operations and productivity across all sectors.
Dev Dives: Unlock the future of automation with UiPath Agent BuilderUiPathCommunity
This webinar will offer you a first look at the powerful capabilities of UiPath Agent Builder, designed to streamline your automation processes and enhance your workflow efficiency.
📕 During the session, you will:
- Discover how to build agents with low-code experience, making it accessible for both developers and business users.
- Learn how to leverage automations and activities as tools within your agents, enabling them to handle complex and dynamic workflows.
- Gain insights into the AI Trust Layer, which provides robust management and monitoring capabilities, ensuring trust and transparency in your automation processes.
- See how agents can be deployed and integrated with your existing UiPath cloud and Studio environments.
👨🏫 Speaker:
Zach Eslami, Sr. Manager, Product Management Director, UiPath
⏩ Register for our upcoming Dev Dives March session:
Unleash the power of macOS Automation with UiPath
👉 AMER: https://bit.ly/Dev_Dives_AMER_March
👉 EMEA & APJ:https://bit.ly/Dev_Dives_EMEA_APJ_March
This session was streamed live on February 27, 2025, 15:00 GMT.
Check out future Dev Dives 2025 sessions at:
🚩 https://bit.ly/Dev_Dives_2025
EaseUS Partition Master Crack 2025 + Serial Keykherorpacca127
https://ncracked.com/7961-2/
Note: >> Please copy the link and paste it into Google New Tab now Download link
EASEUS Partition Master Crack is a professional hard disk partition management tool and system partition optimization software. It is an all-in-one PC and server disk management toolkit for IT professionals, system administrators, technicians, and consultants to provide technical services to customers with unlimited use.
EASEUS Partition Master 18.0 Technician Edition Crack interface is clean and tidy, so all options are at your fingertips. Whether you want to resize, move, copy, merge, browse, check, convert partitions, or change their labels, you can do everything with a few clicks. The defragmentation tool is also designed to merge fragmented files and folders and store them in contiguous locations on the hard drive.
How to teach M365 Copilot and M365 Copilot Chat prompting to your colleagues. Presented at the Advanced Learning Institute's "Internal Communications Strategies with M365" event on February 27, 2025. Intended audience: Internal Communicators, User Adoption Specialists, IT.
UiPath Agentic Automation Capabilities and OpportunitiesDianaGray10
Learn what UiPath Agentic Automation capabilities are and how you can empower your agents with dynamic decision making. In this session we will cover these topics:
What do we mean by Agents
Components of Agents
Agentic Automation capabilities
What Agentic automation delivers and AI Tools
Identifying Agent opportunities
❓ If you have any questions or feedback, please refer to the "Women in Automation 2025" dedicated Forum thread. You can find there extra details and updates.
DevNexus - Building 10x Development Organizations.pdfJustin Reock
Developer Experience is Dead! Long Live Developer Experience!
In this keynote-style session, we’ll take a detailed, granular look at the barriers to productivity developers face today and modern approaches for removing them. 10x developers may be a myth, but 10x organizations are very real, as proven by the influential study performed in the 1980s, ‘The Coding War Games.’
Right now, here in early 2025, we seem to be experiencing YAPP (Yet Another Productivity Philosophy), and that philosophy is converging on developer experience. It seems that with every new method, we invent to deliver products, whether physical or virtual, we reinvent productivity philosophies to go alongside them.
But which of these approaches works? DORA? SPACE? DevEx? What should we invest in and create urgency behind today so we don’t have the same discussion again in a decade?
Revolutionizing Field Service: How LLMs Are Powering Smarter Knowledge Access...Earley Information Science
Revolutionizing Field Service with LLM-Powered Knowledge Management
Field service technicians need instant access to accurate repair information, but outdated knowledge systems often create frustrating delays. Large Language Models (LLMs) are changing the game—enhancing knowledge retrieval, streamlining troubleshooting, and reducing technician dependency on senior staff.
In this webinar, Seth Earley and industry experts Sanjay Mehta, and Heather Eisenbraun explore how LLMs and Retrieval-Augmented Generation (RAG) are transforming field service operations. Discover how AI-powered knowledge management is improving efficiency, reducing downtime, and elevating service quality.
LLMs for Instant Knowledge Retrieval – How AI-driven search dramatically cuts troubleshooting time.
Structured Data & AI – Why high-quality, organized knowledge is essential for LLM success.
Real-World Implementation – Lessons from deploying LLM-powered knowledge tools in field service.
Business Impact – How AI reduces service delays, optimizes workflows, and enhances technician productivity.
Empower your field service teams with AI-driven knowledge access. Watch the webinar to see how LLMs are revolutionizing service efficiency.
THE BIG TEN BIOPHARMACEUTICAL MNCs: GLOBAL CAPABILITY CENTERS IN INDIASrivaanchi Nathan
This business intelligence report, "The Big Ten Biopharmaceutical MNCs: Global Capability Centers in India", provides an in-depth analysis of the operations and contributions of the Global Capability Centers (GCCs) of ten leading biopharmaceutical multinational corporations in India. The report covers AstraZeneca, Bayer, Bristol Myers Squibb, GlaxoSmithKline (GSK), Novartis, Sanofi, Roche, Pfizer, Novo Nordisk, and Eli Lilly. In this report each company's GCC is profiled with details on location, workforce size, investment, and the strategic roles these centers play in global business operations, research and development, and information technology and digital innovation.
5 Must-Use AI Tools to Supercharge Your Productivity!
AI is changing the game! 🚀 From research to creativity and coding, here are 5 powerful AI tools you should try.
NotebookLM
📚 NotebookLM – Your AI Research Assistant
✅ Organizes & summarizes notes
✅ Generates insights from multiple sources
✅ Ideal for students, researchers & writers
📝 Boost your productivity with smarter note-taking!
Napkin.ai
🎨 Napkin.ai – The Creativity Booster
✅ Connects and organizes ideas
✅ Perfect for writers, designers & entrepreneurs
✅ Acts as your AI-powered brainstorming partner
💡 Unleash your creativity effortlessly!
DeepSeek
🔍 DeepSeek – Smarter AI Search
✅ Delivers deeper & more precise search results
✅ Analyzes large datasets for better insights
✅ Ideal for professionals & researchers
🔎 Find what you need—faster & smarter!
ChatGPT
💬 ChatGPT – Your AI Chat Assistant
✅ Answers questions, writes content & assists in coding
✅ Helps businesses with customer support
✅ Boosts learning & productivity
🤖 From content to coding—ChatGPT does it all!
Devin AI
💻 Devin AI – AI for Coders
✅ Writes, debugs & optimizes code
✅ Assists developers at all skill levels
✅ Makes coding faster & more efficient
👨💻 Let AI be your coding partner!
🚀 AI is transforming the way we work!
Bedrock Data Automation (Preview): Simplifying Unstructured Data ProcessingZilliz
Bedrock Data Automation (BDA) is a cloud-based service that simplifies the process of extracting valuable insights from unstructured content—such as documents, images, video, and audio. Come learn how BDA leverages generative AI to automate the transformation of multi-modal data into structured formats, enabling developers to build applications and automate complex workflows with greater speed and accuracy.
Transcript: AI in publishing: Your questions answered - Tech Forum 2025BookNet Canada
George Walkley, a publishing veteran and leading authority on AI applications, joins us for a follow-up to his presentation "Applying AI to publishing: A balanced and ethical approach". George gives a brief overview of developments since that presentation and answers attendees' pressing questions about AI’s impact and potential applications in the book industry.
Link to recording and presentation slides: https://bnctechforum.ca/sessions/ai-in-publishing-your-questions-answered/
Presented by BookNet Canada on February 20, 2025 with support from the Department of Canadian Heritage.
Understanding Traditional AI with Custom Vision & MuleSoft.pptxshyamraj55
Understanding Traditional AI with Custom Vision & MuleSoft.pptx | ### Slide Deck Description:
This presentation features Atul, a Senior Solution Architect at NTT DATA, sharing his journey into traditional AI using Azure's Custom Vision tool. He discusses how AI mimics human thinking and reasoning, differentiates between predictive and generative AI, and demonstrates a real-world use case. The session covers the step-by-step process of creating and training an AI model for image classification and object detection—specifically, an ad display that adapts based on the viewer's gender. Atulavan highlights the ease of implementation without deep software or programming expertise. The presentation concludes with a Q&A session addressing technical and privacy concerns.
Computational Photography: How Technology is Changing Way We Capture the WorldHusseinMalikMammadli
📸 Computational Photography (Computer Vision/Image): How Technology is Changing the Way We Capture the World
Heç düşünmüsünüzmü, müasir smartfonlar və kameralar necə bu qədər gözəl görüntülər yaradır? Bunun sirri Computational Fotoqrafiyasında(Computer Vision/Imaging) gizlidir—şəkilləri çəkmə və emal etmə üsulumuzu təkmilləşdirən, kompüter elmi ilə fotoqrafiyanın inqilabi birləşməsi.
Blockchain is revolutionizing industries by enhancing security, transparency, and automation. From supply chain management and finance to healthcare and real estate, blockchain eliminates inefficiencies, prevents fraud, and streamlines operations.
What You'll Learn in This Presentation:
1. How blockchain enables real-time tracking & fraud prevention
2. The impact of smart contracts & decentralized finance (DeFi)
3. Why businesses should adopt secure and automated blockchain solutions
4. Real-world blockchain applications across multiple industries
Explore the future of blockchain and its practical benefits for businesses!
SECURE BLOCKCHAIN FOR ADMISSION PROCESSING IN EDUCATIONAL INSTITUTIONS.pdfspub1985
The Graph Traversal Programming Pattern
1. The Graph Traversal Programming Pattern
Marko A. Rodriguez
Graph Systems Architect
http://markorodriguez.com
http://twitter.com/twarko
WindyCityDB - Chicago, Illinois – June 26, 2010
June 25, 2010
2. Abstract
A graph is a structure composed of a set of vertices (i.e. nodes, dots)
connected to one another by a set of edges (i.e. links, lines). The concept
of a graph has been around since the late 19th century, however, only in
recent decades has there been a strong resurgence in the development of
both graph theories and applications. In applied computing, since the late
1960s, the interlinked table structure of the relational database has been
the predominant information storage and retrieval paradigm. With the
growth of graph/network-based data and the need to efficiently process
such data, new data management systems have been developed. In
contrast to the index-intensive, set-theoretic operations of relational
databases, graph databases make use of index-free traversals. This
presentation will discuss the graph traversal programming pattern and its
application to problem-solving with graph databases.
8. The Undirected Graph
1. Vertices
• All vertices denote the same
type of object.
2. Edges
• All edges denote the same type
of relationship.
• All edges denote a symmetric
relationship.
9. Denoting an Undirected Structure in the Real World
Collaborator graph is an undirected graph. Road graph is an undirected graph.
10. A Line with a Triangle
Dots and lines are boring.
Lets add a triangle to one side of each line.
However, lets call a triangle-tipped line a directed edge.
11. The Directed Graph
1. Vertices
• All vertices denote the same
type of object.
2. Edges
• All edges denote the same type
of relationship.
• All edges denote an
asymmetric relationship.
12. Denoting a Directed Structure in the Real World
Twitter follow graph is a directed graph. Web href-citation graph is a directed graph.
13. Single Relational Structures
• Without a way to demarcate edges, all edges have the same
meaning/type. Such structures are called single-relational graphs.
• Single-relational graphs are perhaps the most common graph type
in graph theory and network science.
14. How Do You Model a World with Multiple Structures?
I-25
lives_in
lives_in
I-40
is
is
follows
follows
created
lives_in
is
created created
cites created
cites
15. The Limitations of the Single-Relational Graph
• A single-relational graph is only able to express a single type of vertex
(e.g. person, city, user, webpage).1
• A single-relational graph is only able to express a single type of edge
(e.g. collaborator, road, follows, citation).2
• For modelers, these are very limiting graph types.
1
This is not completely true. All n-partite single-relational graphs allow for the division of the vertex set
into n subsets, where V = n Ai : Ai ∩ Aj = ∅. Thus, its possible to implicitly type the vertices.
i
2
This is not completely true. There exists an injective, information-preserving function that maps any
multi-relational graph to a single-relational graph, where edge types are denoted by topological structures.
Rodriguez, M.A., “Mapping Semantic Networks to Undirected Networks,” International Journal of Applied
Mathematics and Computer Sciences, 5(1), pp. 39–42, 2009. [http://arxiv.org/abs/0804.0277]
16. The Gains of the Multi-Relational Graph
• A multi-relational graph allows for the explicit typing of edges
(e.g. “follows,” “cites,” etc.).
• By labeling edges, edges can have different meanings and vertices
can have different types.
follows : user → user
created : user → webpage
cites : webpage → webpage
...
created
17. Increasing Expressivity with Multi-Relational Graphs
cites
cites
created
created
created
follows
cites
follows
created follows
follows
follows
created
18. The Flexibility of the Property Graph
• A property graph extends a multi-relational graph by allowing for both
vertices and edges to maintain a key/value property map.
• These properties are useful for expressing non-relational data (i.e. data
not needing to be graphed).
• This allows for the further refinement of the meaning of an edge.
Peter Neubauer created the Neo4j webpage on 2007/10.
name=neo4j
name=peterneubauer
views=56781
created
date=2007/10
19. Increasing Expressivity with Property Graphs
name=neo4j
views=56781
page_rank=0.023 cites
cites
name=tenderlove
gender=male
created
created
created
date=2007/10
cites
follows
follows
created
name=peterneubauer follows
name=graph_blog follows
views=1000 follows
created
name=ahzf
name=twarko
age=30
20. Property Graph Instance Schema/Ontology
name=<string> name=<string>
age=<integer> views=<integer>
gender=<string> page_rank=<double>
user created webpage
date=<string>
follows cites
No standard convention, but in general, specify the types of vertices, edges, and the
properties they may contain. Look into the world of RDFS and OWL for more rigorous,
expressive specifications of graph-based schemas.
21. Property Graphs Can Model Other Graph Types
weighted graph
add weight attribute
property graph
remove attributes remove attributes no op
labeled graph no op semantic graph no op directed graph
remove edge labels remove edge labels
make labels URIs no op
remove directionality
rdf graph multi-graph
remove loops, directionality,
and multiple edges
simple graph no op undirected graph
NOTE: Given that a property graph is a binary edge graph, it is difficult to model an n-ary edge graph (i.e. a hypergraph).
23. Persisting a Graph Data Structure
• A graph is a relatively simple data structure. It can be
seen as the most fundamental data structure—something is
related to something else.
• Most every database can model a graph.3
3
For the sake of simplicity, the following examples are with respect to a directed, single-relational graph.
However, note that property graphs can be easily modeled by such databases as well.
24. Representing a Graph in a Relational Database
outV | inV
------------ A
A | B
A | C
C | D B C
D | A
D
25. Representing a Graph in a JSON Database
{
A : {
out : [B, C], in : [D] A
}
B : {
in : [A]
}
B C
C : {
out : [D], in : [A]
}
D : {
out : [A], in : [C] D
}
}
26. Representing a Graph in an XML Database
<graphml>
<graph>
<node id=A /> A
<node id=B />
<node id=C />
<edge source=A target=B />
<edge source=A target=C />
<edge source=C target=D /> B C
<edge source=D target=A />
</graph>
</graphml>
D
27. Defining a Graph Database
“If any database can represent a graph, then what
is a graph database?”
28. Defining a Graph Database
A graph database is any storage system that
provides index-free adjacency.45
4
There is no “official” definition of what makes a database a graph database. The one provided is my
definition. However, hopefully the following argument will convince you that this is a necessary definition.
5
There is adjacency between the elements of an index, but if the index is not the primary data structure
of concern (to the developer), then there is indirect/implicit adjacency, not direct/explicit adjacency. A
graph database exposes the graph as an explicit data structure (not an implicit data structure).
29. Defining a Graph Database
• Every element (i.e. vertex or edge) has a direct pointer to
its adjacent element.
• No O(log2(n)) index lookup required to determine which
vertex is adjacent to which other vertex.
• If the graph is connected, the graph as a whole is a single
atomic data structure.
30. Defining a Graph Database by Example
Toy Graph Gremlin
(stuntman)
B E
A
C D
31. Graph Databases and Index-Free Adjacency
B E
A
C D
• Our gremlin is at vertex A.
• In a graph database, vertex A has direct references to its adjacent vertices.
• Constant time cost to move from A to B and C . It is dependent upon the number
of edges emanating from vertex A (local).
34. Non-Graph Databases and Index-Based Adjacency
B E
A B C A
B,C E D,E
D E
C D
• Our gremlin is at vertex A.
• In a non-graph database, the gremlin needs to look at an index to determine what
is adjacent to A.
• log2(n) time cost to move to B and C . It is dependent upon the total number of
vertices and edges in the database (global).
35. Non-Graph Databases and Index-Based Adjacency
B E
A B C A
B,C E D,E
D E C D
The Index (explicit) The Graph (implicit)
36. Non-Graph Databases and Index-Based Adjacency
B E
A B C A
B,C E D,E
D E C D
The Index (explicit) The Graph (implicit)
37. Index-Free Adjacency
• While any database can implicitly represent a graph, only a
graph database makes the graph structure explicit.
• In a graph database, each vertex serves as a “mini index”
of its adjacent elements.6
• Thus, as the graph grows in size, the cost of a local step
remains the same.7
6
Each vertex can be intepreted as a “parent node” in an index with its children being its adjacent
elements. In this sense, traversing a graph is analogous in many ways to traversing an index—albeit the
graph is not an acyclic connected graph (tree).
7
A graph, in many ways, is like a distributed index.
38. Graph Databases Make Use of Indices
A B C
} Index of Vertices
(by id)
D E } The Graph
• There is more to the graph than the explicit graph structure.
• Indices index the vertices, by their properties (e.g. ids).
39. Graph Databases and Endogenous Indices
• Many indices are trees.8
• A tree is a type of constrained graph.9
• You can represent a tree with a graph.10
8
Even an “index” that is simply an O(n) container can be represented as a graph (e.g. linked list).
9
A tree is an acyclic connected graph with each vertex having at most one parent.
10
This follows as a consequence of a tree being a graph.
40. Graph Databases and Endogenous Indices
• Graph databases allows you to explicitly model indices
endogenous to your domain model. Your indices and
domain model are one atomic entity—a graph.11
• This has benefits in designing special-purpose index
structures for your data.
Think about all the numerous types of indices in the
geo-spatial community.12
Think about all the indices that you have yet to think
about.
11
Originally, Neo4j used itself as its own indexing system before moving to Lucene.
12
Craig Taverner explores the use of graph databases in GIS-based applications.
41. Graph Databases and Endogenous Indices
name property index
views property index gender property index
name=neo4j
views=56781
page_rank=0.023 cites
cites
name=tenderlove
gender=male
created
created
created
date=2007/10
cites
follows
follows
created
name=peterneubauer follows
name=graph_blog follows
views=1000 follows
created
name=ahzf
name=twarko
age=30
42. Graph Databases and Endogenous Indices
name property index
views property index gender property index
name=neo4j
views=56781
page_rank=0.023 cites
cites
name=tenderlove
gender=male
created
created
created
date=2007/10
cites
follows
follows
created
name=peterneubauer follows
name=graph_blog follows
views=1000 follows
created
name=ahzf
name=twarko
age=30
The Graph Dataset
44. Graph Traversals as the Foundation
• Question: Once I have my data represented as a
graph, what can I do with it?
• Answer: You can traverse over the graph to
solve problems.
46. Graph Database vs. Relational Database
• While any database can represent a graph, it takes time to
make what is implicit explicit.
• The graph database represents an explicit graph.
• The experiment that follows demonstrate the problem with
using lots of table JOINs to accomplish the effect of a
graph traversal.13
13
Though not presented in this lecture, similar results were seen with JSON document databases.
47. Neo4j vs. MySQL – Generating a Large Graph
• Generated a 1 million vertex/4 million edge graph with “natural statistics.”14
• Loaded the graph into both Neo4j and MySQL in order to empirically evaluate the
effect of index-free adjacency.
14
What is diagramed is a small subset of this graph 1 million vertex graph.
48. Neo4j vs. MySQL – The Experiment
• For each run of the experiment, a traverser (gremlin) is
placed on a single vertex.
• For each step, the traverser moves to its adjacent
vertices.
Neo4j (graph database): the adjacent vertices are provided by the
current vertex.15
MySQL (relational database): the adjacent vertices are provided by a
table JOIN.
• For the experiment, this process goes up to 5 steps.
15
You can think of a graph traversal, in a graph database, as a local neighborhood JOIN.
55. Neo4j vs. MySQL – The Results
total running time (ms) for step traverals of length n
total running time (ms) for traversals of length n
mysql
2.3x faster
neo4j
100000
time(ms)
60000
0 20000
2.6x faster
4.5x faster 1.9x faster
1 2 3 4
traversal length
steps
average over the 250 most dense vertices as root of the traveral
• At step 5, Neo4j completed it in 14 minutes.
• At step 5, MySQL was still running after 2 hours (process stopped).
56. Neo4j vs. MySQL – More Information
For more information on this experiment, please visit
http://markorodriguez.com/Blarko/Entries/2010/3/
29_MySQL_vs._Neo4j_on_a_Large-Scale_Graph_
Traversal.html
57. Why Use a Graph Database? – Data Locality
• If the solution to your problem can be represented as a local
process within a larger global data structure, then a graph
database may be the optimal solution for your problem.
• If the solution to your problem can be represented as being
with respect to a set of root elements, then a graph
database may be the optimal solution to your problem.
• If the solution to your problem does not require a global
analysis of your data, then a graph database may be the
optimal solution to your problem.
60. Some Graph Traversal Use Cases
• Local searches — “What is in the neighborhood around
A?”16
• Local recommendations — “Given A, what should A
include in their neighborhood?”17
• Local ranks — “Given A, how would you rank B relative to
A?”18
16
A can be an individual vertex or a set of vertices. This set is known as the root vertex set.
17
Recommendation can be seen as trying to increase the connectivity of the graph by recommending
vertices (e.g. items) for another vertex (e.g. person) to extend an edge to (e.g. purchased).
18
In this presentation, there will be no examples provided for this use case. However, note that searching,
ranking, and recommendation are presented in the WindyCityDB OpenLab Graph Database Tutorial. Other
terms for local rank are “rank with priors” or “relative rank.”
61. Graph Traversals with Gremlin Programming Language
Gremlin G = (V, E)
http://gremlin.tinkerpop.com
The examples to follow are as basic as possible to get the idea across. Note that
numerous variations to the themes presented can be created. Such variations are driven
by the richness of the underlying graph data set and the desired speed of evaluation.
62. Graph Traversals with Gremlin Programming Language
1 created 3
knows created
4
name = peter
age = 37
63. Graph Traversals with Gremlin Programming Language
vertex 3 in edges
vertex 1 out edges
edge label
edge out vertex
edge in vertex
1 created 3
knows created
4
name = peter
age = 37
vertex 4 properties vertex 4 id
64. Graph Traversal in Property Graphs
name=tobias
follows
name=alex created name=C
created
created
name=emil follows name=B
name=E
follows name=A
created
created
name=johan created name=D
follows
name=peter
Red vertices are people and blue vertices are webpages.
65. Local Search: “Who are the followers of Emil Eifrem?”
name=tobias
follows
name=alex created name=C
created
created
name=emil follows 2 name=B name=alex
name=E
name=A
1 follows 2 name=johan
created
created
name=johan created name=D
follows
name=peter ./outE[@label=ʻfollowsʼ]/inV
66. Local Search: “What webpages did Emil’s followers
create?”
name=tobias
follows
created name=C
name=alex 3
created
created
name=emil follows 2 name=B name=B
name=E
name=A name=A
1 follows 2
created
created
name=johan 3 created name=D
follows
./outE[@label=ʻfollowsʼ]/inV
name=peter /outE[@label=ʻcreatedʼ]/inV
67. Local Search: “What webpages did Emil’s followers
followers create?”
name=tobias
follows
name=alex
3 created name=C
name=C
created
created
name=emil 4
follows 2 name=B name=D
name=E
1 follows 2 name=A 4 4 name=E
created
created 4
name=E
name=johan created name=D
3
follows
./outE[@label=ʻfollowsʼ]/inV/
name=peter outE[@label=ʻfollowsʼ]/inV/
outE[@label=ʻcreatedʼ]/inV
68. Local Recommendation: “If you like webpage E, you
may also like...”
name=tobias
follows
2 created name=C
name=alex
created
created
3
name=emil follows name=B name=C
name=E
name=A
1 name=D
follows
created
created 3
name=johan name=D
2 created
follows
./inV[@label='created']/outV/
name=peter outE[@label='created']/inV[g:except($_)]
Assumption: if you like a webpage by X , you will like others that they have created.
69. Local Recommendation: “If you like Johan, you may also
like...”
name=tobias
follows
name=alex created name=C
created
created
name=emil follows 3 name=B
name=E name=alex
2 follows 1 name=A
created
created
name=johan created name=D
follows
./inV[@label='follows']/outV/
name=peter outE[@label='follows']/inV
Assumption: if many people follow the same two people, then those two may be similar.
70. Assortment of Other Specific Graph Traversal Use Cases
• Missing friends: Find all the friends of person A. Then find all the
friends of the friends of person A that are not also person A’s friends.19
./outE[@label=‘friend’]/inV[g:assign(‘$x’)]/
outE[@label=‘friend’]/inV[g:except($x)]
• Collaborative filtering: Find all the items that the person A likes. Then
find all the people that like those same items. Then find which items
those people like that are not already the items that are liked by person
A.20
./outE[@label=‘likes’]/inV[g:assign(‘$x’)]/
inE[@label=‘likes’]/outV/outE[@label=‘likes’]/inV[g:except($x)]
19
This algorithm is based on the notion of trying to close “open triangles” in the friendship graph. If
many of person A’s friends are friends with person B , then its likely that A and B know each other.
20
This is the most concise representation of collaborative filtering. There are numerous modifications to
this general theme that can be taken advantage of to alter the recommendations.
71. Assortment of Other Specific Graph Traversal Use Cases
• Question expert identification: Find all the tags associated with
question A. For all those tag, find all answers (for any questions) that
are tagged by those tags. For those answers, find who created those
answers.21
./inE[@label=‘tag’]/outV[@type=‘answer’]/inE[@label=‘created’]/outV
• Similar tags: Find all the things that tag A has been used as a tag for.
For all those things, determine what else they have been tagged with.22
./inE[@label=‘tag’]/outV/outE[@label=‘tag’]/inV[g:except($_)]
21
If two resources share a “bundle” of resources in common, then they are similar.
22
This is the notion of “co-association” and can be generalized to find the similarity of two resources
based upon their co-association through a third resource (e.g. co-author, co-usage, co-download, etc.). The
third resource and the edge labels traversed determine the meaning of the association.
72. Some Tips on Graph Traversals
• Ranking, scoring, recommendation, searching, etc. are all
variations on the basic theme of defining abstract paths
through a graph and realizing instances of those paths
through traversal.
• The type of path taken determines the meaning
(i.e semantics) of the rank, score, recommendation, search,
etc.
• Given the data locality aspect of graph databases, many of
these traversals run in real-time (< 100ms).
73. Property Graph Algorithms in General
• There is a general framework for mapping all the standard single-relational
graph analysis algorithms over to the property graph domain.23
Geodesics: shortest path, eccentricity, radius, diameter, closeness,
betweenness, etc.24
Spectral: random walks, page rank, spreading activation, priors, etc.25
Assortativity: scalar or categorical.
... any graph algorithm in general.
• All able to be represented in Gremlin.
23
Rodriguez M.A., Shinavier, J., “Exposing Multi-Relational Networks to Single-Relational Network Analysis
Algorithms,” Journal of Informetrics, 4(1), pp. 29–41, 2009. [http://arxiv.org/abs/0806.2274]
24
Rodriguez, M.A., Watkins, J.H., “Grammar-Based Geodesics in Semantic Networks,” Knowledge-Based
Systems, in press, 2010.
25
Rodriguez, M.A., “Grammar-Based Random Walkers in Semantic Networks,” Knowledge-Based Systems,
21(7), pp. 7270–739, 2008. [http://arxiv.org/abs/0803.4355]
74. Conclusion
• Graph databases are efficient with respects to local data
analysis.
• Locality is defined by direct referent structures.
• Frame all solutions to problems as a traversal over local
regions of the graph.
This is the Graph Traversal Pattern.
75. Acknowledgements
• Pavel Yaskevich for advancing Gremlin. Pavel is currently writing a
new compiler that will make Gremlin faster and more memory efficient.
• Peter Neubauer for his collaboration on many of the ideas discussed in
this presentation.
• The rest of the Neo4j team (Emil, Johan, Mattias, Alex, Tobias, David,
Anders (1 and 2)) for their comments.
• WindyCityDB organizers for their support.
• AT&T Interactive (Aaron, Rand, Charlie, and the rest of the Buzz
team) for their support.
76. References to Related Work
• Rodriguez, M.A., Neubauer, P., “Constructions from Dots and Lines,” Bulletin
of the American Society of Information Science and Technology, June 2010.
[http://arxiv.org/abs/1006.2361]
• Rodriguez, M.A., Neubauer, P., “The Graph Traversal Pattern,” AT&Ti and
NeoTechnology Technical Report, April 2010. [http://arxiv.org/abs/1004.1001]
• Neo4j: A Graph Database [http://neo4j.org]
• TinkerPop [http://tinkerpop.com]
Blueprints: Data Models and their Implementations [http://blueprints.tinkerpop.com]
Pipes: A Data Flow Framework using Process Graphs [http://pipes.tinkerpop.com]
Gremlin: A Graph-Based Programming Language [http://gremlin.tinkerpop.com]
Rexster: A Graph-Based Ranking Engine [http://rexster.tinkerpop.com]
∗ Wreckster: A Ruby API for Rexster [http://github.com/tenderlove/wreckster]