This is an automated email from the ASF dual-hosted git repository.
ako pushed a commit to branch new-web
in repository https://gitbox.apache.org/repos/asf/age-website.git
The following commit(s) were added to refs/heads/new-web by this push:
new 70f4de5d Update New web (#311)
70f4de5d is described below
commit 70f4de5d6d8154c7f8d8c2381aa3e8f6ec1fee31
Author: dpdjvhxm <[email protected]>
AuthorDate: Mon Apr 22 13:51:10 2024 +0900
Update New web (#311)
* Test
* Update gatsby-config.js
* Changes search result text
* Fix gatsby-config.js and title
* Change meta description
* Fix sitemap.xml for broken links
* Update landing page: Key Update and image
* Create Blog
“2024-04-21-how-to-integrate-langchain-with-apache-age-for-graph-database-applications”
* Update Blog
“2024-04-21-how-to-integrate-langchain-with-apache-age-for-graph-database-applications”
* Update Blog
“2024-04-21-how-to-integrate-langchain-with-apache-age-for-graph-database-applications”
* Update blog, cms
* Update blog
* Fix spelling error
* Activate "blog"
* Update download page, modified blog
* modified footer, download
---
src/components/Footer.js | 3 +
src/components/Navbar.js | 8 +-
src/img/age-02.png | Bin 0 -> 633093 bytes
...h-apache-age-for-graph-database-applications.md | 94 ++++++++++++++++
src/pages/download/index.md | 24 +++++
src/pages/index.md | 2 +-
src/templates/index-page.js | 119 ++++++++++-----------
static/admin/config.yml | 2 +-
static/img/backgraound.jpg | Bin 0 -> 7440942 bytes
static/img/backgraound.png | Bin 0 -> 5803687 bytes
10 files changed, 185 insertions(+), 67 deletions(-)
diff --git a/src/components/Footer.js b/src/components/Footer.js
index 00629e13..838f2dde 100644
--- a/src/components/Footer.js
+++ b/src/components/Footer.js
@@ -50,6 +50,9 @@ const Footer = class extends React.Component {
<li>
<a href="/release-notes">Release Note</a>
</li>
+ <li>
+ <a href="/blog">Blog</a>
+ </li>
</ul>
<ul className={`${styles.Item} Item`}>
diff --git a/src/components/Navbar.js b/src/components/Navbar.js
index 4717bc52..543d2b88 100644
--- a/src/components/Navbar.js
+++ b/src/components/Navbar.js
@@ -52,11 +52,11 @@ const Navbar = () => {
Release Notes
</Link>
</Menu.Item>
- {/*<Menu.Item>
+ <Menu.Item>
<Link className="navbar-item" to="/blog">
Blog
</Link>
- </Menu.Item>*/}
+ </Menu.Item>
</Menu.SubMenu>
<Menu.SubMenu title="Community">
@@ -215,11 +215,11 @@ const Navbar = () => {
Release Notes
</Link>
</Menu.Item>
- {/*<Menu.Item>
+ <Menu.Item>
<Link className="navbar-item" to="/blog">
Blog
</Link>
- </Menu.Item>*/}
+ </Menu.Item>
</Menu.SubMenu>
<Menu.SubMenu title="Community">
<Menu.Item>
diff --git a/src/img/age-02.png b/src/img/age-02.png
new file mode 100644
index 00000000..abaa36b5
Binary files /dev/null and b/src/img/age-02.png differ
diff --git
a/src/pages/blog/2024-04-21-how-to-integrate-langchain-with-apache-age-for-graph-database-applications.md
b/src/pages/blog/2024-04-21-how-to-integrate-langchain-with-apache-age-for-graph-database-applications.md
new file mode 100644
index 00000000..7a253c83
--- /dev/null
+++
b/src/pages/blog/2024-04-21-how-to-integrate-langchain-with-apache-age-for-graph-database-applications.md
@@ -0,0 +1,94 @@
+---
+templateKey: blog-post
+title: How to Integrate LangChain with Apache AGE for Graph Database
Applications
+date: 2024-04-21T23:25:01.575Z
+description: How to Integrate LangChain with Apache AGE for Graph Database
Applications
+featuredpost: true
+featuredimage:
+tags:
+ - LangChain.ApacheAGE
+---
+<!--StartFragment-->
+
+**Introduction to Graph Databases with Apache AGE and LangChain Integration**
+
+<!--EndFragment-->
+
+<!--StartFragment-->
+
+Integrating LangChain with Apache AGE can significantly enhance graph database
applications by enabling conversational AI capabilities. This integration
allows users to query and interact with graph databases using natural language,
making complex data more accessible and user-friendly. Below is a comprehensive
guide on how to seamlessly integrate these technologies for effective graph
database management.
+
+## 1. Define the Application Scope for Graph Database Interactions
+
+Before beginning the technical integration, clearly outline the
functionalities of your application. Determine the types of graph queries it
will handle and how responses should be generated based on the data stored in
your Apache AGE graph database.
+
+## 2. Setup Your Development Environment for Graph Database Management
+
+* Install Apache AGE: Ensure Apache AGE is properly installed in your
PostgreSQL environment. Organize your graph data effectively for optimal
performance.
+* Setup LangChain: Install LangChain in your Python environment. LangChain
facilitates building applications that utilize language models to interact with
databases.
+
+```
+pip install langchain
+```
+
+## 3. Integrate Apache AGE with LangChain for Enhanced Graph Database Queries
+
+* Database Connection: Configure LangChain to connect with your PostgreSQL
database where Apache AGE is hosted. Use SQLAlchemy or a similar library to
manage database sessions efficiently.
+
+```
+from sqlalchemy import create_engine
+
+db_string = "postgresql://username:password@localhost:5432/mydatabase"
+
+engine = create_engine(db_string)
+```
+
+* Query Interface: Develop functionalities within LangChain to convert natural
language inputs into SQL or openCypher queries for Apache AGE, enabling
intuitive graph database interactions.
+
+`
+def natural_language_to_age_query(natural_language_text):
+
+return "MATCH (n) RETURN n"
+`
+
+## 4. Implement Conversational Logic to Enhance User Interaction with Graph
Databases
+
+Create logical workflows in LangChain that handle user inputs, convert them
into graph database queries, execute these queries, and return user-friendly
results.
+
+`
+from langchain.chains import Chain
+
+def handle_query(user_input):
+
+query = natural_language_to_age_query(user_input)
+
+result = engine.execute(query)
+
+return format_result(result)
+
+chain = Chain(\[handle_query])
+`
+
+# Example usage
+
+### response = chain.run("Tell me how many users are connected to node A")
+
+### print(response)
+
+## 5. Test and Iterate Your Graph Database Application
+
+Develop robust test cases to ensure the integration handles natural language
understanding and graph database queries accurately. Use real user feedback to
refine the application.
+
+## 6. Deploy and Scale Your Graph Database Application
+
+Consider deploying your application on a cloud platform to ensure scalability
and security. Ensure that both the LangChain and Apache AGE components are
optimized for cloud environments.
+
+## 7. Monitor and Update Your Graph Database System
+
+Continuously monitor your application’s performance and update it based on
user feedback and new requirements. This ensures your graph database
application remains efficient and relevant.
+
+## Conclusion
+
+Integrating LangChain with Apache AGE transforms graph database management by
making it more interactive and accessible through natural language processing.
This guide provides the steps needed to develop applications that leverage the
best of both technologies, enhancing data accessibility and user experience.
+
+<!--EndFragment-->
\ No newline at end of file
diff --git a/src/pages/download/index.md b/src/pages/download/index.md
index dbb1a5a3..76210c8e 100644
--- a/src/pages/download/index.md
+++ b/src/pages/download/index.md
@@ -126,3 +126,27 @@ Archives for all past versions of AGEs are available at
the Apache archives
| Apache archives |
| --------------------- |
<a href="https://archive.apache.org/dist/age/" target="_blank">Apache archives
➚</a>
+
+<br/><br/>
+
+## Language Specific Drivers
+
+Starting with Apache AGE is very simple. You can easily select your platform
and incorporate the relevant SDK into your code.
+<br/><br/>
+
+<img src="../img/age-02.png" width="50%" style="border-radius: 20px;">
+
+<br/><br/>
+
+| Built-in |
+| --------------------- |
+| [Go driver](https://github.com/apache/age/tree/master/drivers/golang) |
+| [Java driver](https://github.com/apache/age/tree/master/drivers/jdbc) |
+| [NodeJs driver](https://github.com/apache/age/tree/master/drivers/nodejs) |
+| [Python driver](https://github.com/apache/age/tree/master/drivers/python) |
+
+<br/><br/>
+
+| Community-driven Driver |
+| --------------------- |
+| [Apache AGE Rust Driver](https://github.com/Dzordzu/rust-apache-age) |
\ No newline at end of file
diff --git a/src/pages/index.md b/src/pages/index.md
index 3d8edee4..c2aaf4a0 100644
--- a/src/pages/index.md
+++ b/src/pages/index.md
@@ -6,7 +6,7 @@ bannerContents: >-
<h1 class="bannerHeader"><span>Apache AGE</span></br>
Graph Database for PostgreSQL</h1>
- <h2 class="bannercontnet"><span>
+ <h2 class="bannercontent"><span>
Apache AGE is a PostgreSQL Graph database compatible with PostgreSQL's
distributed assets and leverages graph data structures to analyze and use
relationships and patterns in data.
diff --git a/src/templates/index-page.js b/src/templates/index-page.js
index 34723142..a463565f 100644
--- a/src/templates/index-page.js
+++ b/src/templates/index-page.js
@@ -62,48 +62,14 @@ export const IndexPageTemplate = ({
Through Apache AGE, PostgreSQL users will gain access to graph
query modeling within the existing relational database.
<br></br><br></br>
Users can read and write graph data in nodes and edges. They
can also use various algorithms such as variable length and edge traversal when
analyzing data.
- <img src="/img/AGE-Architecture.webp" alt="img"></img>
+
</div>
</div>
<div className={styles.verticalLine}>
</div>
<div className={styles.cardRight}>
- Key Updates
<div className={styles.cardContent}>
- <div><b>ASF PROJECT SPOTLIGHT: APACHE AGE </b></div>
- <div>Read the full blog post now and be a part of shaping
the future of graph database technology. </div>
- <div>
- <a
href="https://news.apache.org/foundation/entry/asf-project-spotlight-apache-age"
target="_blank" rel="noopener noreferrer">Read More</a></div>
- <br></br>
-
- <div><b>Why do you use Apache AGE? </b></div>
- <div>Give feedback at the GitHub (<a
href="https://github.com/apache/age/issues/1705" target="_blank" rel="noopener
noreferrer">#1705</a>)</div>
- <br></br>
-
- <div><b>Add graph store implementation for Apache AGE in
langchain github</b></div>
-
- <div>Check out the pull request for the implementation of the
GraphStore class for the Apache Age graph database in the LangChain
repository.</div>
- <div>
- <a
href="https://github.com/langchain-ai/langchain/pull/20582" target="_blank"
rel="noopener noreferrer">Read more</a>
- </div>
-
- <br></br>
- <div><b>Proposal: Vector handling with
extension(pgvector)</b></div>
- <div>A proposal for applying PGvector to Apache AGE has been
posted on GitHub. Please read and leave a comment or opinion if you are
interested.</div>
- <div>
- <a href="https://github.com/apache/age/issues/1121"
target="_blank" rel="noopener noreferrer">Read more</a>
-
- </div>
-
- <br></br>
- <div><b>Apache AGE is now compatible with PostgreSQL
16!</b></div>
- <div>Check the changelog for the latest version</div>
- <div>
-
- <a
href="https://github.com/apache/age/releases/tag/PG16%2Fv1.5.0-rc0"
target="_blank" rel="noopener noreferrer">Read more</a>
-
- </div>
-
+ <img src="/img/AGE-Architecture.webp" alt="img"></img>
<br></br>
</div>
@@ -133,6 +99,42 @@ export const IndexPageTemplate = ({
</section>
*/ }
+ <section>
+ <div className={styles.card1}>
+ <div className={styles.content}>
+ <h2><b>Key Updates</b></h2><hr></hr>
+ <div className={styles.cardContent}>
+ <div><h2><b>ASF PROJECT SPOTLIGHT: APACHE AGE
</b></h2></div>
+ <div>Read the full blog post now and be a part of
shaping the future of graph database technology. </div>
+ <div><a
href="https://news.apache.org/foundation/entry/asf-project-spotlight-apache-age"
target="_blank" rel="noopener noreferrer">Read More</a></div>
+ <br></br>
+
+ <div><b>Why do you use Apache AGE? </b></div>
+ <div>Give feedback at the GitHub (<a
href="https://github.com/apache/age/issues/1705" target="_blank" rel="noopener
noreferrer">#1705</a>)</div>
+ <br></br>
+
+ <div><b>Add graph store implementation for Apache AGE in
langchain github</b></div>
+ <div>Check out the pull request for the implementation
of the GraphStore class for the Apache Age graph database in the LangChain
repository.</div>
+ <div><a
href="https://github.com/langchain-ai/langchain/pull/20582" target="_blank"
rel="noopener noreferrer">Read more</a></div>
+ <br></br>
+
+ <div><b>Proposal: Vector handling with
extension(pgvector)</b></div>
+ <div>A proposal for applying PGvector to Apache AGE has
been posted on GitHub. Please read and leave a comment or opinion if you are
interested.</div>
+ <div><a href="https://github.com/apache/age/issues/1121"
target="_blank" rel="noopener noreferrer">Read more</a></div>
+ <br></br>
+
+ <div><b>Apache AGE is now compatible with PostgreSQL
16!</b></div>
+ <div>Check the changelog for the latest version</div>
+ <div><a
href="https://github.com/apache/age/releases/tag/PG16%2Fv1.5.0-rc0"
target="_blank" rel="noopener noreferrer">Read more</a></div>
+ <br></br>
+
+ </div>
+ </div>
+ </div>
+ </section>
+
+ <div><br></br></div>
+ <div><br></br></div>
<section>
<div className={styles.card1}>
@@ -140,31 +142,24 @@ export const IndexPageTemplate = ({
<h3><b>This week's article by community</b></h3><hr></hr>
<h2>Graph Database in PostgreSQL: Apache AGE</h2>
-
- <p>
- Graph database have gained popularity in recent years due to
their ability to handle complex relationships between data. Unlike traditional
relational database, which store data in tables, graph database represent data
as nodes, edges, and properties. Nodes represent entities, edges represent the
relationships between those entities, and properties represent the attributes
of both.
- </p>
-
- <p>
- PostgreSQL, a popular relational database, can also function
as a graph database through the use of an extension called Apache AGE. With
Apache AGE, users can leverage the flexibility and scalability of graph
database while still utilizing PostgreSQL's advanced SQL querying capabilities
and transaction support.
- </p>
-
- <p>
- To use Apache AGE, users must first install it as an extension
and then model their data as nodes and edges. Apache AGE comes with its own set
of SQL extensions, similar to Cypher, that allows users to query their graph
database. However, users can also still use SQL to query their graph database
if desired.
- </p>
-
- <p>
- For those new to graph database, Apache AGE comes with a
tutorial to help them get started. Additionally, you may use the #apache-age
tag for questions on Stack Overflow, join the project's Discord channel, or
open an issue on GitHub, the Apache AGE community is readily available to
provide support and answer questions.
- </p>
-
- <p>
- Overall, graph database offer a new way of thinking about how
to store and query complex relationships between data. With Apache AGE, users
can easily transform their PostgreSQL database into a graph database and take
advantage of the benefits that come with this type of database.
- </p>
-
-
+ <p>
+ Graph database have gained popularity in recent years
due to their ability to handle complex relationships between data. Unlike
traditional relational database, which store data in tables, graph database
represent data as nodes, edges, and properties. Nodes represent entities, edges
represent the relationships between those entities, and properties represent
the attributes of both.
+ </p>
+ <p>
+ PostgreSQL, a popular relational database, can also
function as a graph database through the use of an extension called Apache AGE.
With Apache AGE, users can leverage the flexibility and scalability of graph
database while still utilizing PostgreSQL's advanced SQL querying capabilities
and transaction support.
+ </p>
+ <p>
+ To use Apache AGE, users must first install it as an
extension and then model their data as nodes and edges. Apache AGE comes with
its own set of SQL extensions, similar to Cypher, that allows users to query
their graph database. However, users can also still use SQL to query their
graph database if desired.
+ </p>
+ <p>
+ For those new to graph database, Apache AGE comes with a
tutorial to help them get started. Additionally, you may use the #apache-age
tag for questions on Stack Overflow, join the project's Discord channel, or
open an issue on GitHub, the Apache AGE community is readily available to
provide support and answer questions.
+ </p>
+ <p>
+ Overall, graph database offer a new way of thinking
about how to store and query complex relationships between data. With Apache
AGE, users can easily transform their PostgreSQL database into a graph database
and take advantage of the benefits that come with this type of database.
+ </p>
</div>
</div>
- </section>
+ </section>
<div><br></br></div>
<div><br></br></div>
@@ -176,14 +171,15 @@ export const IndexPageTemplate = ({
<iframe src="./img/blog1.html" style={{ border: 'none' }}
width="100%" height="600" title="Embedded Page"></iframe>
</div>
</div>
- </section>
+ </section>
<div><br></br></div>
<div><br></br></div>
<div><br></br></div>
<div><br></br></div>
- <div className={styles.card}>
+ <section>
+ <div className={styles.card1}>
<div className={styles.content}>
<h2>Comparison of Apache AGE, PostGraphile, and
Hasura</h2><br></br><br></br>
@@ -225,6 +221,7 @@ export const IndexPageTemplate = ({
</div>
</div>
+ </section>
<div><br></br></div>
<div><br></br></div>
diff --git a/static/admin/config.yml b/static/admin/config.yml
index c98f8aae..3eb2dd0a 100644
--- a/static/admin/config.yml
+++ b/static/admin/config.yml
@@ -1,6 +1,6 @@
backend:
name: github
- repo: ( )
+ repo: dpdjvhxm/age-website
branch: new-web
commit_messages:
create: "Create {{collection}} “{{slug}}”"
diff --git a/static/img/backgraound.jpg b/static/img/backgraound.jpg
new file mode 100644
index 00000000..cbf6c3ec
Binary files /dev/null and b/static/img/backgraound.jpg differ
diff --git a/static/img/backgraound.png b/static/img/backgraound.png
new file mode 100644
index 00000000..f971e5da
Binary files /dev/null and b/static/img/backgraound.png differ