GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - bbuck/talon: Talon is a Neo4j ORM to simply working between the database and Go.

BranchesTags
Open more actions menu

Latest commit

 

History

18 Commits
18 Commits

Folders and files

NameName
Last commit message
Last commit date
types
types
 
 
vendor/github.com/johnnadratowski
vendor/github.com/johnnadratowski
 
 
LICENSE
LICENSE
 
 
README.md
README.md
 
 
connect_options.go
connect_options.go
 
 
connect_options_test.go
connect_options_test.go
 
 
database.go
database.go
 
 
driver.go
driver.go
 
 
entity.go
entity.go
 
 
glide.lock
glide.lock
 
 
glide.yaml
glide.yaml
 
 
live_db_test.go
live_db_test.go
 
 
node.go
node.go
 
 
query.go
query.go
 
 
relationship.go
relationship.go
 
 
result.go
result.go
 
 
rows.go
rows.go
 
 
struct_helpers.go
struct_helpers.go
 
 
talon_suite_test.go
talon_suite_test.go
 
 

Repository files navigation

Pre-alpha!

This project is in a pre-alpha phase. It's not ready for use or consumption. At such a time the basic features are implmented I'll create a v0 tag for gopkg to use and remove this banner.

Goals

I'm trying to simplify dynamic Neo4j querying by creating constructs to build Cypher queries in Code in steps or all at once and allow working with Go structs. For example, a common usage may be aligning stucts to node labels in Neo4j and so at it's simplest:

type Person struct {
        ID int `talon:"id"`
        Firstname string `talon:"firstname"`
        Lastname string `talon:"lastname"`
}
p := Person{ID: 1}
db.Find(&p)

Which will query the database MATCH (_ref1:Person {id: 1}) RETURN _ref1 and once the command has executed you're free to use the properties freely.

The other thing is building Cypher queries in code:

db.Match(
        Node()
                .Named("a")
                .Labeled("Person")
                .WithProperties(talon.Properties{
                        "id": 1,
                })
).Retrun("a").String()

Produces a similar query as fetching the raw struct: MATCH (a:Person {id: 1}) RETURN a.

From the point of having a query you can easily load single rows into structs: `query.LoadResult(&p) or work with many rows:

var people []Person
db.Match(Node().Named("a").Labeled("Person")).Return("a").LoadResults(&people)

About

Talon is a Neo4j ORM to simply working between the database and Go.

Resources

Readme
MIT license
Activity

Stars

4 stars

Watchers

1 watching

Forks

0 forks
Report repository

Releases

Packages

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.