Neo4jClient.FsQuotations


Neo4jClient.FsQuotations

Documentation

The Neo4jClient.FsQuotations library can be installed from NuGet:
PM> Install-Package Neo4jClient.FsQuotations

Example

This example demonstrates basic usage of the Neo4jClient.FsQuotations library.

 1: 
 2: 
 3: 
 4: 
 5: 
 6: 
 7: 
 8: 
 9: 
10: 
11: 
12: 
13: 
14: 
15: 
16: 
17: 
18: 
19: 
20: 
21: 
#r "Neo4jClient.dll"
#r "Neo4jClient.FsQuotations.dll"

open System
open Neo4jClient
open Neo4jClient.FsQuotations

[<CLIMutable>]
type UserNode = 
    { FacebookId: string }
    interface INeo4jNode

let client = new GraphClient(Uri("http://localhost:7474/db/data"), "neo4j", "Password123")
client.Connect()

<@
let u = declareNode<UserNode>
matchNode u
returnResults u
@>
|> executeReadQuery client.Cypher

Some more info

Samples & documentation

The library comes with comprehensible documentation. It can include tutorials automatically generated from *.fsx files in the content folder. The API reference is automatically generated from Markdown comments in the library implementation.

  • Tutorial contains a further explanation of this sample library.

  • API Reference contains automatically generated documentation for all types, modules and functions in the library. This includes additional brief samples on using most of the functions.

Contributing and copyright

The project is hosted on GitHub where you can report issues, fork the project and submit pull requests. If you're adding a new public API, please also consider adding samples that can be turned into a documentation. You might also want to read the library design notes to understand how it works.

The library is available under Public Domain license, which allows modification and redistribution for both commercial and non-commercial purposes. For more information see the License file in the GitHub repository.

namespace System
namespace Neo4jClient
namespace Neo4jClient.FsQuotations
Multiple items
type CLIMutableAttribute =
  inherit Attribute
  new : unit -> CLIMutableAttribute

Full name: Microsoft.FSharp.Core.CLIMutableAttribute

--------------------
new : unit -> CLIMutableAttribute
type UserNode =
  {FacebookId: string;}
  interface INeo4jNode

Full name: Index.UserNode
UserNode.FacebookId: string
Multiple items
val string : value:'T -> string

Full name: Microsoft.FSharp.Core.Operators.string

--------------------
type string = String

Full name: Microsoft.FSharp.Core.string
type INeo4jNode

Full name: Neo4jClient.FsQuotations.INeo4jNode
val client : GraphClient

Full name: Index.client
Multiple items
type GraphClient =
  new : rootUri:Uri * httpClient:IHttpClient -> GraphClient + 2 overloads
  member BatchEndpoint : Uri
  member BeginTransaction : unit -> ITransaction + 1 overload
  member CheckIndexExists : indexName:string * indexFor:IndexFor -> bool
  member Connect : ?configuration:NeoServerConfiguration -> unit
  member Create<'TNode> : node:'TNode * relationships:IEnumerable<IRelationshipAllowingParticipantNode<'TNode>> * indexEntries:IEnumerable<IndexEntry> -> NodeReference<'TNode>
  member CreateIndex : indexName:string * config:IndexConfiguration * indexFor:IndexFor -> unit
  member CreateRelationship<'TSourceNode, 'TRelationship> : sourceNodeReference:NodeReference<'TSourceNode> * relationship:'TRelationship -> RelationshipReference
  member Cypher : ICypherFluentQuery
  member CypherCapabilities : CypherCapabilities
  ...

Full name: Neo4jClient.GraphClient

--------------------
GraphClient(rootUri: Uri, httpClient: Execution.IHttpClient) : unit
GraphClient(rootUri: Uri, ?username: string, ?password: string) : unit
GraphClient(rootUri: Uri, expect100Continue: bool, useNagleAlgorithm: bool, ?username: string, ?password: string) : unit
Multiple items
type Uri =
  new : uriString:string -> Uri + 5 overloads
  member AbsolutePath : string
  member AbsoluteUri : string
  member Authority : string
  member DnsSafeHost : string
  member Equals : comparand:obj -> bool
  member Fragment : string
  member GetComponents : components:UriComponents * format:UriFormat -> string
  member GetHashCode : unit -> int
  member GetLeftPart : part:UriPartial -> string
  ...

Full name: System.Uri

--------------------
Uri(uriString: string) : unit
Uri(uriString: string, uriKind: UriKind) : unit
Uri(baseUri: Uri, relativeUri: string) : unit
Uri(baseUri: Uri, relativeUri: Uri) : unit
GraphClient.Connect(?configuration: NeoServerConfiguration) : unit
val u : UserNode
val declareNode<'T (requires 'T :> INeo4jNode)> : #INeo4jNode

Full name: Neo4jClient.FsQuotations.CypherQueryGrammar.declareNode
val matchNode : #INeo4jNode -> unit

Full name: Neo4jClient.FsQuotations.CypherQueryGrammar.matchNode
val returnResults : 'T -> 'T

Full name: Neo4jClient.FsQuotations.CypherQueryGrammar.returnResults
val executeReadQuery : cypher:Cypher.ICypherFluentQuery -> query:Quotations.Expr<'T> -> seq<'T>

Full name: Neo4jClient.FsQuotations.QuotationInterpreter.executeReadQuery
property GraphClient.Cypher: Cypher.ICypherFluentQuery
Fork me on GitHub