Giter Club home page Giter Club logo

age-website's Introduction

  Apache AGE website



is a leading multi-model graph database

Graph Processing & Analytics for Relational Databases



This repository provides the source for the main website of The Apache AGE.

The link below contains the following Apache AGE project:

  Introduction

  • The master branch contains the source code of the latest version of the documentation.
  • vX.Y.Z Branches contain the source code of the documentation of releases.
  • The asf-site branch contains the static webpage code, as well as the build static version of the documenation (in the docs folder). The docs folder should not be manually updated.
  • new-web branch is where website development work is done.

  Build the documentation locally (first time)

  • Install requirements (the latex and dvisvgm commands are required to display math)
  • MacOS
brew install python3 virtualenv texlive
  • Ubuntu
sudo apt install python3 virtualenv texlive-latex-base texlive-latex-extra texlive-extra-utils
  • Clone this repository
  • Navigate to the root of the repository
  • Create a python virtual environment
virtualenv -p python3 venv
  • Activate the virtual environment
source venv/bin/activate
  • Install the python requirements
pip install -r requirements.txt
  • Build the documentation
    • From ⚠️ remote branches

      sphinx-multiversion docs build/html

      The documentation should now be in the build/html folder, with a subfolder per remote branch (version).

    • From the current folder

      sphinx-build docs build/html/current

      The documentation for the current local branch should now be in the build/html/current folder (no subfolders).

  Build documentation locally (after initial setup)

  • Navigate to the root of the repository

  • Activate the virtual environment if not yet active

source venv/bin/activate
  • Build the documentation
    • From ⚠️ remote branches

      sphinx-multiversion docs build/html

      The documentation should now be in the build/html folder, with a subfolder per remote branch (version).

    • From the current folder

      sphinx-build docs build/html/current

      The updated documentation for the current local branch should now be in the build/html/current folder (no subfolders).

age-website's People

Contributors

aked21 avatar allison-e avatar capnspek avatar dehowef avatar dependabot[bot] avatar dpdjvhxm avatar eyab avatar fatimafatimaprogrammer avatar jbiz805 avatar joshinnis avatar karria avatar keikang avatar ksheroz avatar markgomer avatar matheusfarias03 avatar mintduck avatar muhammad-adil-shahid-1054 avatar muhammadshoaib avatar muhammadtahanaveed avatar muneebkhan4 avatar pdpotter avatar rahimullahshaheen avatar robinpokorny avatar safi50 avatar shinhanbyeol avatar sorrell avatar ssinghh avatar talhahahae avatar titoausten avatar wendellana avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

age-website's Issues

Error in the query under "Terminal CREATE clauses"

The query provided under the terminal CREATE clauses here gives error instead of outputting '0 rows returned'

Upon executing the following query:
SELECT * FROM cypher('graph_name', $$ CREATE /* Create clause here, no following clause */ $$) as (a agtype);

I get:

ERROR: syntax error at end of input
LINE 4: $$) as (a agtype)

Update SET clause

The SET clause documentation says that with SET clause, we can update the labels of nodes but any example is not provided to support that. Besides this, I tried updating the label of the node but that resulted in an error.

Error in Syntax of Return created node

Current Syntax:

