I hereby claim:
- I am cskardon on github.
- I am cskardon (https://keybase.io/cskardon) on keybase.
- I have a public key ASAJ4USySBXduTD99vwlOImo80TpjNQ_2Yzc0g5D1HPCzgo
To claim this, I am signing this object:
| //001 - Deceased | |
| MATCH (person:Person) | |
| WHERE NOT person.died IS NULL | |
| SET person:Deceased; | |
| //002 - Alive | |
| MATCH (person:Person) | |
| WHERE person.died IS NULL | |
| SET person:Alive; |
| //Extra Setup for the course | |
| MATCH (n) | |
| SET n.id = elementid(n); | |
| //Adding releaseyear as a property for ease of querying later | |
| MATCH (m:Movie) WHERE m.released IS NOT NULL | |
| SET m.released = date(m.released) | |
| SET m.releaseyear = m.released.year |
| MATCH (actor:Person)-[:ACTED_IN]->(m:Movie)<-[:ACTED_IN]-(coactor:Person) | |
| WHERE actor.name = "Tom Hanks" AND actor <> coactor | |
| WITH | |
| actor.name AS actor, | |
| m.title AS title, | |
| coactor.name AS movieCoactors | |
| RETURN | |
| actor, title, movieCoactors | |
| //001 - How many movies has Tom Hanks acted in, how many has he directed? | |
| MATCH (p:Person WHERE p.name = "Tom Hanks")-[:ACTED_IN]->(m:Movie) | |
| WITH p, count(DISTINCT m) AS acts | |
| MATCH (p)-[:DIRECTED]->(m:Movie) | |
| WITH p, acts, count(DISTINCT m) AS directs | |
| RETURN p.name AS name, acts, directs; | |
| //002 - How many movies has each person acted in, how many have they directed? | |
| MATCH (p:Person)-[:ACTED_IN]->(m:Movie) |
| -------------------------------------------------------------------------------- | |
| -- WORKSHOP BASICS NEO4J | |
| -- https://tinyurl.com/workshop-neo4j-basics-ita | |
| -------------------------------------------------------------------------------- | |
| --------------------------------------------------------------------- CONTRAINTS | |
| /// constraint unique on movie title | |
| CREATE CONSTRAINT title_uniqueness ON (m:Movie) ASSERT m.title IS UNIQUE; |
| $global:folder = 'c:\temp\imports' # The root folder being monitored. | |
| $filter = '*.csv' # File types we're looking for. | |
| $global:archiveFolder = 'c:\temp\imports\archive' # The archive root folder | |
| $global:cypherShellLocation = 'd:\databases\neo4j\enterprise\neo4j-enterprise-3.3.0\bin\cypher-shell.bat' # The location of the cypher-shell.bat file | |
| $global:user = "neo4j" | |
| $global:password = "neo" | |
| # A watcher to watch | |
| $fsw = New-Object IO.FileSystemWatcher $folder, $filter -Property @{IncludeSubdirectories = $false;NotifyFilter = [IO.NotifyFilters]'FileName, LastWrite'} |
I hereby claim:
To claim this, I am signing this object:
| package movie; | |
| import common.MapResult; | |
| import org.neo4j.procedure.Context; | |
| import org.neo4j.procedure.Name; | |
| import org.neo4j.procedure.Procedure; | |
| import java.util.Collection; | |
| import java.util.HashMap; | |
| import java.util.Map; |
| /* | |
| LinqPad available from: https://www.linqpad.net/ | |
| Settings: | |
| - Language = 'C# Program' | |
| - Nuget | |
| - Neo4jClient (min: 3.0.0-Bolt-Driver00026) [Use Development MyGet: https://www.myget.org/F/cskardon/api/v3/index.json] | |
| - Neo4j.Driver (min: 1.1.2) | |
| - System.Net.Http (min: 4.3.1) | |
| */ |
#Neo4jClient - It's Back!
###The Past
For those in the know - the main .NET client for Neo4j is Neo4jClient - it was developed by Tatham Oddie for the last few years and had reached a nice stable point. Tatham has had to take a more off-hand role - something called 'LIFE' has happened :) So, I (Charlotte - Hello!) have taken over the management of the Neo4jClient.
###The Now
The last Neo4jClient version prior to my taking over was 1.0.0.665 - which was stable and included a large amount of Cypher functionality, but crucially was missing Transaction support. As luck would have it the Transaction code (written by Arturo Sevilla) was sitting in a pull request.