SELECT * 
FROM cypher('graph_name', $$
    CREATE (a {name: 'Andres')
    RETURN a
$$) as (a agtype);

'}' was missing.

Correct Syntax:

SELECT * 
FROM cypher('graph_name', $$
    CREATE (a {name: 'Andres'})
    RETURN a
$$) as (a agtype);

Typo/Confusion in Create full path

There is a statement under the heading Create full path

v1 When you use CREATE and a pattern, all parts of the pattern that are not already in scope at this time will be created.

Here v1 is confusing me. Is it a typo?

Error in interpretation of the MERGE clause

In the documentation of the MERGE clause, there is an example as shown below, which I personally think is problematic.
image
In the following sql statement
'''
SELECT * FROM cypher('graph_name', $$
MERGE (charlie {name: 'Charlie Sheen', age: 10})
RETURN charlie
$$) as (v agtype);
'''
No label name is given.
So the sentence "If there exists a vertex with the label 'Critic', that vertex will be returned. Otherwise, the vertex will be created and returned." should be deleted.
And output
{id: 0; label: ‘Actor’: properties:{name: 'Charlie Sheen', age: 10}}::vertex
should be
{id: 0; label: ‘’: properties:{name: 'Charlie Sheen', age: 10}}::vertex
image

CALL ... YIELD Documentation not added yet

The syntax structure and usage documentation of CALL ... YIELD has yet to be added.

A basic example:

SELECT *
FROM cypher('test', $$
    MATCH (v)        
    CALL label(v) YIELD label AS l_v                                           
    RETURN l_v
$$) as (labels agtype);

Issues on the user defined functions query

The following example is not working properly which is at https://age.apache.org/age-manual/master/functions/user_functions.html
It has multiple issues:

  1. Missing ')' closing parentheses
  2. Missing typecasting
  3. Result is incorrect (sqrt(25) is 5 while the result is mentioned as 25)

Test environment:

PG: 11
AGE: 1.2.0
OS: Ubuntu 18

The output after having getting the closing parentheses fixed:

rrr=# SELECT *
rrr-# FROM cypher('test', $$
rrr$# RETURN pg_catalog.sqrt(25)
rrr$# $$) as (result agtype);
ERROR:  function pg_catalog.sqrt(agtype) does not exist
LINE 3: RETURN pg_catalog.sqrt(25)
                              ^
HINT:  No function matches the given name and argument types. You might need to add explicit type casts.

Proofread the Documentation for Errors and Quality

The repository for the documentation can be found here:

https://github.com/apache/age-website

Please clone a version of the repository to your own machine and make a new branch to make changes.

** Note that the repository for the documentation is actually separate from the age repo, but discussion for this issue can happen here in this thread.

Something helpful to get started would be going through the sections of the documentation and checking for any grammar or spelling errors, or any area that needs revisions and making those changes. If you feel like there are improvements that can be made, feel free to suggest them as well. The files can be found here:

https://github.com/apache/age-website/tree/master/docs

After you have made changes to the docs, you can make a pull request on that repo and someone will review those changes. We will give feedback on the changes made, and after the changes have been reviewed and approved, they will be added to the master branch.

QUESTION: Node Constraints on Property

Is there a way to create constraints for node/vertex properties? I want to use concurrent loading of AGE but need constraints to avoid multiple threads from creating duplicate nodes/vertex. I tried this:

ON pubmed."Article" 
((properties->>'pmid'));

but I get this error:

operator does not exist: ag_catalog.agtype ->> unknown
Hint: No operator matches the given name and argument types. You might need to add explicit type casts.

Are constraints on a Node property possible?

Location of sample CSV files for loader

The documentation states that example files can be found in regress/age_load/data. What location is being referenced here? I can't seem to find it. Although a sample is always helpful, I do think the documentation is already clear enough in its description.

Error in Syntax of Create vertex and add labels and properties

Current Syntax:

SELECT * 
FROM cypher('graph_name', $$
    CREATE (:Person {name: 'Andres', title: 'Developer')
$$) as (n agtype);

'}' is missing

Correct Syntax:

SELECT * 
FROM cypher('graph_name', $$
    CREATE (:Person {name: 'Andres', title: 'Developer'})
$$) as (n agtype);

Update SET clause documentation

A SET clause syntax (SET a = {..}) is implemented and merged recently (apache/age#468). It may be useful to add it in the documentation.

The following code from the test files shows how the syntax is used. It is similar to https://neo4j.com/docs/cypher-manual/current/clauses/set/#set-copying-properties-between-nodes-and-relationships.

...
SELECT * FROM cypher('cypher_set_1', $$ CREATE (a:Andy {name:'Andy', age:36, hungry:true}) $$) AS (a agtype);
SELECT * FROM cypher('cypher_set_1', $$ CREATE (a:Peter {name:'Peter', age:34}) $$) AS (a agtype);
SELECT * FROM cypher('cypher_set_1', $$ CREATE (a:Kevin {name:'Kevin', age:32, hungry:false}) $$) AS (a agtype);
SELECT * FROM cypher('cypher_set_1', $$ CREATE (a:Matt {name:'Matt', city:'Toronto'}) $$) AS (a agtype);
SELECT * FROM cypher('cypher_set_1', $$ CREATE (a:Juan {name:'Juan', role:'admin'}) $$) AS (a agtype);

-- test copying properties between entities
SELECT * FROM cypher('cypher_set_1', $$
    MATCH (at {name: 'Andy'}), (pn {name: 'Peter'})
    SET at = properties(pn)
    RETURN at, pn
$$) AS (at agtype, pn agtype);

SELECT * FROM cypher('cypher_set_1', $$
    MATCH (at {name: 'Kevin'}), (pn {name: 'Matt'})
    SET at = pn
    RETURN at, pn
$$) AS (at agtype, pn agtype);

-- test replacing all properties using a map and =
SELECT * FROM cypher('cypher_set_1', $$
    MATCH (m {name: 'Matt'})
    SET m = {name: 'Peter Smith', position: 'Entrepreneur', city:NULL}
    RETURN m
$$) AS (m agtype);

-- test removing all properties using an empty map and =
SELECT * FROM cypher('cypher_set_1', $$
    MATCH (p {name: 'Juan'})
    SET p = {}
    RETURN p
$$) AS (p agtype);

-- test assigning non-map to an enitity
SELECT * FROM cypher('cypher_set_1', $$
    MATCH (p {name: 'Peter'})
    SET p = "Peter"
    RETURN p
$$) AS (p agtype);

SELECT * FROM cypher('cypher_set_1', $$
    MATCH (p {name: 'Peter'})
    SET p = sqrt(4)
    RETURN p
$$) AS (p agtype);
...

Aside from that, two other SET syntaxes are being worked on. I will post update in this issue.
Thanks!

Update Installation guide for Mac OS

To install requirements for building the documentation locally , the documentation gives steps to follow but the command
sudo apt install python3 virtualenv texlive-latex-base texlive-latex-extra texlive-extra-utils returns an error on MacOS.

It is because apt is not available in Mac OS. However, there is no mention of the OS requirement for running the above command in the README.md file.

The solution is to use a Package manager like Homebrew to install the relevant packages for Mac OS.

I ran the following commands to install the requirements.

brew install python3 virtualenv
brew install --cask mactex-no-gui

Outdated release notes on website

Release notes are outdated https://age.apache.org/release-notes. Currently the latest release is v1.3.0. It would be great if the website could fetch the releases from github using github's api. This would automatatically update the website whenever there is a new release and will also provide correct release notes as listed on github.

image

Reason for requirements_min.txt

I see that there is a python packages requirement defined in requirements.txt which also contains the ones mentioned in requirements_min.txt.

Is there a reason for requirements_min.txt?

Update Graph Syntax

After installing age extension, I followed the documentation to create the graph.

website link: Create a Graph

create_graph(graph_name); <-- this is the command, to run for creating a new graph, as per the documentation.

If I run command as:

postgres=# create_graph(graph_name);

Output

ERROR:  syntax error at or near "create_graph"
LINE 1: create_graph(graph_name);

or

postgres=# create_graph("graph_name");

Output

ERROR:  syntax error at or near "create_graph"
LINE 1: create_graph("graph_name");

or

postgres=# create_graph('graph_name');

Output

ERROR:  syntax error at or near "create_graph"
LINE 1: create_graph('graph_name');

The result is same.


What worked for me:

I will have to use the command as:

postgres=# SELECT create_graph('graph_name');

Output

NOTICE:  graph "graph_name" has been created
 create_graph
--------------

(1 row)

Question:

Just want to ask if docs can be updated with working command.

Rollback occurrence in AGE Website

@pdpotter
@shinhanbyeol

There seems to be a rollback issue on the AGE Website.
All the spelling and grammar errors I've requested David(shinhanbyeol) to apply and the Github star/contributor tracking feature Andrew(aked21) requested disappeared from the website.

Upon checking with David, the rollback seemed to have occurred due to renewed AGE Documentation.
Is there some sort of setting that does not affect the details on the website while renewing AGE documentation?

It would be a hassle to recover or edit contents on the website every time the document is edited and applied.

toUpper function in documentation has wrong definition

In the documentation of age here the toUpper() function contains the wrong definition.

The definition states 'toUpper() returns the original string in lowercase.' whereas it should be 'toUpper() returns the original string in lowercase.'

I have also made a PR related to this issue here

Missing Nodes Function Description in List Functions

In the documentation, the List Functions section lacks the description of the nodes function, and there are some minor typos, such as mentioning edge entities instead of integer elements and differencebetween instead of difference between in the range function part.

@dehowef could you please review these pull requests addressing the issue? #167 and #166

Happy new years

Copyright is still set to 2023 at the bottom of the website.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.