├── import ├── regions.csv ├── northwind-data-importer-mode-data.zip ├── shippers.csv ├── employee-territories.csv ├── territories.csv ├── categories.csv ├── suppliers.csv ├── products.csv ├── employees.csv ├── customers.csv └── order-details.csv ├── code ├── java │ ├── Example.class │ └── Example.java ├── python │ └── example.py ├── javascript │ └── example.js ├── csharp │ └── Example.cs └── go │ └── example.go ├── data ├── northwind-35.dump ├── northwind-40.dump ├── northwind-43.dump └── northwind-50.dump ├── documentation ├── img │ ├── example.png │ ├── order-graph.png │ ├── northwind-logo.jpg │ ├── product-graph.png │ ├── customer-orders.png │ ├── northwind-image.png │ ├── product-category-supplier.png │ ├── model.svg │ └── example.svg ├── northwind-old.adoc └── northwind.neo4j-browser-guide ├── .gitignore ├── relate.project-install.json ├── scripts └── northwind.cypher ├── README.adoc ├── bloom └── northwind.bloom-perspective └── workspace └── northwind.adoc /import/regions.csv: -------------------------------------------------------------------------------- 1 | regionID,regionDescription 2 | 1,Eastern 3 | 2,Western 4 | 3,Northern 5 | 4,Southern 6 | -------------------------------------------------------------------------------- /code/java/Example.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neo4j-graph-examples/northwind/HEAD/code/java/Example.class -------------------------------------------------------------------------------- /data/northwind-35.dump: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neo4j-graph-examples/northwind/HEAD/data/northwind-35.dump -------------------------------------------------------------------------------- /data/northwind-40.dump: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neo4j-graph-examples/northwind/HEAD/data/northwind-40.dump -------------------------------------------------------------------------------- /data/northwind-43.dump: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neo4j-graph-examples/northwind/HEAD/data/northwind-43.dump -------------------------------------------------------------------------------- /data/northwind-50.dump: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neo4j-graph-examples/northwind/HEAD/data/northwind-50.dump -------------------------------------------------------------------------------- /documentation/img/example.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neo4j-graph-examples/northwind/HEAD/documentation/img/example.png -------------------------------------------------------------------------------- /documentation/img/order-graph.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neo4j-graph-examples/northwind/HEAD/documentation/img/order-graph.png -------------------------------------------------------------------------------- /documentation/img/northwind-logo.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neo4j-graph-examples/northwind/HEAD/documentation/img/northwind-logo.jpg -------------------------------------------------------------------------------- /documentation/img/product-graph.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neo4j-graph-examples/northwind/HEAD/documentation/img/product-graph.png -------------------------------------------------------------------------------- /documentation/img/customer-orders.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neo4j-graph-examples/northwind/HEAD/documentation/img/customer-orders.png -------------------------------------------------------------------------------- /documentation/img/northwind-image.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neo4j-graph-examples/northwind/HEAD/documentation/img/northwind-image.png -------------------------------------------------------------------------------- /import/northwind-data-importer-mode-data.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neo4j-graph-examples/northwind/HEAD/import/northwind-data-importer-mode-data.zip -------------------------------------------------------------------------------- /documentation/img/product-category-supplier.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neo4j-graph-examples/northwind/HEAD/documentation/img/product-category-supplier.png -------------------------------------------------------------------------------- /import/shippers.csv: -------------------------------------------------------------------------------- 1 | shipperID,companyName,phone 2 | 1,Speedy Express,(503) 555-9831 3 | 2,United Package,(503) 555-3199 4 | 3,Federal Shipping,(503) 555-9931 5 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | node_modules 3 | *.class 4 | package-lock.json 5 | code/csharp/bin 6 | code/csharp/debug 7 | code/csharp/obj 8 | code/javascript/node_modules 9 | code/java/target 10 | pythonenv3.8 -------------------------------------------------------------------------------- /import/employee-territories.csv: -------------------------------------------------------------------------------- 1 | employeeID,territoryID 2 | 1,06897 3 | 1,19713 4 | 2,01581 5 | 2,01730 6 | 2,01833 7 | 2,02116 8 | 2,02139 9 | 2,02184 10 | 2,40222 11 | 3,30346 12 | 3,31406 13 | 3,32859 14 | 3,33607 15 | 4,20852 16 | 4,27403 17 | 4,27511 18 | 5,02903 19 | 5,07960 20 | 5,08837 21 | 5,10019 22 | 5,10038 23 | 5,11747 24 | 5,14450 25 | 6,85014 26 | 6,85251 27 | 6,98004 28 | 6,98052 29 | 6,98104 30 | 7,60179 31 | 7,60601 32 | 7,80202 33 | 7,80909 34 | 7,90405 35 | 7,94025 36 | 7,94105 37 | 7,95008 38 | 7,95054 39 | 7,95060 40 | 8,19428 41 | 8,44122 42 | 8,45839 43 | 8,53404 44 | 9,03049 45 | 9,03801 46 | 9,48075 47 | 9,48084 48 | 9,48304 49 | 9,55113 50 | 9,55439 51 | -------------------------------------------------------------------------------- /code/python/example.py: -------------------------------------------------------------------------------- 1 | # pip3 install neo4j-driver 2 | # python3 example.py 3 | 4 | from neo4j import GraphDatabase, basic_auth 5 | 6 | driver = GraphDatabase.driver( 7 | "neo4j://:", 8 | auth=basic_auth("", "")) 9 | 10 | cypher_query = ''' 11 | MATCH (p:Product)-[:PART_OF]->(:Category)-[:PARENT*0..]-> 12 | (:Category {categoryName:$category}) 13 | RETURN p.productName as product 14 | ''' 15 | 16 | with driver.session(database="neo4j") as session: 17 | results = session.read_transaction( 18 | lambda tx: tx.run(cypher_query, 19 | category="Dairy Products").data()) 20 | for record in results: 21 | print(record['product']) 22 | 23 | driver.close() 24 | -------------------------------------------------------------------------------- /relate.project-install.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "northwind", 3 | "icon": "documentation/img/northwind-logo.jpg", 4 | "title": "Northwind", 5 | "description":"From RDBMS to Graph, using a classic retail dataset", 6 | "dbms": [ 7 | { 8 | "dumpFile": "data/northwind-35.dump", 9 | "targetNeo4jVersion":">=3.5.0 <4.0.0" 10 | }, 11 | { 12 | "dumpFile": "data/northwind-40.dump", 13 | "targetNeo4jVersion": ">=4.0.0 <4.3.0" 14 | }, 15 | { 16 | "dumpFile": "data/northwind-43.dump", 17 | "targetNeo4jVersion": ">=4.3.0 <5.0.0" 18 | }, 19 | { 20 | "dumpFile": "data/northwind-50.dump", 21 | "targetNeo4jVersion": ">=5.0.0 <6.0.0" 22 | } 23 | ] 24 | } 25 | -------------------------------------------------------------------------------- /code/javascript/example.js: -------------------------------------------------------------------------------- 1 | // npm install --save neo4j-driver 2 | // node example.js 3 | const neo4j = require('neo4j-driver'); 4 | const driver = neo4j.driver('neo4j://:', 5 | neo4j.auth.basic('', ''), 6 | {}); 7 | 8 | const query = 9 | ` 10 | MATCH (p:Product)-[:PART_OF]->(:Category)-[:PARENT*0..]-> 11 | (:Category {categoryName:$category}) 12 | RETURN p.productName as product 13 | `; 14 | 15 | const params = {"category": "Dairy Products"}; 16 | 17 | const session = driver.session({database:"neo4j"}); 18 | 19 | session.run(query, params) 20 | .then((result) => { 21 | result.records.forEach((record) => { 22 | console.log(record.get('product')); 23 | }); 24 | session.close(); 25 | driver.close(); 26 | }) 27 | .catch((error) => { 28 | console.error(error); 29 | }); 30 | -------------------------------------------------------------------------------- /import/territories.csv: -------------------------------------------------------------------------------- 1 | territoryID,territoryDescription,regionID 2 | 01581,Westboro,1 3 | 01730,Bedford,1 4 | 01833,Georgetow,1 5 | 02116,Boston,1 6 | 02139,Cambridge,1 7 | 02184,Braintree,1 8 | 02903,Providence,1 9 | 03049,Hollis,3 10 | 03801,Portsmouth,3 11 | 06897,Wilton,1 12 | 07960,Morristown,1 13 | 08837,Edison,1 14 | 10019,NewYork,1 15 | 10038,NewYork,1 16 | 11747,Mellvile,1 17 | 14450,Fairport,1 18 | 19428,Philadelphia,3 19 | 19713,Neward,1 20 | 20852,Rockville,1 21 | 27403,Greensboro,1 22 | 27511,Cary,1 23 | 29202,Columbia,4 24 | 30346,Atlanta,4 25 | 31406,Savannah,4 26 | 32859,Orlando,4 27 | 33607,Tampa,4 28 | 40222,Louisville,1 29 | 44122,Beachwood,3 30 | 45839,Findlay,3 31 | 48075,Southfield,3 32 | 48084,Troy,3 33 | 48304,BloomfieldHills,3 34 | 53404,Racine,3 35 | 55113,Roseville,3 36 | 55439,Minneapolis,3 37 | 60179,HoffmanEstates,2 38 | 60601,Chicago,2 39 | 72716,Bentonville,4 40 | 75234,Dallas,4 41 | 78759,Austin,4 42 | 80202,Denver,2 43 | 80909,ColoradoSprings,2 44 | 85014,Phoenix,2 45 | 85251,Scottsdale,2 46 | 90405,SantaMonica,2 47 | 94025,MenloPark,2 48 | 94105,SanFrancisco,2 49 | 95008,Campbell,2 50 | 95054,SantaClara,2 51 | 95060,SantaCruz,2 52 | 98004,Bellevue,2 53 | 98052,Redmond,2 54 | 98104,Seattle,2 55 | -------------------------------------------------------------------------------- /code/csharp/Example.cs: -------------------------------------------------------------------------------- 1 | // install dotnet core on your system 2 | // dotnet new console -o . 3 | // dotnet add package Neo4j.Driver 4 | // paste in this code into Program.cs 5 | // dotnet run 6 | 7 | using System; 8 | using System.Collections.Generic; 9 | using System.Text; 10 | using System.Threading.Tasks; 11 | using Neo4j.Driver; 12 | 13 | namespace dotnet { 14 | class Example { 15 | static async Task Main() { 16 | var driver = GraphDatabase.Driver("neo4j://:", 17 | AuthTokens.Basic("", "")); 18 | 19 | var cypherQuery = 20 | @" 21 | MATCH (p:Product)-[:PART_OF]->(:Category)-[:PARENT*0..]-> 22 | (:Category {categoryName:$category}) 23 | RETURN p.productName as product 24 | "; 25 | 26 | var session = driver.AsyncSession(o => o.WithDatabase("neo4j")); 27 | var result = await session.ReadTransactionAsync(async tx => { 28 | var r = await tx.RunAsync(cypherQuery, 29 | new { category="Dairy Products"}); 30 | return await r.ToListAsync(); 31 | }); 32 | 33 | await session?.CloseAsync(); 34 | foreach (var row in result) 35 | Console.WriteLine(row["product"].As()); 36 | 37 | } 38 | } 39 | } -------------------------------------------------------------------------------- /code/java/Example.java: -------------------------------------------------------------------------------- 1 | // Add your the driver dependency to your pom.xml build.gradle etc. 2 | // Java Driver Dependency: http://search.maven.org/#artifactdetails|org.neo4j.driver|neo4j-java-driver|4.0.1|jar 3 | // Reactive Streams http://search.maven.org/#artifactdetails|org.reactivestreams|reactive-streams|1.0.3|jar 4 | // download jars into current directory 5 | // java -cp "*" Example.java 6 | 7 | import org.neo4j.driver.*; 8 | import static org.neo4j.driver.Values.parameters; 9 | 10 | public class Example { 11 | 12 | public static void main(String...args) { 13 | 14 | Driver driver = GraphDatabase.driver("neo4j://:", 15 | AuthTokens.basic("","")); 16 | 17 | try (Session session = driver.session(SessionConfig.forDatabase("neo4j"))) { 18 | 19 | String cypherQuery = 20 | "MATCH (p:Product)-[:PART_OF]->(:Category)-[:PARENT*0..]->\n" + 21 | "(:Category {categoryName:$category})\n" + 22 | " RETURN p.productName as product"; 23 | 24 | var result = session.readTransaction( 25 | tx -> tx.run(cypherQuery, 26 | parameters("category","Dairy Products")) 27 | .list()); 28 | 29 | for (Record record : result) { 30 | System.out.println(record.get("product").asString()); 31 | } 32 | } 33 | driver.close(); 34 | } 35 | } 36 | 37 | 38 | -------------------------------------------------------------------------------- /code/go/example.go: -------------------------------------------------------------------------------- 1 | // go mod init main 2 | // go run example.go 3 | package main 4 | 5 | import ( 6 | "fmt" 7 | "github.com/neo4j/neo4j-go-driver/v4/neo4j" 8 | "io" 9 | "reflect" 10 | ) 11 | 12 | func main() { 13 | results, err := runQuery("neo4j://:", "neo4j", "", "") 14 | if err != nil { 15 | panic(err) 16 | } 17 | for _, result := range results { 18 | fmt.Println(result) 19 | } 20 | } 21 | 22 | func runQuery(uri, database, username, password string) (result []string, err error) { 23 | driver, err := neo4j.NewDriver(uri, neo4j.BasicAuth(username, password, "")) 24 | if err != nil { 25 | return nil, err 26 | } 27 | defer func() {err = handleClose(driver, err)}() 28 | session := driver.NewSession(neo4j.SessionConfig{AccessMode: neo4j.AccessModeRead, DatabaseName: database}) 29 | defer func() {err = handleClose(session, err)}() 30 | results, err := session.ReadTransaction(func(transaction neo4j.Transaction) (interface{}, error) { 31 | result, err := transaction.Run( 32 | ` 33 | MATCH (p:Product)-[:PART_OF]->(:Category)-[:PARENT*0..]-> 34 | (:Category {categoryName:$category}) 35 | RETURN p.productName as product 36 | `, map[string]interface{}{ 37 | "category": "Dairy Products", 38 | }) 39 | if err != nil { 40 | return nil, err 41 | } 42 | var arr []string 43 | for result.Next() { 44 | value, found := result.Record().Get("product") 45 | if found { 46 | arr = append(arr, value.(string)) 47 | } 48 | } 49 | if err = result.Err(); err != nil { 50 | return nil, err 51 | } 52 | return arr, nil 53 | }) 54 | if err != nil { 55 | return nil, err 56 | } 57 | result = results.([]string) 58 | return result, err 59 | } 60 | 61 | func handleClose(closer io.Closer, previousError error) error { 62 | err := closer.Close() 63 | if err == nil { 64 | return previousError 65 | } 66 | if previousError == nil { 67 | return err 68 | } 69 | return fmt.Errorf("%v closure error occurred:\n%s\ninitial error was:\n%w", reflect.TypeOf(closer), err.Error(), previousError) 70 | } 71 | -------------------------------------------------------------------------------- /scripts/northwind.cypher: -------------------------------------------------------------------------------- 1 | CREATE CONSTRAINT Product_productID IF NOT EXISTS FOR (p:Product) REQUIRE (p.productID) IS UNIQUE; 2 | CREATE CONSTRAINT Category_categoryID IF NOT EXISTS FOR (c:Category) REQUIRE (c.categoryID) IS UNIQUE; 3 | CREATE CONSTRAINT Supplier_supplierID IF NOT EXISTS FOR (s:Supplier) REQUIRE (s.supplierID) IS UNIQUE; 4 | CREATE CONSTRAINT Customer_customerID IF NOT EXISTS FOR (c:Customer) REQUIRE (c.customerID) IS UNIQUE; 5 | CREATE CONSTRAINT Order_orderID IF NOT EXISTS FOR (o:Order) REQUIRE (o.orderID) IS UNIQUE; 6 | 7 | LOAD CSV WITH HEADERS FROM "https://data.neo4j.com/northwind/products.csv" AS row 8 | MERGE (n:Product {productID:row.productID}) 9 | SET n += row, 10 | n.unitPrice = toFloat(row.unitPrice), 11 | n.unitsInStock = toInteger(row.unitsInStock), n.unitsOnOrder = toInteger(row.unitsOnOrder), 12 | n.reorderLevel = toInteger(row.reorderLevel), n.discontinued = (row.discontinued <> "0"); 13 | 14 | LOAD CSV WITH HEADERS FROM "https://data.neo4j.com/northwind/categories.csv" AS row 15 | MERGE (n:Category {categoryID:row.categoryID}) 16 | SET n += row; 17 | 18 | LOAD CSV WITH HEADERS FROM "https://data.neo4j.com/northwind/suppliers.csv" AS row 19 | MERGE (n:Supplier {supplierID:row.supplierID}) 20 | SET n += row; 21 | 22 | MATCH (p:Product),(c:Category) 23 | WHERE p.categoryID = c.categoryID 24 | MERGE (p)-[:PART_OF]->(c); 25 | 26 | MATCH (p:Product),(s:Supplier) 27 | WHERE p.supplierID = s.supplierID 28 | MERGE (s)-[:SUPPLIES]->(p); 29 | 30 | LOAD CSV WITH HEADERS FROM "https://data.neo4j.com/northwind/customers.csv" AS row 31 | MERGE (n:Customer {customerID:row.customerID}) 32 | SET n += row; 33 | 34 | LOAD CSV WITH HEADERS FROM "https://data.neo4j.com/northwind/orders.csv" AS row 35 | MERGE (n:Order {orderID:row.orderID}) 36 | SET n += row; 37 | 38 | MATCH (c:Customer),(o:Order) 39 | WHERE c.customerID = o.customerID 40 | MERGE (c)-[:PURCHASED]->(o); 41 | 42 | LOAD CSV WITH HEADERS FROM "https://data.neo4j.com/northwind/order-details.csv" AS row 43 | MATCH (p:Product), (o:Order) 44 | WHERE p.productID = row.productID AND o.orderID = row.orderID 45 | MERGE (o)-[details:ORDERS]->(p) 46 | SET details = row, 47 | details.quantity = toInteger(row.quantity); 48 | -------------------------------------------------------------------------------- /import/categories.csv: -------------------------------------------------------------------------------- 1 | categoryID,categoryName,description,picture 2 | 1,Beverages,"Soft drinks, coffees, teas, beers, and ales",0x151C2F00020000000D000E0014002100FFFFFFFF4269746D617020496D616765005061696E742E5069637475726500010500000200000007000000504272757368000000000000000000A0290000424D98290000000000005600000028000000AC00000078000000010004000000000000000000880B0000880B0000080000 3 | 2,Condiments,"Sweet and savory sauces, relishes, spreads, and seasonings",0x151C2F00020000000D000E0014002100FFFFFFFF4269746D617020496D616765005061696E742E5069637475726500010500000200000007000000504272757368000000000000000000A0290000424D98290000000000005600000028000000AC00000078000000010004000000000000000000880B0000880B0000080000 4 | 3,Confections,"Desserts, candies, and sweet breads",0x151C2F00020000000D000E0014002100FFFFFFFF4269746D617020496D616765005061696E742E5069637475726500010500000200000007000000504272757368000000000000000000A0290000424D98290000000000005600000028000000AC00000078000000010004000000000000000000880B0000880B0000080000 5 | 4,Dairy Products,"Cheeses",0x151C2F00020000000D000E0014002100FFFFFFFF4269746D617020496D616765005061696E742E5069637475726500010500000200000007000000504272757368000000000000000000A0290000424D98290000000000005600000028000000AC00000078000000010004000000000000000000880B0000880B0000080000 6 | 5,Grains/Cereals,"Breads, crackers, pasta, and cereal",0x151C2F00020000000D000E0014002100FFFFFFFF4269746D617020496D616765005061696E742E5069637475726500010500000200000007000000504272757368000000000000000000A0290000424D98290000000000005600000028000000AC00000078000000010004000000000000000000880B0000880B0000080000 7 | 6,Meat/Poultry,"Prepared meats",0x151C2F00020000000D000E0014002100FFFFFFFF4269746D617020496D616765005061696E742E5069637475726500010500000200000007000000504272757368000000000000000000A0290000424D98290000000000005600000028000000AC00000078000000010004000000000000000000880B0000880B0000080000 8 | 7,Produce,"Dried fruit and bean curd",0x151C2F00020000000D000E0014002100FFFFFFFF4269746D617020496D616765005061696E742E5069637475726500010500000200000007000000504272757368000000000000000000A0290000424D98290000000000005600000028000000AC00000078000000010004000000000000000000880B0000880B0000080000 9 | 8,Seafood,"Seaweed and fish",0x151C2F00020000000D000E0014002100FFFFFFFF4269746D617020496D616765005061696E742E5069637475726500010500000200000007000000504272757368000000000000000000A0290000424D98290000000000005600000028000000AC00000078000000010004000000000000000000880B0000880B0000080000 10 | -------------------------------------------------------------------------------- /README.adoc: -------------------------------------------------------------------------------- 1 | :name: northwind 2 | :long-name: Northwind 3 | :description: From RDBMS to Graph, using a classic retail dataset 4 | :icon: documentation/img/northwind-logo.jpg 5 | :tags: example-data, dataset, retail-data, retail,recommendations,northwind 6 | :author: Andreas Kollegger 7 | :demodb: true 8 | :data: import/*.csv 9 | :use-load-script: scripts/northwind.cypher 10 | :use-dump-file: data/northwind-40.dump 11 | :zip-file: false 12 | :use-plugin: false 13 | :target-db-version: 3.5,4.0 14 | :bloom-perspective: bloom/northwind.bloom-perspective 15 | :guide: documentation/northwind.neo4j-browser-guide 16 | :rendered-guide: https://guides.neo4j.com/{name}/index.html 17 | :model: documentation/img/model.svg 18 | :example: documentation/img/example.svg 19 | 20 | :todo: false 21 | image::{icon}[width=100] 22 | 23 | == {long-name} Graph Example 24 | 25 | Description: _{description}_ 26 | 27 | ifeval::[{todo} != false] 28 | To Do: {todo} 29 | endif::[] 30 | 31 | .Model 32 | image::{model}[] 33 | 34 | .Example 35 | image::{example}[width=600] 36 | 37 | .Example Query: 38 | [source,cypher,role=query-example,param-name=category,param-value="Dairy Products",result-column=product,expected-result=Geitost] 39 | ---- 40 | MATCH (p:Product)-[:PART_OF]->(:Category)-[:PARENT*0..]-> 41 | (:Category {categoryName:$category}) 42 | RETURN p.productName as product 43 | ---- 44 | 45 | === Setup 46 | 47 | This is for Neo4j version: {target-db-version} 48 | 49 | ifeval::[{use-plugin} != false] 50 | Required plugins: {use-plugin} 51 | endif::[] 52 | 53 | ifeval::[{demodb} != false] 54 | The database is also available on https://demo.neo4jlabs.com:7473 55 | 56 | Username "{name}", password: "{name}", database: "{name}" 57 | endif::[] 58 | 59 | Rendered guide available via: `:play {rendered-guide}` 60 | 61 | Unrendered guide: link:{guide}[] 62 | 63 | Load graph data via the following: 64 | 65 | ifeval::[{data} != false] 66 | ==== Data files: `{data}` 67 | 68 | Import flat files (csv, json, etc) using Cypher's https://neo4j.com/docs/cypher-manual/current/clauses/load-csv/[`LOAD CSV`], https://neo4j.com/labs/apoc/[APOC library], or https://neo4j.com/developer/data-import/[other methods]. 69 | endif::[] 70 | 71 | ifeval::[{use-dump-file} != false] 72 | ==== Dump file: `{use-dump-file}` 73 | 74 | * Drop the file into the `Files` section of a project in Neo4j Desktop. Then choose the option to `Create new DBMS from dump` option from the file options. 75 | 76 | * Use the neo4j-admin tool to load data from the command line with the command below. 77 | 78 | [source,shell,subs=attributes] 79 | ---- 80 | bin/neo4j-admin load --from {use-dump-file} [--database "database"] 81 | ---- 82 | 83 | * Upload the dump file to Neo4j Aura via https://console.neo4j.io/#import-instructions 84 | endif::[] 85 | 86 | ifeval::[{use-load-script} != false] 87 | ==== Data load script: `{use-load-script}` 88 | 89 | [source,shell,subs=attributes] 90 | ---- 91 | bin/cypher-shell -u neo4j -p "password" -f {use-load-script} [-d "database"] 92 | ---- 93 | 94 | Or import in Neo4j Browser by dragging or pasting the content of {use-load-script}. 95 | endif::[] 96 | 97 | ifeval::[{zip-file} != false] 98 | ==== Zipe file 99 | 100 | Download the zip file link:{repo}/raw/master/{name}.zip[{name}.zip] and add it as "project from file" to https://neo4j.com/developer/neo4j-desktop[Neo4j Desktop^]. 101 | endif::[] 102 | 103 | === Code Examples 104 | 105 | * link:code/javascript/example.js[JavaScript] 106 | * link:code/java/Example.java[Java] 107 | * link:code/csharp/Example.cs[C#] 108 | * link:code/python/example.py[Python] 109 | * link:code/go/example.go[Go] 110 | 111 | === Feedback 112 | 113 | Feel free to submit issues or pull requests for improvement on this repository. -------------------------------------------------------------------------------- /import/suppliers.csv: -------------------------------------------------------------------------------- 1 | supplierID,companyName,contactName,contactTitle,address,city,region,postalCode,country,phone,fax,homePage 2 | 1,Exotic Liquids,Charlotte Cooper,Purchasing Manager,49 Gilbert St.,London,NULL,EC1 4SD,UK,(171) 555-2222,NULL,NULL 3 | 2,New Orleans Cajun Delights,Shelley Burke,Order Administrator,P.O. Box 78934,New Orleans,LA,70117,USA,(100) 555-4822,NULL,#CAJUN.HTM# 4 | 3,Grandma Kelly's Homestead,Regina Murphy,Sales Representative,707 Oxford Rd.,Ann Arbor,MI,48104,USA,(313) 555-5735,(313) 555-3349,NULL 5 | 4,Tokyo Traders,Yoshi Nagase,Marketing Manager,9-8 Sekimai Musashino-shi,Tokyo,NULL,100,Japan,(03) 3555-5011,NULL,NULL 6 | 5,Cooperativa de Quesos 'Las Cabras',Antonio del Valle Saavedra,Export Administrator,Calle del Rosal 4,Oviedo,Asturias,33007,Spain,(98) 598 76 54,NULL,NULL 7 | 6,Mayumi's,Mayumi Ohno,Marketing Representative,92 Setsuko Chuo-ku,Osaka,NULL,545,Japan,(06) 431-7877,NULL,Mayumi's (on the World Wide Web)#http://www.microsoft.com/accessdev/sampleapps/mayumi.htm# 8 | 7,Pavlova, Ltd.,Ian Devling,Marketing Manager,74 Rose St. Moonie Ponds,Melbourne,Victoria,3058,Australia,(03) 444-2343,(03) 444-6588,NULL 9 | 8,Specialty Biscuits, Ltd.,Peter Wilson,Sales Representative,29 King's Way,Manchester,NULL,M14 GSD,UK,(161) 555-4448,NULL,NULL 10 | 9,PB Knäckebröd AB,Lars Peterson,Sales Agent,Kaloadagatan 13,Göteborg,NULL,S-345 67,Sweden,031-987 65 43,031-987 65 91,NULL 11 | 10,Refrescos Americanas LTDA,Carlos Diaz,Marketing Manager,Av. das Americanas 12.890,Sao Paulo,NULL,5442,Brazil,(11) 555 4640,NULL,NULL 12 | 11,Heli Süßwaren GmbH & Co. KG,Petra Winkler,Sales Manager,Tiergartenstraße 5,Berlin,NULL,10785,Germany,(010) 9984510,NULL,NULL 13 | 12,Plutzer Lebensmittelgroßmärkte AG,Martin Bein,International Marketing Mgr.,Bogenallee 51,Frankfurt,NULL,60439,Germany,(069) 992755,NULL,Plutzer (on the World Wide Web)#http://www.microsoft.com/accessdev/sampleapps/plutzer.htm# 14 | 13,Nord-Ost-Fisch Handelsgesellschaft mbH,Sven Petersen,Coordinator Foreign Markets,Frahmredder 112a,Cuxhaven,NULL,27478,Germany,(04721) 8713,(04721) 8714,NULL 15 | 14,Formaggi Fortini s.r.l.,Elio Rossi,Sales Representative,Viale Dante, 75,Ravenna,NULL,48100,Italy,(0544) 60323,(0544) 60603,#FORMAGGI.HTM# 16 | 15,Norske Meierier,Beate Vileid,Marketing Manager,Hatlevegen 5,Sandvika,NULL,1320,Norway,(0)2-953010,NULL,NULL 17 | 16,Bigfoot Breweries,Cheryl Saylor,Regional Account Rep.,3400 - 8th Avenue Suite 210,Bend,OR,97101,USA,(503) 555-9931,NULL,NULL 18 | 17,Svensk Sjöföda AB,Michael Björn,Sales Representative,Brovallavägen 231,Stockholm,NULL,S-123 45,Sweden,08-123 45 67,NULL,NULL 19 | 18,Aux joyeux ecclésiastiques,Guylène Nodier,Sales Manager,203, Rue des Francs-Bourgeois,Paris,NULL,75004,France,(1) 03.83.00.68,(1) 03.83.00.62,NULL 20 | 19,New England Seafood Cannery,Robb Merchant,Wholesale Account Agent,Order Processing Dept. 2100 Paul Revere Blvd.,Boston,MA,02134,USA,(617) 555-3267,(617) 555-3389,NULL 21 | 20,Leka Trading,Chandra Leka,Owner,471 Serangoon Loop, Suite #402,Singapore,NULL,0512,Singapore,555-8787,NULL,NULL 22 | 21,Lyngbysild,Niels Petersen,Sales Manager,Lyngbysild Fiskebakken 10,Lyngby,NULL,2800,Denmark,43844108,43844115,NULL 23 | 22,Zaanse Snoepfabriek,Dirk Luchte,Accounting Manager,Verkoop Rijnweg 22,Zaandam,NULL,9999 ZZ,Netherlands,(12345) 1212,(12345) 1210,NULL 24 | 23,Karkki Oy,Anne Heikkonen,Product Manager,Valtakatu 12,Lappeenranta,NULL,53120,Finland,(953) 10956,NULL,NULL 25 | 24,G'day, Mate,Wendy Mackenzie,Sales Representative,170 Prince Edward Parade Hunter's Hill,Sydney,NSW,2042,Australia,(02) 555-5914,(02) 555-4873,G'day Mate (on the World Wide Web)#http://www.microsoft.com/accessdev/sampleapps/gdaymate.htm# 26 | 25,Ma Maison,Jean-Guy Lauzon,Marketing Manager,2960 Rue St. Laurent,Montréal,Québec,H1J 1C3,Canada,(514) 555-9022,NULL,NULL 27 | 26,Pasta Buttini s.r.l.,Giovanni Giudici,Order Administrator,Via dei Gelsomini, 153,Salerno,NULL,84100,Italy,(089) 6547665,(089) 6547667,NULL 28 | 27,Escargots Nouveaux,Marie Delamare,Sales Manager,22, rue H. Voiron,Montceau,NULL,71300,France,85.57.00.07,NULL,NULL 29 | 28,Gai pâturage,Eliane Noz,Sales Representative,Bat. B 3, rue des Alpes,Annecy,NULL,74000,France,38.76.98.06,38.76.98.58,NULL 30 | 29,Forêts d'érables,Chantal Goulet,Accounting Manager,148 rue Chasseur,Ste-Hyacinthe,Québec,J2S 7S8,Canada,(514) 555-2955,(514) 555-2921,NULL 31 | -------------------------------------------------------------------------------- /documentation/img/model.svg: -------------------------------------------------------------------------------- 1 | Neo4j Graph VisualizationCreated using Neo4j (http://www.neo4j.com/)ORDERSPART_OFSUPPLIESPURCHASED Order Category Customer Product Supplier -------------------------------------------------------------------------------- /import/products.csv: -------------------------------------------------------------------------------- 1 | productID,productName,supplierID,categoryID,quantityPerUnit,unitPrice,unitsInStock,unitsOnOrder,reorderLevel,discontinued 2 | 1,Chai,1,1,10 boxes x 20 bags,18.00,39,0,10,0 3 | 2,Chang,1,1,24 - 12 oz bottles,19.00,17,40,25,0 4 | 3,Aniseed Syrup,1,2,12 - 550 ml bottles,10.00,13,70,25,0 5 | 4,Chef Anton's Cajun Seasoning,2,2,48 - 6 oz jars,22.00,53,0,0,0 6 | 5,Chef Anton's Gumbo Mix,2,2,36 boxes,21.35,0,0,0,1 7 | 6,Grandma's Boysenberry Spread,3,2,12 - 8 oz jars,25.00,120,0,25,0 8 | 7,Uncle Bob's Organic Dried Pears,3,7,12 - 1 lb pkgs.,30.00,15,0,10,0 9 | 8,Northwoods Cranberry Sauce,3,2,12 - 12 oz jars,40.00,6,0,0,0 10 | 9,Mishi Kobe Niku,4,6,18 - 500 g pkgs.,97.00,29,0,0,1 11 | 10,Ikura,4,8,12 - 200 ml jars,31.00,31,0,0,0 12 | 11,Queso Cabrales,5,4,1 kg pkg.,21.00,22,30,30,0 13 | 12,Queso Manchego La Pastora,5,4,10 - 500 g pkgs.,38.00,86,0,0,0 14 | 13,Konbu,6,8,2 kg box,6.00,24,0,5,0 15 | 14,Tofu,6,7,40 - 100 g pkgs.,23.25,35,0,0,0 16 | 15,Genen Shouyu,6,2,24 - 250 ml bottles,15.50,39,0,5,0 17 | 16,Pavlova,7,3,32 - 500 g boxes,17.45,29,0,10,0 18 | 17,Alice Mutton,7,6,20 - 1 kg tins,39.00,0,0,0,1 19 | 18,Carnarvon Tigers,7,8,16 kg pkg.,62.50,42,0,0,0 20 | 19,Teatime Chocolate Biscuits,8,3,10 boxes x 12 pieces,9.20,25,0,5,0 21 | 20,Sir Rodney's Marmalade,8,3,30 gift boxes,81.00,40,0,0,0 22 | 21,Sir Rodney's Scones,8,3,24 pkgs. x 4 pieces,10.00,3,40,5,0 23 | 22,Gustaf's Knäckebröd,9,5,24 - 500 g pkgs.,21.00,104,0,25,0 24 | 23,Tunnbröd,9,5,12 - 250 g pkgs.,9.00,61,0,25,0 25 | 24,Guaraná Fantástica,10,1,12 - 355 ml cans,4.50,20,0,0,1 26 | 25,NuNuCa Nuß-Nougat-Creme,11,3,20 - 450 g glasses,14.00,76,0,30,0 27 | 26,Gumbär Gummibärchen,11,3,100 - 250 g bags,31.23,15,0,0,0 28 | 27,Schoggi Schokolade,11,3,100 - 100 g pieces,43.90,49,0,30,0 29 | 28,Rössle Sauerkraut,12,7,25 - 825 g cans,45.60,26,0,0,1 30 | 29,Thüringer Rostbratwurst,12,6,50 bags x 30 sausgs.,123.79,0,0,0,1 31 | 30,Nord-Ost Matjeshering,13,8,10 - 200 g glasses,25.89,10,0,15,0 32 | 31,Gorgonzola Telino,14,4,12 - 100 g pkgs,12.50,0,70,20,0 33 | 32,Mascarpone Fabioli,14,4,24 - 200 g pkgs.,32.00,9,40,25,0 34 | 33,Geitost,15,4,500 g,2.50,112,0,20,0 35 | 34,Sasquatch Ale,16,1,24 - 12 oz bottles,14.00,111,0,15,0 36 | 35,Steeleye Stout,16,1,24 - 12 oz bottles,18.00,20,0,15,0 37 | 36,Inlagd Sill,17,8,24 - 250 g jars,19.00,112,0,20,0 38 | 37,Gravad lax,17,8,12 - 500 g pkgs.,26.00,11,50,25,0 39 | 38,Côte de Blaye,18,1,12 - 75 cl bottles,263.50,17,0,15,0 40 | 39,Chartreuse verte,18,1,750 cc per bottle,18.00,69,0,5,0 41 | 40,Boston Crab Meat,19,8,24 - 4 oz tins,18.40,123,0,30,0 42 | 41,Jack's New England Clam Chowder,19,8,12 - 12 oz cans,9.65,85,0,10,0 43 | 42,Singaporean Hokkien Fried Mee,20,5,32 - 1 kg pkgs.,14.00,26,0,0,1 44 | 43,Ipoh Coffee,20,1,16 - 500 g tins,46.00,17,10,25,0 45 | 44,Gula Malacca,20,2,20 - 2 kg bags,19.45,27,0,15,0 46 | 45,Rogede sild,21,8,1k pkg.,9.50,5,70,15,0 47 | 46,Spegesild,21,8,4 - 450 g glasses,12.00,95,0,0,0 48 | 47,Zaanse koeken,22,3,10 - 4 oz boxes,9.50,36,0,0,0 49 | 48,Chocolade,22,3,10 pkgs.,12.75,15,70,25,0 50 | 49,Maxilaku,23,3,24 - 50 g pkgs.,20.00,10,60,15,0 51 | 50,Valkoinen suklaa,23,3,12 - 100 g bars,16.25,65,0,30,0 52 | 51,Manjimup Dried Apples,24,7,50 - 300 g pkgs.,53.00,20,0,10,0 53 | 52,Filo Mix,24,5,16 - 2 kg boxes,7.00,38,0,25,0 54 | 53,Perth Pasties,24,6,48 pieces,32.80,0,0,0,1 55 | 54,Tourtière,25,6,16 pies,7.45,21,0,10,0 56 | 55,Pâté chinois,25,6,24 boxes x 2 pies,24.00,115,0,20,0 57 | 56,Gnocchi di nonna Alice,26,5,24 - 250 g pkgs.,38.00,21,10,30,0 58 | 57,Ravioli Angelo,26,5,24 - 250 g pkgs.,19.50,36,0,20,0 59 | 58,Escargots de Bourgogne,27,8,24 pieces,13.25,62,0,20,0 60 | 59,Raclette Courdavault,28,4,5 kg pkg.,55.00,79,0,0,0 61 | 60,Camembert Pierrot,28,4,15 - 300 g rounds,34.00,19,0,0,0 62 | 61,Sirop d'érable,29,2,24 - 500 ml bottles,28.50,113,0,25,0 63 | 62,Tarte au sucre,29,3,48 pies,49.30,17,0,0,0 64 | 63,Vegie-spread,7,2,15 - 625 g jars,43.90,24,0,5,0 65 | 64,Wimmers gute Semmelknödel,12,5,20 bags x 4 pieces,33.25,22,80,30,0 66 | 65,Louisiana Fiery Hot Pepper Sauce,2,2,32 - 8 oz bottles,21.05,76,0,0,0 67 | 66,Louisiana Hot Spiced Okra,2,2,24 - 8 oz jars,17.00,4,100,20,0 68 | 67,Laughing Lumberjack Lager,16,1,24 - 12 oz bottles,14.00,52,0,10,0 69 | 68,Scottish Longbreads,8,3,10 boxes x 8 pieces,12.50,6,10,15,0 70 | 69,Gudbrandsdalsost,15,4,10 kg pkg.,36.00,26,0,15,0 71 | 70,Outback Lager,7,1,24 - 355 ml bottles,15.00,15,10,30,0 72 | 71,Flotemysost,15,4,10 - 500 g pkgs.,21.50,26,0,0,0 73 | 72,Mozzarella di Giovanni,14,4,24 - 200 g pkgs.,34.80,14,0,0,0 74 | 73,Röd Kaviar,17,8,24 - 150 g jars,15.00,101,0,5,0 75 | 74,Longlife Tofu,4,7,5 kg pkg.,10.00,4,20,5,0 76 | 75,Rhönbräu Klosterbier,12,1,24 - 0.5 l bottles,7.75,125,0,25,0 77 | 76,Lakkalikööri,23,1,500 ml,18.00,57,0,20,0 78 | 77,Original Frankfurter grüne Soße,12,2,12 boxes,13.00,32,0,15,0 79 | -------------------------------------------------------------------------------- /bloom/northwind.bloom-perspective: -------------------------------------------------------------------------------- 1 | {"name":"Bloom Edit Demo Perspective 2","id":"7e95e650-97d6-11ea-bd43-2d9e1a3307c1","categories":[{"id":0,"name":"Other","color":"#6B6B6B","size":1,"icon":"no-icon","labels":[],"properties":[],"hiddenLabels":[],"caption":[""]},{"id":1,"name":"Product","color":"#FFE081","size":1,"icon":"FA9AE13A-828B-45DD-AF5A-425015F25808","labels":["Product"],"properties":[{"name":"reorderLevel","exclude":false,"isCaption":false,"dataType":"bigint"},{"name":"unitsInStock","exclude":false,"isCaption":false,"dataType":"bigint"},{"name":"unitPrice","exclude":false,"isCaption":false,"dataType":"number"},{"name":"supplierID","exclude":false,"isCaption":false,"dataType":"string"},{"name":"productID","exclude":false,"isCaption":false,"dataType":"string"},{"name":"discontinued","exclude":false,"isCaption":false,"dataType":"boolean"},{"name":"quantityPerUnit","exclude":false,"isCaption":false,"dataType":"string"},{"name":"categoryID","exclude":false,"isCaption":false,"dataType":"string"},{"name":"unitsOnOrder","exclude":false,"isCaption":false,"dataType":"bigint"},{"name":"productName","exclude":false,"isCaption":true,"dataType":"string"}],"hiddenLabels":[],"caption":[""],"createdAt":1589675809149,"lastEditedAt":1589675950806},{"id":2,"name":"Category","color":"#C990C0","size":1,"icon":"8B7B3E9A-929F-443E-8466-E6C3F4FD02F9","labels":["Category"],"properties":[{"name":"categoryID","exclude":false,"isCaption":false,"dataType":"string"},{"name":"description","exclude":false,"isCaption":false,"dataType":"string"},{"name":"categoryName","exclude":false,"isCaption":true,"dataType":"string"},{"name":"picture","exclude":false,"isCaption":false,"dataType":"string"}],"hiddenLabels":[],"caption":[""],"createdAt":1589675809149,"lastEditedAt":1589675868576},{"id":3,"name":"Supplier","color":"#F79767","size":1,"icon":"CA65F16E-692A-4896-8FBD-D85CB362A435","labels":["Supplier"],"properties":[{"name":"supplierID","exclude":false,"isCaption":false,"dataType":"string"},{"name":"country","exclude":false,"isCaption":false,"dataType":"string"},{"name":"address","exclude":false,"isCaption":false,"dataType":"string"},{"name":"contactTitle","exclude":false,"isCaption":false,"dataType":"string"},{"name":"city","exclude":false,"isCaption":false,"dataType":"string"},{"name":"phone","exclude":false,"isCaption":false,"dataType":"string"},{"name":"contactName","exclude":false,"isCaption":false,"dataType":"string"},{"name":"postalCode","exclude":false,"isCaption":false,"dataType":"string"},{"name":"companyName","exclude":false,"isCaption":true,"dataType":"string"},{"name":"fax","exclude":false,"isCaption":false,"dataType":"string"},{"name":"region","exclude":false,"isCaption":false,"dataType":"string"},{"name":"homePage","exclude":false,"isCaption":false,"dataType":"string"}],"hiddenLabels":[],"caption":[""],"createdAt":1589675809149,"lastEditedAt":1589675961436},{"id":4,"name":"Customer","color":"#57C7E3","size":1,"icon":"1BA78CC1-ED89-46D5-9D2B-D78DC944A59D","labels":["Customer"],"properties":[{"name":"country","exclude":false,"isCaption":false,"dataType":"string"},{"name":"address","exclude":false,"isCaption":false,"dataType":"string"},{"name":"contactTitle","exclude":false,"isCaption":false,"dataType":"string"},{"name":"city","exclude":false,"isCaption":false,"dataType":"string"},{"name":"phone","exclude":false,"isCaption":false,"dataType":"string"},{"name":"contactName","exclude":false,"isCaption":false,"dataType":"string"},{"name":"postalCode","exclude":false,"isCaption":false,"dataType":"string"},{"name":"companyName","exclude":false,"isCaption":true,"dataType":"string"},{"name":"fax","exclude":false,"isCaption":false,"dataType":"string"},{"name":"region","exclude":false,"isCaption":false,"dataType":"string"},{"name":"customerID","exclude":false,"isCaption":false,"dataType":"string"}],"hiddenLabels":[],"caption":[""],"createdAt":1589675809149,"lastEditedAt":1589675871349},{"id":5,"name":"Order","color":"#F16667","size":1,"icon":"70F61422-9E8F-4C3E-9FA2-77EAEFA2E5AA","labels":["Order"],"properties":[{"name":"shipCity","exclude":false,"isCaption":false,"dataType":"string"},{"name":"shipRegion","exclude":false,"isCaption":false,"dataType":"string"},{"name":"shipVia","exclude":false,"isCaption":false,"dataType":"string"},{"name":"shippedDate","exclude":false,"isCaption":false,"dataType":"string"},{"name":"shipAddress","exclude":false,"isCaption":false,"dataType":"string"},{"name":"orderID","exclude":false,"isCaption":true,"dataType":"string"},{"name":"requiredDate","exclude":false,"isCaption":false,"dataType":"string"},{"name":"shipPostalCode","exclude":false,"isCaption":false,"dataType":"string"},{"name":"shipCountry","exclude":false,"isCaption":false,"dataType":"string"},{"name":"freight","exclude":false,"isCaption":false,"dataType":"string"},{"name":"shipName","exclude":false,"isCaption":false,"dataType":"string"},{"name":"employeeID","exclude":false,"isCaption":false,"dataType":"string"},{"name":"orderDate","exclude":false,"isCaption":false,"dataType":"string"},{"name":"customerID","exclude":false,"isCaption":false,"dataType":"string"}],"hiddenLabels":[],"caption":[""],"createdAt":1589675809149,"lastEditedAt":1589675876776}],"categoryIndex":5,"relationshipTypes":[{"name":"PART_OF","id":"PART_OF"},{"name":"SUPPLIES","id":"SUPPLIES"},{"name":"PURCHASED","id":"PURCHASED"},{"properties":[{"propertyKey":"unitPrice","type":"ORDERS","dataType":"string"},{"propertyKey":"productID","type":"ORDERS","dataType":"string"},{"propertyKey":"orderID","type":"ORDERS","dataType":"string"},{"propertyKey":"discount","type":"ORDERS","dataType":"string"},{"propertyKey":"quantity","type":"ORDERS","dataType":"bigint"}],"name":"ORDERS","id":"ORDERS"}],"palette":{"colors":["#FFE081","#C990C0","#F79767","#57C7E3","#F16667","#D9C8AE","#8DCC93","#ECB5C9","#4C8EDA","#FFC454","#DA7194","#569480","#848484","#D9D9D9"],"currentIndex":5},"createdAt":1589675809077,"lastEditedAt":1589675809077,"templates":[],"hiddenRelationshipTypes":[],"hiddenCategories":[],"hideUncategorisedData":false,"parentPerspectiveId":null,"version":"1.3.1"} -------------------------------------------------------------------------------- /import/employees.csv: -------------------------------------------------------------------------------- 1 | employeeID,lastName,firstName,title,titleOfCourtesy,birthDate,hireDate,address,city,region,postalCode,country,homePhone,extension,photo,notes,reportsTo,photoPath 2 | 1,Davolio,Nancy,"Sales Representative",Ms.,1948-12-08 00:00:00.000,1992-05-01 00:00:00.000,507 - 20th Ave. E. Apt. 2A,Seattle,WA,98122,USA,(206) 555-9857,5467,0x151C2F00020000000D000E0014002100FFFFFFFF4269746D617020496D616765005061696E742E506963747572650001050000020000000700000050427275736800000000000000000020540000424D20540000000000007600000028000000C0000000DF0000000100040000000000A0530000CE0E0000D80E0000000000,"Education includes a BA in psychology from Colorado State University in 1970. She also completed ""The Art of the Cold Call."" Nancy is a member of Toastmasters International.",2,http://accweb/emmployees/davolio.bmp 3 | 2,Fuller,Andrew,"Vice President, Sales",Dr.,1952-02-19 00:00:00.000,1992-08-14 00:00:00.000,908 W. Capital Way,Tacoma,WA,98401,USA,(206) 555-9482,3457,0x151C2F00020000000D000E0014002100FFFFFFFF4269746D617020496D616765005061696E742E506963747572650001050000020000000700000050427275736800000000000000000020540000424D20540000000000007600000028000000C0000000DF0000000100040000000000A0530000CE0E0000D80E0000000000,"Andrew received his BTS commercial in 1974 and a Ph.D. in international marketing from the University of Dallas in 1981. He is fluent in French and Italian and reads German. He joined the company as a sales representative, was promoted to sales manager i",NULL,http://accweb/emmployees/fuller.bmp 4 | 3,Leverling,Janet,"Sales Representative",Ms.,1963-08-30 00:00:00.000,1992-04-01 00:00:00.000,722 Moss Bay Blvd.,Kirkland,WA,98033,USA,(206) 555-3412,3355,0x151C2F00020000000D000E0014002100FFFFFFFF4269746D617020496D616765005061696E742E506963747572650001050000020000000700000050427275736800000000000000000080540000424D80540000000000007600000028000000C0000000E0000000010004000000000000540000CE0E0000D80E0000000000,"Janet has a BS degree in chemistry from Boston College (1984). She has also completed a certificate program in food retailing management. Janet was hired as a sales associate in 1991 and promoted to sales representative in February 1992.",2,http://accweb/emmployees/leverling.bmp 5 | 4,Peacock,Margaret,"Sales Representative",Mrs.,1937-09-19 00:00:00.000,1993-05-03 00:00:00.000,4110 Old Redmond Rd.,Redmond,WA,98052,USA,(206) 555-8122,5176,0x151C2F00020000000D000E0014002100FFFFFFFF4269746D617020496D616765005061696E742E506963747572650001050000020000000700000050427275736800000000000000000020540000424D20540000000000007600000028000000C0000000DF0000000100040000000000A0530000CE0E0000D80E0000000000,"Margaret holds a BA in English literature from Concordia College (1958) and an MA from the American Institute of Culinary Arts (1966). She was assigned to the London office temporarily from July through November 1992.",2,http://accweb/emmployees/peacock.bmp 6 | 5,Buchanan,Steven,"Sales Manager",Mr.,1955-03-04 00:00:00.000,1993-10-17 00:00:00.000,14 Garrett Hill,London,NULL,SW1 8JR,UK,(71) 555-4848,3453,0x151C2F00020000000D000E0014002100FFFFFFFF4269746D617020496D616765005061696E742E506963747572650001050000020000000700000050427275736800000000000000000020540000424D20540000000000007600000028000000C0000000DF0000000100040000000000A0530000CE0E0000D80E0000000000,"Steven Buchanan graduated from St. Andrews University, Scotland, with a BSC degree in 1976. Upon joining the company as a sales representative in 1992, he spent 6 months in an orientation program at the Seattle office and then returned to his permanent po",2,http://accweb/emmployees/buchanan.bmp 7 | 6,Suyama,Michael,"Sales Representative",Mr.,1963-07-02 00:00:00.000,1993-10-17 00:00:00.000,Coventry House Miner Rd.,London,NULL,EC2 7JR,UK,(71) 555-7773,428,0x151C2F00020000000D000E0014002100FFFFFFFF4269746D617020496D616765005061696E742E506963747572650001050000020000000700000050427275736800000000000000000020540000424D16540000000000007600000028000000C0000000DF0000000100040000000000A0530000CE0E0000D80E0000000000,"Michael is a graduate of Sussex University (MA, economics, 1983) and the University of California at Los Angeles (MBA, marketing, 1986). He has also taken the courses ""Multi-Cultural Selling"" and ""Time Management for the Sales Professional."" He is fluent",5,http://accweb/emmployees/davolio.bmp 8 | 7,King,Robert,"Sales Representative",Mr.,1960-05-29 00:00:00.000,1994-01-02 00:00:00.000,Edgeham Hollow Winchester Way,London,NULL,RG1 9SP,UK,(71) 555-5598,465,0x151C2F00020000000D000E0014002100FFFFFFFF4269746D617020496D616765005061696E742E506963747572650001050000020000000700000050427275736800000000000000000020540000424D16540000000000007600000028000000C0000000DF0000000100040000000000A0530000CE0E0000D80E0000000000,"Robert King served in the Peace Corps and traveled extensively before completing his degree in English at the University of Michigan in 1992, the year he joined the company. After completing a course entitled ""Selling in Europe,"" he was transferred to the",5,http://accweb/emmployees/davolio.bmp 9 | 8,Callahan,Laura,"Inside Sales Coordinator",Ms.,1958-01-09 00:00:00.000,1994-03-05 00:00:00.000,4726 - 11th Ave. N.E.,Seattle,WA,98105,USA,(206) 555-1189,2344,0x151C2F00020000000D000E0014002100FFFFFFFF4269746D617020496D616765005061696E742E506963747572650001050000020000000700000050427275736800000000000000000020540000424D16540000000000007600000028000000C0000000DF0000000100040000000000A0530000CE0E0000D80E0000000000,"Laura received a BA in psychology from the University of Washington. She has also completed a course in business French. She reads and writes French.",2,http://accweb/emmployees/davolio.bmp 10 | 9,Dodsworth,Anne,"Sales Representative",Ms.,1966-01-27 00:00:00.000,1994-11-15 00:00:00.000,7 Houndstooth Rd.,London,NULL,WG2 7LT,UK,(71) 555-4444,452,0x151C2F00020000000D000E0014002100FFFFFFFF4269746D617020496D616765005061696E742E506963747572650001050000020000000700000050427275736800000000000000000020540000424D16540000000000007600000028000000C0000000DF0000000100040000000000A0530000CE0E0000D80E0000000000,"Anne has a BA degree in English from St. Lawrence College. She is fluent in French and German.",5,http://accweb/emmployees/davolio.bmp 11 | -------------------------------------------------------------------------------- /documentation/northwind-old.adoc: -------------------------------------------------------------------------------- 1 | = Northwind Graph 2 | :neo4j-version: 2.3.0 3 | 4 | == From RDBMS to Graph, using a classic dataset 5 | 6 | The__Northwind Graph__ demonstrates how to migrate from a relational 7 | database to Neo4j. The transformation is iterative and deliberate, 8 | emphasizing the conceptual shift from relational tables to the nodes and 9 | relationships of a graph. 10 | 11 | This guide will show you how to: 12 | 13 | 1. Load: create data from external CSV files 14 | 2. Index: index nodes based on label 15 | 3. Relate: transform foreign key references into data relationships 16 | 4. Promote: transform join records into relationships 17 | 18 | 19 | == Product Catalog 20 | 21 | Northwind sells food products in a few categories, provided by 22 | suppliers. Let's start by loading the product catalog tables. 23 | 24 | The load statements to the right require public internet 25 | access.`LOAD CSV` will retrieve a CSV file from a valid URL, applying a 26 | Cypher statement to each row using a named map (here we're using the 27 | name `row`). 28 | 29 | image:https://dev.assets.neo4j.com/wp-content/uploads/20160211151109/product-category-supplier.png[image] 30 | 31 | === Create Constraints 32 | 33 | .Create constraints for the nodes 34 | [source,cypher] 35 | ---- 36 | CREATE CONSTRAINT product_productID IF NOT EXISTS FOR (p:Product) REQUIRE (p.productID) IS UNIQUE; 37 | CREATE CONSTRAINT category_categoryID IF NOT EXISTS FOR (c:Category) REQUIRE (c.categoryID) IS UNIQUE; 38 | CREATE CONSTRAINT supplier_supplierID IF NOT EXISTS FOR (s:Supplier) REQUIRE (s.supplierID) IS UNIQUE; 39 | ---- 40 | 41 | === Load records 42 | 43 | .Load products 44 | [source,cypher] 45 | ---- 46 | LOAD CSV WITH HEADERS FROM "https://data.neo4j.com/northwind/products.csv" AS row 47 | CREATE (n:Product) 48 | SET n = row, 49 | n.unitPrice = toFloat(row.unitPrice), 50 | n.unitsInStock = toInteger(row.unitsInStock), n.unitsOnOrder = toInteger(row.unitsOnOrder), 51 | n.reorderLevel = toInteger(row.reorderLevel), n.discontinued = (row.discontinued <> "0") 52 | ---- 53 | 54 | .Load categories 55 | [source,cypher] 56 | ---- 57 | LOAD CSV WITH HEADERS FROM "https://data.neo4j.com/northwind/categories.csv" AS row 58 | CREATE (n:Category) 59 | SET n = row 60 | ---- 61 | 62 | .Load suppliers 63 | [source,cypher] 64 | ---- 65 | LOAD CSV WITH HEADERS FROM "https://data.neo4j.com/northwind/suppliers.csv" AS row 66 | CREATE (n:Supplier) 67 | SET n = row 68 | ---- 69 | 70 | == Product Catalog Graph 71 | 72 | The products, categories and suppliers are related through foreign key 73 | references. Let's promote those to data relationships to realize the 74 | graph. 75 | 76 | image:https://dev.assets.neo4j.com/wp-content/uploads/20160211151108/product-graph.png[image] 77 | 78 | === Create data relationships 79 | 80 | .Connect products to categories 81 | [source,cypher] 82 | ---- 83 | MATCH (p:Product),(c:Category) 84 | WHERE p.categoryID = c.categoryID 85 | CREATE (p)-[:PART_OF]->(c) 86 | ---- 87 | 88 | Note you only need to compare property values like this when first 89 | creating relationships 90 | 91 | Calculate join, materialize relationship. 92 | (See https://neo4j.com/developer/guide-importing-data-and-etl[importing guide] for more details) 93 | 94 | .Connect products to suppliers 95 | [source,cypher] 96 | ---- 97 | MATCH (p:Product),(s:Supplier) 98 | WHERE p.supplierID = s.supplierID 99 | CREATE (s)-[:SUPPLIES]->(p) 100 | ---- 101 | 102 | Note you only need to compare property values like this when first 103 | creating relationships 104 | 105 | == Querying Product Catalog Graph 106 | 107 | Lets try some queries using patterns. 108 | 109 | image:https://dev.assets.neo4j.com/wp-content/uploads/20160211151108/product-graph.png[image] 110 | 111 | === Query using patterns 112 | 113 | 114 | 115 | .List the product categories provided by each supplier 116 | [source,cypher] 117 | ---- 118 | MATCH (s:Supplier)-->(:Product)-->(c:Category) 119 | RETURN s.companyName as Company, collect(distinct c.categoryName) as Categories 120 | ---- 121 | //table 122 | 123 | .List suppliers for the "Produce" category 124 | [source,cypher] 125 | ---- 126 | MATCH (c:Category {categoryName:"Produce"})<--(:Product)<--(s:Supplier) 127 | RETURN DISTINCT s.companyName as ProduceSuppliers 128 | ---- 129 | //table 130 | 131 | Find the produce suppliers. 132 | 133 | == Customer Orders 134 | 135 | Northwind customers place orders which may detail multiple 136 | products. 137 | 138 | image::https://dev.assets.neo4j.com/wp-content/uploads/20160211151108/customer-orders.png[] 139 | 140 | === Load and index records 141 | 142 | .Create constraints for nodes 143 | [source,cypher] 144 | ---- 145 | CREATE CONSTRAINT customer_customerID IF NOT EXISTS FOR (c:Customer) REQUIRE (c.customerID) IS UNIQUE; 146 | CREATE CONSTRAINT order_orderID IF NOT EXISTS FOR (o:Order) REQUIRE (o.orderID) IS UNIQUE; 147 | ---- 148 | 149 | .Load customers 150 | [source,cypher] 151 | ---- 152 | LOAD CSV WITH HEADERS FROM "https://data.neo4j.com/northwind/customers.csv" AS row 153 | CREATE (n:Customer) 154 | SET n = row 155 | ---- 156 | 157 | .Load orders 158 | [source,cypher] 159 | ---- 160 | LOAD CSV WITH HEADERS FROM "https://data.neo4j.com/northwind/orders.csv" AS row 161 | CREATE (n:Order) 162 | SET n = row 163 | ---- 164 | 165 | == Create data relationships 166 | 167 | .Connect customers to their orders 168 | [source,cypher] 169 | ---- 170 | MATCH (c:Customer),(o:Order) 171 | WHERE c.customerID = o.customerID 172 | CREATE (c)-[:PURCHASED]->(o) 173 | ---- 174 | 175 | Note you only need to compare property values like this when first 176 | creating relationships 177 | 178 | == Customer Order Graph 179 | 180 | Notice that Order Details are always part of an Order and that 181 | they__relate__ the Order to a Product — they're a join table. Join 182 | tables are always a sign of a data relationship, indicating shared 183 | information between two other records. 184 | 185 | Here, we'll directly promote each OrderDetail record into a relationship 186 | in the graph. image:https://dev.assets.neo4j.com/wp-content/uploads/20160211151107/order-graph.png[] 187 | 188 | 189 | === Load and index records 190 | 191 | .Load order details and use them to connect orders to products 192 | [source,cypher] 193 | ---- 194 | LOAD CSV WITH HEADERS FROM "https://data.neo4j.com/northwind/order-details.csv" AS row 195 | MATCH (p:Product), (o:Order) 196 | WHERE p.productID = row.productID AND o.orderID = row.orderID 197 | CREATE (o)-[details:ORDERS]->(p) 198 | SET details = row, 199 | details.quantity = toInteger(row.quantity) 200 | ---- 201 | 202 | Note you only need to compare property values like this when first 203 | creating relationships 204 | 205 | == Query using patterns 206 | 207 | .Find total quantity per customer in the "Produce" category 208 | [source,cypher] 209 | ---- 210 | MATCH (cust:Customer)-[:PURCHASED]->(:Order)-[o:ORDERS]->(p:Product), 211 | (p)-[:PART_OF]->(c:Category {categoryName:"Produce"}) 212 | RETURN DISTINCT cust.contactName as CustomerName, SUM(o.quantity) AS TotalProductsPurchased 213 | ---- 214 | //table 215 | 216 | _More Resources_ 217 | 218 | * https://neo4j.com/developer/guide-importing-data-and-etl/[Full 219 | Northwind import example] 220 | * https://neo4j.com/developer[Developer resources] 221 | 222 | -------------------------------------------------------------------------------- /import/customers.csv: -------------------------------------------------------------------------------- 1 | customerID,companyName,contactName,contactTitle,address,city,region,postalCode,country,phone,fax 2 | ALFKI,Alfreds Futterkiste,Maria Anders,Sales Representative,Obere Str. 57,Berlin,NULL,12209,Germany,030-0074321,030-0076545 3 | ANATR,Ana Trujillo Emparedados y helados,Ana Trujillo,Owner,Avda. de la Constitución 2222,México D.F.,NULL,5021,Mexico,(5) 555-4729,(5) 555-3745 4 | ANTON,Antonio Moreno Taquería,Antonio Moreno,Owner,Mataderos 2312,México D.F.,NULL,5023,Mexico,(5) 555-3932,NULL 5 | AROUT,Around the Horn,Thomas Hardy,Sales Representative,120 Hanover Sq.,London,NULL,WA1 1DP,UK,(171) 555-7788,(171) 555-6750 6 | BERGS,Berglunds snabbköp,Christina Berglund,Order Administrator,Berguvsvägen 8,Luleå,NULL,S-958 22,Sweden,0921-12 34 65,0921-12 34 67 7 | BLAUS,Blauer See Delikatessen,Hanna Moos,Sales Representative,Forsterstr. 57,Mannheim,NULL,68306,Germany,0621-08460,0621-08924 8 | BLONP,Blondesddsl père et fils,Frédérique Citeaux,Marketing Manager,"24, place Kléber",Strasbourg,NULL,67000,France,88.60.15.31,88.60.15.32 9 | BOLID,Bólido Comidas preparadas,Martín Sommer,Owner,"C/ Araquil, 67",Madrid,NULL,28023,Spain,(91) 555 22 82,(91) 555 91 99 10 | BONAP,Bon app',Laurence Lebihan,Owner," 12, rue des Bouchers",Marseille,NULL,13008,France,91.24.45.40,91.24.45.41 11 | BOTTM,Bottom-Dollar Markets,Elizabeth Lincoln,Accounting Manager,23 Tsawassen Blvd.,Tsawassen,BC,T2F 8M4,Canada,(604) 555-4729,(604) 555-3745 12 | BSBEV,B's Beverages,Victoria Ashworth,Sales Representative,Fauntleroy Circus,London,NULL,EC2 5NT,UK,(171) 555-1212,NULL 13 | CACTU,Cactus Comidas para llevar,Patricio Simpson,Sales Agent,Cerrito 333,Buenos Aires,NULL,1010,Argentina,(1) 135-5555,(1) 135-4892 14 | CENTC,Centro comercial Moctezuma,Francisco Chang,Marketing Manager,Sierras de Granada 9993,México D.F.,NULL,5022,Mexico,(5) 555-3392,(5) 555-7293 15 | CHOPS,Chop-suey Chinese,Yang Wang,Owner,Hauptstr. 29,Bern,NULL,3012,Switzerland,0452-076545,NULL 16 | COMMI,Comércio Mineiro,Pedro Afonso,Sales Associate,"Av. dos Lusíadas, 23",Sao Paulo,SP,05432-043,Brazil,(11) 555-7647,NULL 17 | CONSH,Consolidated Holdings,Elizabeth Brown,Sales Representative,Berkeley Gardens 12 Brewery,London,NULL,WX1 6LT,UK,(171) 555-2282,(171) 555-9199 18 | DRACD,Drachenblut Delikatessen,Sven Ottlieb,Order Administrator,Walserweg 21,Aachen,NULL,52066,Germany,0241-039123,0241-059428 19 | DUMON,Du monde entier,Janine Labrune,Owner," 67, rue des Cinquante Otages",Nantes,NULL,44000,France,40.67.88.88,40.67.89.89 20 | EASTC,Eastern Connection,Ann Devon,Sales Agent,35 King George,London,NULL,WX3 6FW,UK,(171) 555-0297,(171) 555-3373 21 | ERNSH,Ernst Handel,Roland Mendel,Sales Manager,Kirchgasse 6,Graz,NULL,8010,Austria,7675-3425,7675-3426 22 | FAMIA,Familia Arquibaldo,Aria Cruz,Marketing Assistant,"Rua Orós, 92",Sao Paulo,SP,05442-030,Brazil,(11) 555-9857,NULL 23 | FISSA,FISSA Fabrica Inter. Salchichas S.A.,Diego Roel,Accounting Manager,"C/ Moralzarzal, 86",Madrid,NULL,28034,Spain,(91) 555 94 44,(91) 555 55 93 24 | FOLIG,Folies gourmandes,Martine Rancé,Assistant Sales Agent,"184, chaussée de Tournai",Lille,NULL,59000,France,20.16.10.16,20.16.10.17 25 | FOLKO,Folk och fä HB,Maria Larsson,Owner,Åkergatan 24,Bräcke,NULL,S-844 67,Sweden,0695-34 67 21,NULL 26 | FRANK,Frankenversand,Peter Franken,Marketing Manager,Berliner Platz 43,München,NULL,80805,Germany,089-0877310,089-0877451 27 | FRANR,France restauration,Carine Schmitt,Marketing Manager," 54, rue Royale",Nantes,NULL,44000,France,40.32.21.21,40.32.21.20 28 | FRANS,Franchi S.p.A.,Paolo Accorti,Sales Representative,Via Monte Bianco 34,Torino,NULL,10100,Italy,011-4988260,011-4988261 29 | FURIB,Furia Bacalhau e Frutos do Mar,Lino Rodriguez,Sales Manager,Jardim das rosas n. 32,Lisboa,NULL,1675,Portugal,(1) 354-2534,(1) 354-2535 30 | GALED,Galería del gastrónomo,Eduardo Saavedra,Marketing Manager,"Rambla de Cataluña, 23",Barcelona,NULL,8022,Spain,(93) 203 4560,(93) 203 4561 31 | GODOS,Godos Cocina Típica,José Pedro Freyre,Sales Manager,"C/ Romero, 33",Sevilla,NULL,41101,Spain,(95) 555 82 82,NULL 32 | GOURL,Gourmet Lanchonetes,André Fonseca,Sales Associate,"Av. Brasil, 442",Campinas,SP,04876-786,Brazil,(11) 555-9482,NULL 33 | GREAL,Great Lakes Food Market,Howard Snyder,Marketing Manager,2732 Baker Blvd.,Eugene,OR,97403,USA,(503) 555-7555,NULL 34 | GROSR,GROSELLA-Restaurante,Manuel Pereira,Owner,5ª Ave. Los Palos Grandes,Caracas,DF,1081,Venezuela,(2) 283-2951,(2) 283-3397 35 | HANAR,Hanari Carnes,Mario Pontes,Accounting Manager,"Rua do Paço, 67",Rio de Janeiro,RJ,05454-876,Brazil,(21) 555-0091,(21) 555-8765 36 | HILAA,HILARION-Abastos,Carlos Hernández,Sales Representative,Carrera 22 con Ave. Carlos Soublette #8-35,San Cristóbal,Táchira,5022,Venezuela,(5) 555-1340,(5) 555-1948 37 | HUNGC,Hungry Coyote Import Store,Yoshi Latimer,Sales Representative,City Center Plaza 516 Main St.,Elgin,OR,97827,USA,(503) 555-6874,(503) 555-2376 38 | HUNGO,Hungry Owl All-Night Grocers,Patricia McKenna,Sales Associate,8 Johnstown Road,Cork,Co. Cork,NULL,Ireland,2967 542,2967 3333 39 | ISLAT,Island Trading,Helen Bennett,Marketing Manager,Garden House Crowther Way,Cowes,Isle of Wight,PO31 7PJ,UK,(198) 555-8888,NULL 40 | KOENE,Königlich Essen,Philip Cramer,Sales Associate,Maubelstr. 90,Brandenburg,NULL,14776,Germany,0555-09876,NULL 41 | LACOR,La corne d'abondance,Daniel Tonini,Sales Representative," 67, avenue de l'Europe",Versailles,NULL,78000,France,30.59.84.10,30.59.85.11 42 | LAMAI,La maison d'Asie,Annette Roulet,Sales Manager,1 rue Alsace-Lorraine,Toulouse,NULL,31000,France,61.77.61.10,61.77.61.11 43 | LAUGB,Laughing Bacchus Wine Cellars,Yoshi Tannamuri,Marketing Assistant,1900 Oak St.,Vancouver,BC,V3F 2K1,Canada,(604) 555-3392,(604) 555-7293 44 | LAZYK,Lazy K Kountry Store,John Steel,Marketing Manager,12 Orchestra Terrace,Walla Walla,WA,99362,USA,(509) 555-7969,(509) 555-6221 45 | LEHMS,Lehmanns Marktstand,Renate Messner,Sales Representative,Magazinweg 7,Frankfurt a.M.,NULL,60528,Germany,069-0245984,069-0245874 46 | LETSS,Let's Stop N Shop,Jaime Yorres,Owner,87 Polk St. Suite 5,San Francisco,CA,94117,USA,(415) 555-5938,NULL 47 | LILAS,LILA-Supermercado,Carlos González,Accounting Manager,Carrera 52 con Ave. Bolívar #65-98 Llano Largo,Barquisimeto,Lara,3508,Venezuela,(9) 331-6954,(9) 331-7256 48 | LINOD,LINO-Delicateses,Felipe Izquierdo,Owner,Ave. 5 de Mayo Porlamar,I. de Margarita,Nueva Esparta,4980,Venezuela,(8) 34-56-12,(8) 34-93-93 49 | LONEP,Lonesome Pine Restaurant,Fran Wilson,Sales Manager,89 Chiaroscuro Rd.,Portland,OR,97219,USA,(503) 555-9573,(503) 555-9646 50 | MAGAA,Magazzini Alimentari Riuniti,Giovanni Rovelli,Marketing Manager,Via Ludovico il Moro 22,Bergamo,NULL,24100,Italy,035-640230,035-640231 51 | MAISD,Maison Dewey,Catherine Dewey,Sales Agent,Rue Joseph-Bens 532,Bruxelles,NULL,B-1180,Belgium,(02) 201 24 67,(02) 201 24 68 52 | MEREP,Mère Paillarde,Jean Fresnière,Marketing Assistant,43 rue St. Laurent,Montréal,Québec,H1J 1C3,Canada,(514) 555-8054,(514) 555-8055 53 | MORGK,Morgenstern Gesundkost,Alexander Feuer,Marketing Assistant,Heerstr. 22,Leipzig,NULL,4179,Germany,0342-023176,NULL 54 | NORTS,North/South,Simon Crowther,Sales Associate,South House 300 Queensbridge,London,NULL,SW7 1RZ,UK,(171) 555-7733,(171) 555-2530 55 | OCEAN,Océano Atlántico Ltda.,Yvonne Moncada,Sales Agent,Ing. Gustavo Moncada 8585 Piso 20-A,Buenos Aires,NULL,1010,Argentina,(1) 135-5333,(1) 135-5535 56 | OLDWO,Old World Delicatessen,Rene Phillips,Sales Representative,2743 Bering St.,Anchorage,AK,99508,USA,(907) 555-7584,(907) 555-2880 57 | OTTIK,Ottilies Käseladen,Henriette Pfalzheim,Owner,Mehrheimerstr. 369,Köln,NULL,50739,Germany,0221-0644327,0221-0765721 58 | PARIS,Paris spécialités,Marie Bertrand,Owner,"265, boulevard Charonne",Paris,NULL,75012,France,(1) 42.34.22.66,(1) 42.34.22.77 59 | PERIC,Pericles Comidas clásicas,Guillermo Fernández,Sales Representative,Calle Dr. Jorge Cash 321,México D.F.,NULL,5033,Mexico,(5) 552-3745,(5) 545-3745 60 | PICCO,Piccolo und mehr,Georg Pipps,Sales Manager,Geislweg 14,Salzburg,NULL,5020,Austria,6562-9722,6562-9723 61 | PRINI,Princesa Isabel Vinhos,Isabel de Castro,Sales Representative,Estrada da saúde n. 58,Lisboa,NULL,1756,Portugal,(1) 356-5634,NULL 62 | QUEDE,Que Delícia,Bernardo Batista,Accounting Manager,"Rua da Panificadora, 12",Rio de Janeiro,RJ,02389-673,Brazil,(21) 555-4252,(21) 555-4545 63 | QUEEN,Queen Cozinha,Lúcia Carvalho,Marketing Assistant,"Alameda dos Canàrios, 891",Sao Paulo,SP,05487-020,Brazil,(11) 555-1189,NULL 64 | QUICK,QUICK-Stop,Horst Kloss,Accounting Manager,Taucherstraße 10,Cunewalde,NULL,1307,Germany,0372-035188,NULL 65 | RANCH,Rancho grande,Sergio Gutiérrez,Sales Representative,Av. del Libertador 900,Buenos Aires,NULL,1010,Argentina,(1) 123-5555,(1) 123-5556 66 | RATTC,Rattlesnake Canyon Grocery,Paula Wilson,Assistant Sales Representative,2817 Milton Dr.,Albuquerque,NM,87110,USA,(505) 555-5939,(505) 555-3620 67 | REGGC,Reggiani Caseifici,Maurizio Moroni,Sales Associate,Strada Provinciale 124,Reggio Emilia,NULL,42100,Italy,0522-556721,0522-556722 68 | RICAR,Ricardo Adocicados,Janete Limeira,Assistant Sales Agent,"Av. Copacabana, 267",Rio de Janeiro,RJ,02389-890,Brazil,(21) 555-3412,NULL 69 | RICSU,Richter Supermarkt,Michael Holz,Sales Manager,Grenzacherweg 237,Genève,NULL,1203,Switzerland,0897-034214,NULL 70 | ROMEY,Romero y tomillo,Alejandra Camino,Accounting Manager,"Gran Vía, 1",Madrid,NULL,28001,Spain,(91) 745 6200,(91) 745 6210 71 | SANTG,Santé Gourmet,Jonas Bergulfsen,Owner,Erling Skakkes gate 78,Stavern,NULL,4110,Norway,07-98 92 35,07-98 92 47 72 | SAVEA,Save-a-lot Markets,Jose Pavarotti,Sales Representative,187 Suffolk Ln.,Boise,ID,83720,USA,(208) 555-8097,NULL 73 | SEVES,Seven Seas Imports,Hari Kumar,Sales Manager,90 Wadhurst Rd.,London,NULL,OX15 4NB,UK,(171) 555-1717,(171) 555-5646 74 | SIMOB,Simons bistro,Jytte Petersen,Owner,Vinbæltet 34,Kobenhavn,NULL,1734,Denmark,31 12 34 56,31 13 35 57 75 | SPECD,Spécialités du monde,Dominique Perrier,Marketing Manager,"25, rue Lauriston",Paris,NULL,75016,France,(1) 47.55.60.10,(1) 47.55.60.20 76 | SPLIR,Split Rail Beer & Ale,Art Braunschweiger,Sales Manager,P.O. Box 555,Lander,WY,82520,USA,(307) 555-4680,(307) 555-6525 77 | SUPRD,Suprêmes délices,Pascale Cartrain,Accounting Manager,"Boulevard Tirou, 255",Charleroi,NULL,B-6000,Belgium,(071) 23 67 22 20,(071) 23 67 22 21 78 | THEBI,The Big Cheese,Liz Nixon,Marketing Manager,89 Jefferson Way Suite 2,Portland,OR,97201,USA,(503) 555-3612,NULL 79 | THECR,The Cracker Box,Liu Wong,Marketing Assistant,55 Grizzly Peak Rd.,Butte,MT,59801,USA,(406) 555-5834,(406) 555-8083 80 | TOMSP,Toms Spezialitäten,Karin Josephs,Marketing Manager,Luisenstr. 48,Münster,NULL,44087,Germany,0251-031259,0251-035695 81 | TORTU,Tortuga Restaurante,Miguel Angel Paolino,Owner,Avda. Azteca 123,México D.F.,NULL,5033,Mexico,(5) 555-2933,NULL 82 | TRADH,Tradição Hipermercados,Anabela Domingues,Sales Representative,"Av. Inês de Castro, 414",Sao Paulo,SP,05634-030,Brazil,(11) 555-2167,(11) 555-2168 83 | TRAIH,Trail's Head Gourmet Provisioners,Helvetius Nagy,Sales Associate,722 DaVinci Blvd.,Kirkland,WA,98034,USA,(206) 555-8257,(206) 555-2174 84 | VAFFE,Vaffeljernet,Palle Ibsen,Sales Manager,Smagsloget 45,Århus,NULL,8200,Denmark,86 21 32 43,86 22 33 44 85 | VICTE,Victuailles en stock,Mary Saveley,Sales Agent," 2, rue du Commerce",Lyon,NULL,69004,France,78.32.54.86,78.32.54.87 86 | VINET,Vins et alcools Chevalier,Paul Henriot,Accounting Manager,59 rue de l'Abbaye,Reims,NULL,51100,France,26.47.15.10,26.47.15.11 87 | WANDK,Die Wandernde Kuh,Rita Müller,Sales Representative,Adenauerallee 900,Stuttgart,NULL,70563,Germany,0711-020361,0711-035428 88 | WARTH,Wartian Herkku,Pirkko Koskitalo,Accounting Manager,Torikatu 38,Oulu,NULL,90110,Finland,981-443655,981-443655 89 | WELLI,Wellington Importadora,Paula Parente,Sales Manager,"Rua do Mercado, 12",Resende,SP,08737-363,Brazil,(14) 555-8122,NULL 90 | WHITC,White Clover Markets,Karl Jablonski,Owner,305 - 14th Ave. S. Suite 3B,Seattle,WA,98128,USA,(206) 555-4112,(206) 555-4115 91 | WILMK,Wilman Kala,Matti Karttunen,Owner/Marketing Assistant,Keskuskatu 45,Helsinki,NULL,21240,Finland,90-224 8858,90-224 8858 92 | WOLZA,Wolski Zajazd,Zbyszek Piestrzeniewicz,Owner,ul. Filtrowa 68,Warszawa,NULL,01-012,Poland,(26) 642-7012,(26) 642-7012 93 | -------------------------------------------------------------------------------- /workspace/northwind.adoc: -------------------------------------------------------------------------------- 1 | = Learn graph fundamentals with Neo4j 2 | 3 | 4 | == Get started 5 | 6 | This guide teaches you about the power of graph databases. 7 | It is the recommended starting place for all new users as it touches upon the concepts and tools you need to work with graphs. 8 | 9 | === What you will learn 10 | 11 | This guide takes around 10 minutes and by the end of it you will able to: 12 | 13 | - Understand the _graph property model_ and what problems it can help you solve. 14 | - Convert an understanding of a relational database model to a graph. 15 | - Import and model data from CSV files and map them to a graph. 16 | - Visually explore that data, without code, in a graph. 17 | - Write your first simple graph queries using _Cypher_. 18 | 19 | === Get started! 20 | 21 | You are going to use the classic relational dataset known as Northwind and bring the fictional company into a graph-enabled future. 22 | 23 | 24 | == What is a graph? 25 | 26 | === Concepts 27 | 28 | A graph database stores _nodes_ (`Supplier`, `Product`, etc) and their _relationships_ (e.g. `Supplier SUPPLIES Product`). 29 | 30 | Other types of databases may use tables and documents, but in a graph, data is stored in the same way as you may sketch ideas on a whiteboard. 31 | 32 | image::https://github.com/neo4j-graph-examples/northwind/raw/main/documentation/img/model.svg[] 33 | 34 | In relational databases, you are often required to add explicit joins to your queries. 35 | In doing this, relationships are calculated at runtime, which can be an expensive and slow operation. 36 | 37 | In a graph, where the relationships are stored, many powerful operations are faster and simpler. 38 | 39 | === Schema-free 40 | 41 | In a relational database, you must define your schema (the structure of the data). 42 | In a graph, your data is managed without restricting it to a predefined schema. 43 | This allows more flexibility in thinking about the data and in evolving it. 44 | 45 | == Nodes, properties, relationships 46 | 47 | The nodes and relationships in your graph can have _types_ and _properties_. 48 | 49 | === Nodes and properties 50 | 51 | Nodes can be tagged with _labels_, representing their different roles in your dataset (e.g. `Supplier`, `Employee`, `Customer`). 52 | They can also have any number of key-value pairs as _properties_ (e.g. `name:"Camembert Pierrot"`). 53 | 54 | === Relationships 55 | 56 | _Relationships_ provide directed, typed, or attributed, connections between two node entities (e.g. `Shipper SHIPS Order`). 57 | 58 | Relationships always have a _direction_, a _type_, a start node, and an end node. 59 | They can also have properties, just like nodes. 60 | 61 | Nodes can have any number of relationships without sacrificing performance. 62 | 63 | Although relationships are always directed, they can be navigated efficiently in any direction. 64 | In this example, you can find who shipped an order and you can also reverse that and find what orders were shipped. 65 | 66 | 67 | == Re-imagining a classic (Northwind) 68 | 69 | // await signals.emit(SIGNAL_NAME.WorkspaceNavigate, { scope: APP_SCOPE.import }); 70 | 71 | image::https://neo4j-graph-examples.github.io/northwind/documentation/img/product-category-supplier.png[] 72 | 73 | The classic Northwind dataset represents an online shop. 74 | You are now going to transform this relational database into a graph database. 75 | 76 | image::https://neo4j-graph-examples.github.io/northwind/documentation/img/product-graph.png[] 77 | 78 | //// 79 | TODO: diagram of Northwind customer, order, and product 80 | image::https://github.com/neo4j-graph-examples/northwind/blob/main/documentation/img/example.svg[] 81 | //// 82 | 83 | Click the link below to download a zip file with the CSV files and an initial graph model prepared for you. Once saved to your computer you can use the data importer to upload it. 84 | 85 | https://github.com/neo4j-graph-examples/northwind/blob/main/import/northwind-data-importer-mode-data.zip?raw=true[Download Northwind sample data zip file] 86 | 87 | From the _Import_ tab, drag the zip file into the the import sidebar on the left. 88 | 89 | You can now see the CSV files from Northwind's tables represented as a graph model. 90 | The mappings for these files are already prepared for you. 91 | 92 | Notice the relationships connecting the nodes, e.g. a `Customer PURCHASED an Order` and the `Order CONTAINED Products`. 93 | 94 | image::https://neo4j-graph-examples.github.io/northwind/documentation/img/model.svg[] 95 | 96 | 97 | == Finish the Northwind import 98 | 99 | For each node and relationship in the model you can see which parts of the CSV file are mapped to which properties. 100 | 101 | Source and target IDs from the original join tables or foreign keys are used to create relationships to connect nodes. 102 | 103 | The model is interactive; you can click around and explore its nodes and relationships. 104 | 105 | === Preview your data import 106 | 107 | You can see a preview of the data import by clicking the _Preview Graph_ button. 108 | This allows you to check node labels, the property names and values, and the relationship types and directions. 109 | 110 | If you're satisfied, click the _Run Import_ button to load your data into your graph. 111 | 112 | If something goes wrong, keep in mind that the tool can import the same data multiple times and you can reset your database to blank in the AuraDB Console. 113 | 114 | // A/B Test: TBD we could leave off one simple mapping, e.g. shipper and let the user do it (or prepare the node without mapping the rel and properties (but pick one that lends itself well to auto-mapping) in an area of the model that is non-crucial for later steps but not sure if that would have too many folks fail here 115 | 116 | === Explore your data 117 | 118 | After you have imported the Northwind dataset, click the _Explore the Import Results_ button in the report popup or switch to the _Explore_ tab. 119 | 120 | Next you are going to see the power of graph visualization. 121 | 122 | // TODO button switch to explore 123 | 124 | 125 | == Explore your graph 126 | 127 | With the data in a graph, it is time to get familiar with the _Explore_ tab. 128 | 129 | The `Show me a graph` Search Phrase runs automatically to show an example subset of the data. 130 | The visualized graph represents the relationships in the data in an intuitive way. 131 | 132 | [NOTE] 133 | ==== 134 | You can also run the _Show me a graph_ example Search Phrase yourself by typing the _Show me a graph_ in the top-left search bar. 135 | ==== 136 | 137 | === Searching for data in Explore 138 | 139 | You can use simple search phrases based on your node labels and relationship types to visualize your graph. 140 | 141 | If you enter `Category` and then press return; it fetches and displays all categories. 142 | You can now explore and expand the graph visualization. 143 | 144 | This is a great way to discover interesting relationships and formulate questions about your data. 145 | 146 | // TODO captions!! 147 | 148 | Another useful feature is to select two nodes (`Shift-Click`) and select _Paths -> Shortest Path_ from the right-click context menu on one of them. 149 | 150 | // TBD educate about paths in search box! 151 | 152 | You can select all `Categories` by clicking on their box in the right side legend and then choose _Expand -> All_ in the context menu to see all the products contained in these categories. 153 | 154 | The context menu also offers many more options like editing, partial expansion, clearing the scene, or dismissing (un-)selected nodes. 155 | 156 | == Advanced exploration 157 | 158 | In the bottom-right of _Explore_ you can switch between the default force-based layout and a hierarchical layout. 159 | 160 | You can style your data in the right legend using colors, icons, sizes, and captions, and even apply rules for these. 161 | 162 | // TODO: a screenshot here might be good to inspire or show what's possible. 163 | 164 | Click on `Category` in the legend panel and pick a different color, icon, and/or size for your nodes. 165 | 166 | Selected nodes and relationships are highlighted and counted in the legend panel and shown in the card view in the lower left corner. 167 | There you can explore your data structurally. 168 | 169 | Explore also offers options to filter your on-screen nodes with a advanced filter menu, and even rudimentary user programming by storing Cypher phrases to reuse later. 170 | 171 | Learn more in the link:https://neo4j.com/docs/bloom-user-guide/current/bloom-visual-tour/[documentation^] and videos. 172 | 173 | // TODO switch to Query 174 | 175 | == Basic Querying 176 | 177 | Switch to the _Query_ tab, if you haven't already done so. 178 | 179 | On the left sidebar in the first entry (database) you can see the counts of types of nodes and relationships. 180 | Click on `(Product)` - the database fetches a few elements with the `Product`-label using a minimal query. 181 | 182 | .Load query for product nodes 183 | [source,cypher] 184 | ---- 185 | MATCH (n:Product) 186 | RETURN n 187 | LIMIT 25 188 | ---- 189 | 190 | The result nodes are visualized in the _graph view_, and you can double-click nodes to see their neighbors. 191 | 192 | In the right properties side-panel you can inspect more properties. 193 | You can also style nodes (size, color, caption) by clicking on the `(Product)` label on top. 194 | 195 | Results can also be shown in a tabular view by clicking the _table view_ option. 196 | Nodes and relationships are visualized in a JSON structure. 197 | That view is shown by default if you return only scalar values. 198 | 199 | // TBD Alternatively we could have them click on [:SUPPLIES] and then they would already see a graph visualization, it would use graph patterns and pattern variable, but it might be too complex. I would actually prefer this one. 200 | // See screenhots below. 201 | 202 | == Writing your first query 203 | 204 | Like any other database, Neo4j can be queried with a query language. 205 | 206 | Neo4j's graph query language is called _Cypher_ and is very well-suited for finding patterns. 207 | Unlike SQL, there is no reliance on writing complex joins. 208 | 209 | In Cypher, you represent the graph patterns that you've seen in Import and Explore with ascii-art. 210 | 211 | Parentheses `(p:Product {name:'Camembert Pierrot'})` form "circles" around nodes and arrows `+-[:SUPPLIES]->+` depicts relationships. 212 | 213 | You draw in text what you would draw on the whiteboard. 214 | 215 | These patterns are used to find, create, and update graph data. 216 | 217 | You've already seen the `MATCH (n:Product) RETURN n LIMIT 25` statement that was run previously. 218 | 219 | Now click on the statement to edit it and change the pattern and result to: 220 | 221 | [source,cypher] 222 | ---- 223 | MATCH (n:Product)<-[r:SUPPLIES]-(s:Supplier) 224 | RETURN n,r,s 225 | LIMIT 25 226 | ---- 227 | 228 | then click on the run icon icon:PlayIcon[]. 229 | 230 | Congratulations, you've written and run your first Cypher query! 231 | 232 | 233 | == A more advanced query 234 | 235 | For the last part of this guide you get the opportunity to try some more powerful queries. 236 | 237 | First, this query finds all products ordered by a customer and who supplies them. 238 | 239 | .All products ordered by a customer and who supplies those 240 | [source,cypher] 241 | ---- 242 | MATCH path=(c:Customer)-[:PURCHASED]->()-[:ORDERS]->(:Product)<-[:SUPPLIES]-(:Supplier) 243 | WHERE c.companyName = 'Blauer See Delikatessen' 244 | RETURN path; 245 | ---- 246 | 247 | image::https://neo4j-graph-examples.github.io/northwind/documentation/img/example.svg[] 248 | 249 | You can also see how many products in the `Produce` category each customer ordered. 250 | 251 | .Find total quantity per customer in the "Produce" category 252 | [source,cypher] 253 | ---- 254 | MATCH (cust:Customer)-[:PURCHASED]->(:Order)-[o:ORDERS]->(p:Product), 255 | (p)-[:PART_OF]->(c:Category {categoryName:"Produce"}) 256 | RETURN DISTINCT cust.contactName as CustomerName, SUM(o.quantity) AS TotalProductsPurchased 257 | ---- 258 | 259 | == Next steps 260 | 261 | Congratulations on completing this tutorial. 262 | 263 | You can do more with the Northwind dataset or you can reset your instance in AuraDB Console and import your own data. 264 | 265 | For your next steps, a suggestion is to look at furthering your Cypher knowledge or building an application using Neo4j's popular language drivers. 266 | 267 | === Next steps with Cypher 268 | 269 | To learn more about Cypher, check out the interactive https://graphacademy.neo4j.com/categories/beginners/[GraphAcademy course^] and have a look at the https://neo4j.com/docs/cypher-cheat-sheet/current/[Cypher Cheat Sheet^]. 270 | 271 | === Creating applications 272 | 273 | As you get more familiar with Cypher, you can use the https://neo4j.com/docs/drivers-apis/[Neo4j drivers^] for C#, Go, Java, JavaScript, and Python to build your applications, or use our GraphQL or Spring Data Neo4j integrations for building APIs. 274 | 275 | === Go further with GraphAcademy 276 | 277 | GraphAcademy is provided by Neo4j and offers in-depth courses on many aspects of graph databases. 278 | Check out the https://graphacademy.neo4j.com/[GraphAcademy website^]. 279 | 280 | //=== Mastering data importer 281 | 282 | // TODO: expand this -------------------------------------------------------------------------------- /documentation/northwind.neo4j-browser-guide: -------------------------------------------------------------------------------- 1 | 21 | 24 |
25 | 26 | 44 | 45 | 46 | 47 |

Northwind Graph

48 | 49 | 50 | 51 | 52 |
53 |

From RDBMS to Graph, using a classic dataset

54 |
55 |
56 |
57 |

TheNorthwind Graph demonstrates how to migrate from a relational 58 | database to Neo4j. The transformation is iterative and deliberate, 59 | emphasizing the conceptual shift from relational tables to the nodes and 60 | relationships of a graph.

61 |
62 |
63 |

This guide will show you how to:

64 |
65 |
66 |
    67 |
  1. 68 |

    Load: create data from external CSV files

    69 |
  2. 70 |
  3. 71 |

    Index: index nodes based on label

    72 |
  4. 73 |
  5. 74 |

    Relate: transform foreign key references into data relationships

    75 |
  6. 76 |
  7. 77 |

    Promote: transform join records into relationships

    78 |
  8. 79 |
80 |
81 |
82 |
83 |
84 | 85 | 86 | 87 | 88 |
89 |

Product Catalog

90 |
91 |
92 |
93 |

Northwind sells food products in a few categories, provided by 94 | suppliers. Let’s start by loading the product catalog tables.

95 |
96 |
97 |

The load statements to the right require public internet 98 | access.LOAD CSV will retrieve a CSV file from a valid URL, applying a 99 | Cypher statement to each row using a named map (here we’re using the 100 | name row).

101 |
102 |
103 |

image

104 |
105 | 106 | 107 | 108 |

Create Constraints

109 |
110 |
Create constraints for the nodes
111 |
112 |
CREATE CONSTRAINT product_productID IF NOT EXISTS FOR (p:Product) REQUIRE (p.productID) IS UNIQUE;
113 | CREATE CONSTRAINT category_categoryID IF NOT EXISTS FOR (c:Category) REQUIRE (c.categoryID) IS UNIQUE;
114 | CREATE CONSTRAINT supplier_supplierID IF NOT EXISTS FOR (s:Supplier) REQUIRE (s.supplierID) IS UNIQUE;
115 |
116 |
117 | 118 | 119 | 120 |

Load records

121 |
122 |
Load products
123 |
124 |
LOAD CSV WITH HEADERS FROM "https://data.neo4j.com/northwind/products.csv" AS row
125 | CREATE (n:Product)
126 | SET n = row,
127 |   n.unitPrice = toFloat(row.unitPrice),
128 |   n.unitsInStock = toInteger(row.unitsInStock), n.unitsOnOrder = toInteger(row.unitsOnOrder),
129 |   n.reorderLevel = toInteger(row.reorderLevel), n.discontinued = (row.discontinued <> "0")
130 |
131 |
132 |
133 |
Load categories
134 |
135 |
LOAD CSV WITH HEADERS FROM "https://data.neo4j.com/northwind/categories.csv" AS row
136 | CREATE (n:Category)
137 | SET n = row
138 |
139 |
140 |
141 |
Load suppliers
142 |
143 |
LOAD CSV WITH HEADERS FROM "https://data.neo4j.com/northwind/suppliers.csv" AS row
144 | CREATE (n:Supplier)
145 | SET n = row
146 |
147 |
148 |
149 |
150 |
151 | 152 | 153 | 154 | 155 |
156 |

Product Catalog Graph

157 |
158 |
159 |
160 |

The products, categories and suppliers are related through foreign key 161 | references. Let’s promote those to data relationships to realize the 162 | graph.

163 |
164 |
165 |

image

166 |
167 | 168 | 169 | 170 |

Create data relationships

171 |
172 |
Connect products to categories
173 |
174 |
MATCH (p:Product),(c:Category)
175 | WHERE p.categoryID = c.categoryID
176 | CREATE (p)-[:PART_OF]->(c)
177 |
178 |
179 |
180 |

Note you only need to compare property values like this when first 181 | creating relationships

182 |
183 |
184 |

Calculate join, materialize relationship. 185 | (See importing guide for more details)

186 |
187 |
188 |
Connect products to suppliers
189 |
190 |
MATCH (p:Product),(s:Supplier)
191 | WHERE p.supplierID = s.supplierID
192 | CREATE (s)-[:SUPPLIES]->(p)
193 |
194 |
195 |
196 |

Note you only need to compare property values like this when first 197 | creating relationships

198 |
199 |
200 |
201 |
202 | 203 | 204 | 205 | 206 |
207 |

Querying Product Catalog Graph

208 |
209 |
210 |
211 |

Lets try some queries using patterns.

212 |
213 |
214 |

image

215 |
216 | 217 | 218 | 219 |

Query using patterns

220 |
221 |
List the product categories provided by each supplier
222 |
223 |
MATCH (s:Supplier)-->(:Product)-->(c:Category)
224 | RETURN s.companyName as Company, collect(distinct c.categoryName) as Categories
225 |
226 |
227 |
228 |
List suppliers for the "Produce" category
229 |
230 |
MATCH (c:Category {categoryName:"Produce"})<--(:Product)<--(s:Supplier)
231 | RETURN DISTINCT s.companyName as ProduceSuppliers
232 |
233 |
234 |
235 |

Find the produce suppliers.

236 |
237 |
238 |
239 |
240 | 241 | 242 | 243 | 244 |
245 |

Customer Orders

246 |
247 |
248 |
249 |

Northwind customers place orders which may detail multiple 250 | products.

251 |
252 |
253 |
254 | customer orders 255 |
256 |
257 | 258 | 259 | 260 |

Load and index records

261 |
262 |
Create constraints for nodes
263 |
264 |
CREATE CONSTRAINT customer_customerID IF NOT EXISTS FOR (c:Customer) REQUIRE (c.customerID) IS UNIQUE;
265 | CREATE CONSTRAINT order_orderID IF NOT EXISTS FOR (o:Order) REQUIRE (o.orderID) IS UNIQUE;
266 |
267 |
268 |
269 |
Load customers
270 |
271 |
LOAD CSV WITH HEADERS FROM "https://data.neo4j.com/northwind/customers.csv" AS row
272 | CREATE (n:Customer)
273 | SET n = row
274 |
275 |
276 |
277 |
Load orders
278 |
279 |
LOAD CSV WITH HEADERS FROM "https://data.neo4j.com/northwind/orders.csv" AS row
280 | CREATE (n:Order)
281 | SET n = row
282 |
283 |
284 |
285 |
286 |
287 | 288 | 289 | 290 | 291 |
292 |

Create data relationships

293 |
294 |
295 |
296 |
Connect customers to their orders
297 |
298 |
MATCH (c:Customer),(o:Order)
299 | WHERE c.customerID = o.customerID
300 | CREATE (c)-[:PURCHASED]->(o)
301 |
302 |
303 |
304 |

Note you only need to compare property values like this when first 305 | creating relationships

306 |
307 |
308 |
309 |
310 | 311 | 312 | 313 | 314 |
315 |

Customer Order Graph

316 |
317 |
318 |
319 |

Notice that Order Details are always part of an Order and that 320 | theyrelate the Order to a Product — they’re a join table. Join 321 | tables are always a sign of a data relationship, indicating shared 322 | information between two other records.

323 |
324 |
325 |

Here, we’ll directly promote each OrderDetail record into a relationship 326 | in the graph. order graph

327 |
328 | 329 | 330 | 331 |

Load and index records

332 |
333 |
Load order details and use them to connect orders to products
334 |
335 |
LOAD CSV WITH HEADERS FROM "https://data.neo4j.com/northwind/order-details.csv" AS row
336 | MATCH (p:Product), (o:Order)
337 | WHERE p.productID = row.productID AND o.orderID = row.orderID
338 | CREATE (o)-[details:ORDERS]->(p)
339 | SET details = row,
340 |   details.quantity = toInteger(row.quantity)
341 |
342 |
343 |
344 |

Note you only need to compare property values like this when first 345 | creating relationships

346 |
347 |
348 |
349 |
350 | 351 | 352 | 353 | 354 |
355 |

Query using patterns

356 |
357 |
358 |
359 |
Find total quantity per customer in the "Produce" category
360 |
361 |
MATCH (cust:Customer)-[:PURCHASED]->(:Order)-[o:ORDERS]->(p:Product),
362 |       (p)-[:PART_OF]->(c:Category {categoryName:"Produce"})
363 | RETURN DISTINCT cust.contactName as CustomerName, SUM(o.quantity) AS TotalProductsPurchased
364 |
365 |
366 |
367 |

More Resources

368 |
369 |
370 | 379 |
380 |
381 |
382 |
383 |
384 |
-------------------------------------------------------------------------------- /documentation/img/example.svg: -------------------------------------------------------------------------------- 1 | Neo4j Graph VisualizationCreated using Neo4j (http://www.neo4j.com/)PURCHASEDPURCHASEDPURCHASEDPURCHASEDPURCHASEDPURCHASEDPURCHASEDORDERSORDERSORDERSPART_OFSUPPLIESPART_OFSUPPLIESPART_OFSUPPLIESORDERSORDERSORDERSPART_OFSUPPLIESPART_OFSUPPLIESORDERSORDERSPART_OFSUPPLIESPART_OFSUPPLIESORDERSORDERSORDERSPART_OFSUPPLIESPART_OFSUPPLIESORDERSPART_OFSUPPLIESORDERSPART_OFSUPPLIESORDERSPART_OFSUPPLIES Blauer See Delikatessen Confecti… 10956 Zaanse koeken Zaanse Snoepfabriek Produce Manjimup Dried Apples G'day Sir Rodney's Scones Specialty Biscuits Condim… 11058 Sirop d'érable Forêts d'érables Dairy Products Camembert Pierrot Gai pâturage Grains/… 10582 Ravioli Angelo Pasta Buttini s.r.l. Beverag… Lakkalikööri Karkki Oy 10614 Queso Cabrales Cooperativa de Quesos 'Las Cabr… Chartreuse verte Aux joyeux ecclésiastiq… Meat/Po… 10501 Tourtière Ma Maison 10509 Rössle Sauerkraut Plutzer Lebensmitt… Seafood 10853 Carnarvon Tigers Pavlova -------------------------------------------------------------------------------- /import/order-details.csv: -------------------------------------------------------------------------------- 1 | orderID,productID,unitPrice,quantity,discount 2 | 10248,11,14.00,12,0 3 | 10248,42,9.80,10,0 4 | 10248,72,34.80,5,0 5 | 10249,14,18.60,9,0 6 | 10249,51,42.40,40,0 7 | 10250,41,7.70,10,0 8 | 10250,51,42.40,35,0.15 9 | 10250,65,16.80,15,0.15 10 | 10251,22,16.80,6,0.05 11 | 10251,57,15.60,15,0.05 12 | 10251,65,16.80,20,0 13 | 10252,20,64.80,40,0.05 14 | 10252,33,2.00,25,0.05 15 | 10252,60,27.20,40,0 16 | 10253,31,10.00,20,0 17 | 10253,39,14.40,42,0 18 | 10253,49,16.00,40,0 19 | 10254,24,3.60,15,0.15 20 | 10254,55,19.20,21,0.15 21 | 10254,74,8.00,21,0 22 | 10255,2,15.20,20,0 23 | 10255,16,13.90,35,0 24 | 10255,36,15.20,25,0 25 | 10255,59,44.00,30,0 26 | 10256,53,26.20,15,0 27 | 10256,77,10.40,12,0 28 | 10257,27,35.10,25,0 29 | 10257,39,14.40,6,0 30 | 10257,77,10.40,15,0 31 | 10258,2,15.20,50,0.2 32 | 10258,5,17.00,65,0.2 33 | 10258,32,25.60,6,0.2 34 | 10259,21,8.00,10,0 35 | 10259,37,20.80,1,0 36 | 10260,41,7.70,16,0.25 37 | 10260,57,15.60,50,0 38 | 10260,62,39.40,15,0.25 39 | 10260,70,12.00,21,0.25 40 | 10261,21,8.00,20,0 41 | 10261,35,14.40,20,0 42 | 10262,5,17.00,12,0.2 43 | 10262,7,24.00,15,0 44 | 10262,56,30.40,2,0 45 | 10263,16,13.90,60,0.25 46 | 10263,24,3.60,28,0 47 | 10263,30,20.70,60,0.25 48 | 10263,74,8.00,36,0.25 49 | 10264,2,15.20,35,0 50 | 10264,41,7.70,25,0.15 51 | 10265,17,31.20,30,0 52 | 10265,70,12.00,20,0 53 | 10266,12,30.40,12,0.05 54 | 10267,40,14.70,50,0 55 | 10267,59,44.00,70,0.15 56 | 10267,76,14.40,15,0.15 57 | 10268,29,99.00,10,0 58 | 10268,72,27.80,4,0 59 | 10269,33,2.00,60,0.05 60 | 10269,72,27.80,20,0.05 61 | 10270,36,15.20,30,0 62 | 10270,43,36.80,25,0 63 | 10271,33,2.00,24,0 64 | 10272,20,64.80,6,0 65 | 10272,31,10.00,40,0 66 | 10272,72,27.80,24,0 67 | 10273,10,24.80,24,0.05 68 | 10273,31,10.00,15,0.05 69 | 10273,33,2.00,20,0 70 | 10273,40,14.70,60,0.05 71 | 10273,76,14.40,33,0.05 72 | 10274,71,17.20,20,0 73 | 10274,72,27.80,7,0 74 | 10275,24,3.60,12,0.05 75 | 10275,59,44.00,6,0.05 76 | 10276,10,24.80,15,0 77 | 10276,13,4.80,10,0 78 | 10277,28,36.40,20,0 79 | 10277,62,39.40,12,0 80 | 10278,44,15.50,16,0 81 | 10278,59,44.00,15,0 82 | 10278,63,35.10,8,0 83 | 10278,73,12.00,25,0 84 | 10279,17,31.20,15,0.25 85 | 10280,24,3.60,12,0 86 | 10280,55,19.20,20,0 87 | 10280,75,6.20,30,0 88 | 10281,19,7.30,1,0 89 | 10281,24,3.60,6,0 90 | 10281,35,14.40,4,0 91 | 10282,30,20.70,6,0 92 | 10282,57,15.60,2,0 93 | 10283,15,12.40,20,0 94 | 10283,19,7.30,18,0 95 | 10283,60,27.20,35,0 96 | 10283,72,27.80,3,0 97 | 10284,27,35.10,15,0.25 98 | 10284,44,15.50,21,0 99 | 10284,60,27.20,20,0.25 100 | 10284,67,11.20,5,0.25 101 | 10285,1,14.40,45,0.2 102 | 10285,40,14.70,40,0.2 103 | 10285,53,26.20,36,0.2 104 | 10286,35,14.40,100,0 105 | 10286,62,39.40,40,0 106 | 10287,16,13.90,40,0.15 107 | 10287,34,11.20,20,0 108 | 10287,46,9.60,15,0.15 109 | 10288,54,5.90,10,0.1 110 | 10288,68,10.00,3,0.1 111 | 10289,3,8.00,30,0 112 | 10289,64,26.60,9,0 113 | 10290,5,17.00,20,0 114 | 10290,29,99.00,15,0 115 | 10290,49,16.00,15,0 116 | 10290,77,10.40,10,0 117 | 10291,13,4.80,20,0.1 118 | 10291,44,15.50,24,0.1 119 | 10291,51,42.40,2,0.1 120 | 10292,20,64.80,20,0 121 | 10293,18,50.00,12,0 122 | 10293,24,3.60,10,0 123 | 10293,63,35.10,5,0 124 | 10293,75,6.20,6,0 125 | 10294,1,14.40,18,0 126 | 10294,17,31.20,15,0 127 | 10294,43,36.80,15,0 128 | 10294,60,27.20,21,0 129 | 10294,75,6.20,6,0 130 | 10295,56,30.40,4,0 131 | 10296,11,16.80,12,0 132 | 10296,16,13.90,30,0 133 | 10296,69,28.80,15,0 134 | 10297,39,14.40,60,0 135 | 10297,72,27.80,20,0 136 | 10298,2,15.20,40,0 137 | 10298,36,15.20,40,0.25 138 | 10298,59,44.00,30,0.25 139 | 10298,62,39.40,15,0 140 | 10299,19,7.30,15,0 141 | 10299,70,12.00,20,0 142 | 10300,66,13.60,30,0 143 | 10300,68,10.00,20,0 144 | 10301,40,14.70,10,0 145 | 10301,56,30.40,20,0 146 | 10302,17,31.20,40,0 147 | 10302,28,36.40,28,0 148 | 10302,43,36.80,12,0 149 | 10303,40,14.70,40,0.1 150 | 10303,65,16.80,30,0.1 151 | 10303,68,10.00,15,0.1 152 | 10304,49,16.00,30,0 153 | 10304,59,44.00,10,0 154 | 10304,71,17.20,2,0 155 | 10305,18,50.00,25,0.1 156 | 10305,29,99.00,25,0.1 157 | 10305,39,14.40,30,0.1 158 | 10306,30,20.70,10,0 159 | 10306,53,26.20,10,0 160 | 10306,54,5.90,5,0 161 | 10307,62,39.40,10,0 162 | 10307,68,10.00,3,0 163 | 10308,69,28.80,1,0 164 | 10308,70,12.00,5,0 165 | 10309,4,17.60,20,0 166 | 10309,6,20.00,30,0 167 | 10309,42,11.20,2,0 168 | 10309,43,36.80,20,0 169 | 10309,71,17.20,3,0 170 | 10310,16,13.90,10,0 171 | 10310,62,39.40,5,0 172 | 10311,42,11.20,6,0 173 | 10311,69,28.80,7,0 174 | 10312,28,36.40,4,0 175 | 10312,43,36.80,24,0 176 | 10312,53,26.20,20,0 177 | 10312,75,6.20,10,0 178 | 10313,36,15.20,12,0 179 | 10314,32,25.60,40,0.1 180 | 10314,58,10.60,30,0.1 181 | 10314,62,39.40,25,0.1 182 | 10315,34,11.20,14,0 183 | 10315,70,12.00,30,0 184 | 10316,41,7.70,10,0 185 | 10316,62,39.40,70,0 186 | 10317,1,14.40,20,0 187 | 10318,41,7.70,20,0 188 | 10318,76,14.40,6,0 189 | 10319,17,31.20,8,0 190 | 10319,28,36.40,14,0 191 | 10319,76,14.40,30,0 192 | 10320,71,17.20,30,0 193 | 10321,35,14.40,10,0 194 | 10322,52,5.60,20,0 195 | 10323,15,12.40,5,0 196 | 10323,25,11.20,4,0 197 | 10323,39,14.40,4,0 198 | 10324,16,13.90,21,0.15 199 | 10324,35,14.40,70,0.15 200 | 10324,46,9.60,30,0 201 | 10324,59,44.00,40,0.15 202 | 10324,63,35.10,80,0.15 203 | 10325,6,20.00,6,0 204 | 10325,13,4.80,12,0 205 | 10325,14,18.60,9,0 206 | 10325,31,10.00,4,0 207 | 10325,72,27.80,40,0 208 | 10326,4,17.60,24,0 209 | 10326,57,15.60,16,0 210 | 10326,75,6.20,50,0 211 | 10327,2,15.20,25,0.2 212 | 10327,11,16.80,50,0.2 213 | 10327,30,20.70,35,0.2 214 | 10327,58,10.60,30,0.2 215 | 10328,59,44.00,9,0 216 | 10328,65,16.80,40,0 217 | 10328,68,10.00,10,0 218 | 10329,19,7.30,10,0.05 219 | 10329,30,20.70,8,0.05 220 | 10329,38,210.80,20,0.05 221 | 10329,56,30.40,12,0.05 222 | 10330,26,24.90,50,0.15 223 | 10330,72,27.80,25,0.15 224 | 10331,54,5.90,15,0 225 | 10332,18,50.00,40,0.2 226 | 10332,42,11.20,10,0.2 227 | 10332,47,7.60,16,0.2 228 | 10333,14,18.60,10,0 229 | 10333,21,8.00,10,0.1 230 | 10333,71,17.20,40,0.1 231 | 10334,52,5.60,8,0 232 | 10334,68,10.00,10,0 233 | 10335,2,15.20,7,0.2 234 | 10335,31,10.00,25,0.2 235 | 10335,32,25.60,6,0.2 236 | 10335,51,42.40,48,0.2 237 | 10336,4,17.60,18,0.1 238 | 10337,23,7.20,40,0 239 | 10337,26,24.90,24,0 240 | 10337,36,15.20,20,0 241 | 10337,37,20.80,28,0 242 | 10337,72,27.80,25,0 243 | 10338,17,31.20,20,0 244 | 10338,30,20.70,15,0 245 | 10339,4,17.60,10,0 246 | 10339,17,31.20,70,0.05 247 | 10339,62,39.40,28,0 248 | 10340,18,50.00,20,0.05 249 | 10340,41,7.70,12,0.05 250 | 10340,43,36.80,40,0.05 251 | 10341,33,2.00,8,0 252 | 10341,59,44.00,9,0.15 253 | 10342,2,15.20,24,0.2 254 | 10342,31,10.00,56,0.2 255 | 10342,36,15.20,40,0.2 256 | 10342,55,19.20,40,0.2 257 | 10343,64,26.60,50,0 258 | 10343,68,10.00,4,0.05 259 | 10343,76,14.40,15,0 260 | 10344,4,17.60,35,0 261 | 10344,8,32.00,70,0.25 262 | 10345,8,32.00,70,0 263 | 10345,19,7.30,80,0 264 | 10345,42,11.20,9,0 265 | 10346,17,31.20,36,0.1 266 | 10346,56,30.40,20,0 267 | 10347,25,11.20,10,0 268 | 10347,39,14.40,50,0.15 269 | 10347,40,14.70,4,0 270 | 10347,75,6.20,6,0.15 271 | 10348,1,14.40,15,0.15 272 | 10348,23,7.20,25,0 273 | 10349,54,5.90,24,0 274 | 10350,50,13.00,15,0.1 275 | 10350,69,28.80,18,0.1 276 | 10351,38,210.80,20,0.05 277 | 10351,41,7.70,13,0 278 | 10351,44,15.50,77,0.05 279 | 10351,65,16.80,10,0.05 280 | 10352,24,3.60,10,0 281 | 10352,54,5.90,20,0.15 282 | 10353,11,16.80,12,0.2 283 | 10353,38,210.80,50,0.2 284 | 10354,1,14.40,12,0 285 | 10354,29,99.00,4,0 286 | 10355,24,3.60,25,0 287 | 10355,57,15.60,25,0 288 | 10356,31,10.00,30,0 289 | 10356,55,19.20,12,0 290 | 10356,69,28.80,20,0 291 | 10357,10,24.80,30,0.2 292 | 10357,26,24.90,16,0 293 | 10357,60,27.20,8,0.2 294 | 10358,24,3.60,10,0.05 295 | 10358,34,11.20,10,0.05 296 | 10358,36,15.20,20,0.05 297 | 10359,16,13.90,56,0.05 298 | 10359,31,10.00,70,0.05 299 | 10359,60,27.20,80,0.05 300 | 10360,28,36.40,30,0 301 | 10360,29,99.00,35,0 302 | 10360,38,210.80,10,0 303 | 10360,49,16.00,35,0 304 | 10360,54,5.90,28,0 305 | 10361,39,14.40,54,0.1 306 | 10361,60,27.20,55,0.1 307 | 10362,25,11.20,50,0 308 | 10362,51,42.40,20,0 309 | 10362,54,5.90,24,0 310 | 10363,31,10.00,20,0 311 | 10363,75,6.20,12,0 312 | 10363,76,14.40,12,0 313 | 10364,69,28.80,30,0 314 | 10364,71,17.20,5,0 315 | 10365,11,16.80,24,0 316 | 10366,65,16.80,5,0 317 | 10366,77,10.40,5,0 318 | 10367,34,11.20,36,0 319 | 10367,54,5.90,18,0 320 | 10367,65,16.80,15,0 321 | 10367,77,10.40,7,0 322 | 10368,21,8.00,5,0.1 323 | 10368,28,36.40,13,0.1 324 | 10368,57,15.60,25,0 325 | 10368,64,26.60,35,0.1 326 | 10369,29,99.00,20,0 327 | 10369,56,30.40,18,0.25 328 | 10370,1,14.40,15,0.15 329 | 10370,64,26.60,30,0 330 | 10370,74,8.00,20,0.15 331 | 10371,36,15.20,6,0.2 332 | 10372,20,64.80,12,0.25 333 | 10372,38,210.80,40,0.25 334 | 10372,60,27.20,70,0.25 335 | 10372,72,27.80,42,0.25 336 | 10373,58,10.60,80,0.2 337 | 10373,71,17.20,50,0.2 338 | 10374,31,10.00,30,0 339 | 10374,58,10.60,15,0 340 | 10375,14,18.60,15,0 341 | 10375,54,5.90,10,0 342 | 10376,31,10.00,42,0.05 343 | 10377,28,36.40,20,0.15 344 | 10377,39,14.40,20,0.15 345 | 10378,71,17.20,6,0 346 | 10379,41,7.70,8,0.1 347 | 10379,63,35.10,16,0.1 348 | 10379,65,16.80,20,0.1 349 | 10380,30,20.70,18,0.1 350 | 10380,53,26.20,20,0.1 351 | 10380,60,27.20,6,0.1 352 | 10380,70,12.00,30,0 353 | 10381,74,8.00,14,0 354 | 10382,5,17.00,32,0 355 | 10382,18,50.00,9,0 356 | 10382,29,99.00,14,0 357 | 10382,33,2.00,60,0 358 | 10382,74,8.00,50,0 359 | 10383,13,4.80,20,0 360 | 10383,50,13.00,15,0 361 | 10383,56,30.40,20,0 362 | 10384,20,64.80,28,0 363 | 10384,60,27.20,15,0 364 | 10385,7,24.00,10,0.2 365 | 10385,60,27.20,20,0.2 366 | 10385,68,10.00,8,0.2 367 | 10386,24,3.60,15,0 368 | 10386,34,11.20,10,0 369 | 10387,24,3.60,15,0 370 | 10387,28,36.40,6,0 371 | 10387,59,44.00,12,0 372 | 10387,71,17.20,15,0 373 | 10388,45,7.60,15,0.2 374 | 10388,52,5.60,20,0.2 375 | 10388,53,26.20,40,0 376 | 10389,10,24.80,16,0 377 | 10389,55,19.20,15,0 378 | 10389,62,39.40,20,0 379 | 10389,70,12.00,30,0 380 | 10390,31,10.00,60,0.1 381 | 10390,35,14.40,40,0.1 382 | 10390,46,9.60,45,0 383 | 10390,72,27.80,24,0.1 384 | 10391,13,4.80,18,0 385 | 10392,69,28.80,50,0 386 | 10393,2,15.20,25,0.25 387 | 10393,14,18.60,42,0.25 388 | 10393,25,11.20,7,0.25 389 | 10393,26,24.90,70,0.25 390 | 10393,31,10.00,32,0 391 | 10394,13,4.80,10,0 392 | 10394,62,39.40,10,0 393 | 10395,46,9.60,28,0.1 394 | 10395,53,26.20,70,0.1 395 | 10395,69,28.80,8,0 396 | 10396,23,7.20,40,0 397 | 10396,71,17.20,60,0 398 | 10396,72,27.80,21,0 399 | 10397,21,8.00,10,0.15 400 | 10397,51,42.40,18,0.15 401 | 10398,35,14.40,30,0 402 | 10398,55,19.20,120,0.1 403 | 10399,68,10.00,60,0 404 | 10399,71,17.20,30,0 405 | 10399,76,14.40,35,0 406 | 10399,77,10.40,14,0 407 | 10400,29,99.00,21,0 408 | 10400,35,14.40,35,0 409 | 10400,49,16.00,30,0 410 | 10401,30,20.70,18,0 411 | 10401,56,30.40,70,0 412 | 10401,65,16.80,20,0 413 | 10401,71,17.20,60,0 414 | 10402,23,7.20,60,0 415 | 10402,63,35.10,65,0 416 | 10403,16,13.90,21,0.15 417 | 10403,48,10.20,70,0.15 418 | 10404,26,24.90,30,0.05 419 | 10404,42,11.20,40,0.05 420 | 10404,49,16.00,30,0.05 421 | 10405,3,8.00,50,0 422 | 10406,1,14.40,10,0 423 | 10406,21,8.00,30,0.1 424 | 10406,28,36.40,42,0.1 425 | 10406,36,15.20,5,0.1 426 | 10406,40,14.70,2,0.1 427 | 10407,11,16.80,30,0 428 | 10407,69,28.80,15,0 429 | 10407,71,17.20,15,0 430 | 10408,37,20.80,10,0 431 | 10408,54,5.90,6,0 432 | 10408,62,39.40,35,0 433 | 10409,14,18.60,12,0 434 | 10409,21,8.00,12,0 435 | 10410,33,2.00,49,0 436 | 10410,59,44.00,16,0 437 | 10411,41,7.70,25,0.2 438 | 10411,44,15.50,40,0.2 439 | 10411,59,44.00,9,0.2 440 | 10412,14,18.60,20,0.1 441 | 10413,1,14.40,24,0 442 | 10413,62,39.40,40,0 443 | 10413,76,14.40,14,0 444 | 10414,19,7.30,18,0.05 445 | 10414,33,2.00,50,0 446 | 10415,17,31.20,2,0 447 | 10415,33,2.00,20,0 448 | 10416,19,7.30,20,0 449 | 10416,53,26.20,10,0 450 | 10416,57,15.60,20,0 451 | 10417,38,210.80,50,0 452 | 10417,46,9.60,2,0.25 453 | 10417,68,10.00,36,0.25 454 | 10417,77,10.40,35,0 455 | 10418,2,15.20,60,0 456 | 10418,47,7.60,55,0 457 | 10418,61,22.80,16,0 458 | 10418,74,8.00,15,0 459 | 10419,60,27.20,60,0.05 460 | 10419,69,28.80,20,0.05 461 | 10420,9,77.60,20,0.1 462 | 10420,13,4.80,2,0.1 463 | 10420,70,12.00,8,0.1 464 | 10420,73,12.00,20,0.1 465 | 10421,19,7.30,4,0.15 466 | 10421,26,24.90,30,0 467 | 10421,53,26.20,15,0.15 468 | 10421,77,10.40,10,0.15 469 | 10422,26,24.90,2,0 470 | 10423,31,10.00,14,0 471 | 10423,59,44.00,20,0 472 | 10424,35,14.40,60,0.2 473 | 10424,38,210.80,49,0.2 474 | 10424,68,10.00,30,0.2 475 | 10425,55,19.20,10,0.25 476 | 10425,76,14.40,20,0.25 477 | 10426,56,30.40,5,0 478 | 10426,64,26.60,7,0 479 | 10427,14,18.60,35,0 480 | 10428,46,9.60,20,0 481 | 10429,50,13.00,40,0 482 | 10429,63,35.10,35,0.25 483 | 10430,17,31.20,45,0.2 484 | 10430,21,8.00,50,0 485 | 10430,56,30.40,30,0 486 | 10430,59,44.00,70,0.2 487 | 10431,17,31.20,50,0.25 488 | 10431,40,14.70,50,0.25 489 | 10431,47,7.60,30,0.25 490 | 10432,26,24.90,10,0 491 | 10432,54,5.90,40,0 492 | 10433,56,30.40,28,0 493 | 10434,11,16.80,6,0 494 | 10434,76,14.40,18,0.15 495 | 10435,2,15.20,10,0 496 | 10435,22,16.80,12,0 497 | 10435,72,27.80,10,0 498 | 10436,46,9.60,5,0 499 | 10436,56,30.40,40,0.1 500 | 10436,64,26.60,30,0.1 501 | 10436,75,6.20,24,0.1 502 | 10437,53,26.20,15,0 503 | 10438,19,7.30,15,0.2 504 | 10438,34,11.20,20,0.2 505 | 10438,57,15.60,15,0.2 506 | 10439,12,30.40,15,0 507 | 10439,16,13.90,16,0 508 | 10439,64,26.60,6,0 509 | 10439,74,8.00,30,0 510 | 10440,2,15.20,45,0.15 511 | 10440,16,13.90,49,0.15 512 | 10440,29,99.00,24,0.15 513 | 10440,61,22.80,90,0.15 514 | 10441,27,35.10,50,0 515 | 10442,11,16.80,30,0 516 | 10442,54,5.90,80,0 517 | 10442,66,13.60,60,0 518 | 10443,11,16.80,6,0.2 519 | 10443,28,36.40,12,0 520 | 10444,17,31.20,10,0 521 | 10444,26,24.90,15,0 522 | 10444,35,14.40,8,0 523 | 10444,41,7.70,30,0 524 | 10445,39,14.40,6,0 525 | 10445,54,5.90,15,0 526 | 10446,19,7.30,12,0.1 527 | 10446,24,3.60,20,0.1 528 | 10446,31,10.00,3,0.1 529 | 10446,52,5.60,15,0.1 530 | 10447,19,7.30,40,0 531 | 10447,65,16.80,35,0 532 | 10447,71,17.20,2,0 533 | 10448,26,24.90,6,0 534 | 10448,40,14.70,20,0 535 | 10449,10,24.80,14,0 536 | 10449,52,5.60,20,0 537 | 10449,62,39.40,35,0 538 | 10450,10,24.80,20,0.2 539 | 10450,54,5.90,6,0.2 540 | 10451,55,19.20,120,0.1 541 | 10451,64,26.60,35,0.1 542 | 10451,65,16.80,28,0.1 543 | 10451,77,10.40,55,0.1 544 | 10452,28,36.40,15,0 545 | 10452,44,15.50,100,0.05 546 | 10453,48,10.20,15,0.1 547 | 10453,70,12.00,25,0.1 548 | 10454,16,13.90,20,0.2 549 | 10454,33,2.00,20,0.2 550 | 10454,46,9.60,10,0.2 551 | 10455,39,14.40,20,0 552 | 10455,53,26.20,50,0 553 | 10455,61,22.80,25,0 554 | 10455,71,17.20,30,0 555 | 10456,21,8.00,40,0.15 556 | 10456,49,16.00,21,0.15 557 | 10457,59,44.00,36,0 558 | 10458,26,24.90,30,0 559 | 10458,28,36.40,30,0 560 | 10458,43,36.80,20,0 561 | 10458,56,30.40,15,0 562 | 10458,71,17.20,50,0 563 | 10459,7,24.00,16,0.05 564 | 10459,46,9.60,20,0.05 565 | 10459,72,27.80,40,0 566 | 10460,68,10.00,21,0.25 567 | 10460,75,6.20,4,0.25 568 | 10461,21,8.00,40,0.25 569 | 10461,30,20.70,28,0.25 570 | 10461,55,19.20,60,0.25 571 | 10462,13,4.80,1,0 572 | 10462,23,7.20,21,0 573 | 10463,19,7.30,21,0 574 | 10463,42,11.20,50,0 575 | 10464,4,17.60,16,0.2 576 | 10464,43,36.80,3,0 577 | 10464,56,30.40,30,0.2 578 | 10464,60,27.20,20,0 579 | 10465,24,3.60,25,0 580 | 10465,29,99.00,18,0.1 581 | 10465,40,14.70,20,0 582 | 10465,45,7.60,30,0.1 583 | 10465,50,13.00,25,0 584 | 10466,11,16.80,10,0 585 | 10466,46,9.60,5,0 586 | 10467,24,3.60,28,0 587 | 10467,25,11.20,12,0 588 | 10468,30,20.70,8,0 589 | 10468,43,36.80,15,0 590 | 10469,2,15.20,40,0.15 591 | 10469,16,13.90,35,0.15 592 | 10469,44,15.50,2,0.15 593 | 10470,18,50.00,30,0 594 | 10470,23,7.20,15,0 595 | 10470,64,26.60,8,0 596 | 10471,7,24.00,30,0 597 | 10471,56,30.40,20,0 598 | 10472,24,3.60,80,0.05 599 | 10472,51,42.40,18,0 600 | 10473,33,2.00,12,0 601 | 10473,71,17.20,12,0 602 | 10474,14,18.60,12,0 603 | 10474,28,36.40,18,0 604 | 10474,40,14.70,21,0 605 | 10474,75,6.20,10,0 606 | 10475,31,10.00,35,0.15 607 | 10475,66,13.60,60,0.15 608 | 10475,76,14.40,42,0.15 609 | 10476,55,19.20,2,0.05 610 | 10476,70,12.00,12,0 611 | 10477,1,14.40,15,0 612 | 10477,21,8.00,21,0.25 613 | 10477,39,14.40,20,0.25 614 | 10478,10,24.80,20,0.05 615 | 10479,38,210.80,30,0 616 | 10479,53,26.20,28,0 617 | 10479,59,44.00,60,0 618 | 10479,64,26.60,30,0 619 | 10480,47,7.60,30,0 620 | 10480,59,44.00,12,0 621 | 10481,49,16.00,24,0 622 | 10481,60,27.20,40,0 623 | 10482,40,14.70,10,0 624 | 10483,34,11.20,35,0.05 625 | 10483,77,10.40,30,0.05 626 | 10484,21,8.00,14,0 627 | 10484,40,14.70,10,0 628 | 10484,51,42.40,3,0 629 | 10485,2,15.20,20,0.1 630 | 10485,3,8.00,20,0.1 631 | 10485,55,19.20,30,0.1 632 | 10485,70,12.00,60,0.1 633 | 10486,11,16.80,5,0 634 | 10486,51,42.40,25,0 635 | 10486,74,8.00,16,0 636 | 10487,19,7.30,5,0 637 | 10487,26,24.90,30,0 638 | 10487,54,5.90,24,0.25 639 | 10488,59,44.00,30,0 640 | 10488,73,12.00,20,0.2 641 | 10489,11,16.80,15,0.25 642 | 10489,16,13.90,18,0 643 | 10490,59,44.00,60,0 644 | 10490,68,10.00,30,0 645 | 10490,75,6.20,36,0 646 | 10491,44,15.50,15,0.15 647 | 10491,77,10.40,7,0.15 648 | 10492,25,11.20,60,0.05 649 | 10492,42,11.20,20,0.05 650 | 10493,65,16.80,15,0.1 651 | 10493,66,13.60,10,0.1 652 | 10493,69,28.80,10,0.1 653 | 10494,56,30.40,30,0 654 | 10495,23,7.20,10,0 655 | 10495,41,7.70,20,0 656 | 10495,77,10.40,5,0 657 | 10496,31,10.00,20,0.05 658 | 10497,56,30.40,14,0 659 | 10497,72,27.80,25,0 660 | 10497,77,10.40,25,0 661 | 10498,24,4.50,14,0 662 | 10498,40,18.40,5,0 663 | 10498,42,14.00,30,0 664 | 10499,28,45.60,20,0 665 | 10499,49,20.00,25,0 666 | 10500,15,15.50,12,0.05 667 | 10500,28,45.60,8,0.05 668 | 10501,54,7.45,20,0 669 | 10502,45,9.50,21,0 670 | 10502,53,32.80,6,0 671 | 10502,67,14.00,30,0 672 | 10503,14,23.25,70,0 673 | 10503,65,21.05,20,0 674 | 10504,2,19.00,12,0 675 | 10504,21,10.00,12,0 676 | 10504,53,32.80,10,0 677 | 10504,61,28.50,25,0 678 | 10505,62,49.30,3,0 679 | 10506,25,14.00,18,0.1 680 | 10506,70,15.00,14,0.1 681 | 10507,43,46.00,15,0.15 682 | 10507,48,12.75,15,0.15 683 | 10508,13,6.00,10,0 684 | 10508,39,18.00,10,0 685 | 10509,28,45.60,3,0 686 | 10510,29,123.79,36,0 687 | 10510,75,7.75,36,0.1 688 | 10511,4,22.00,50,0.15 689 | 10511,7,30.00,50,0.15 690 | 10511,8,40.00,10,0.15 691 | 10512,24,4.50,10,0.15 692 | 10512,46,12.00,9,0.15 693 | 10512,47,9.50,6,0.15 694 | 10512,60,34.00,12,0.15 695 | 10513,21,10.00,40,0.2 696 | 10513,32,32.00,50,0.2 697 | 10513,61,28.50,15,0.2 698 | 10514,20,81.00,39,0 699 | 10514,28,45.60,35,0 700 | 10514,56,38.00,70,0 701 | 10514,65,21.05,39,0 702 | 10514,75,7.75,50,0 703 | 10515,9,97.00,16,0.15 704 | 10515,16,17.45,50,0 705 | 10515,27,43.90,120,0 706 | 10515,33,2.50,16,0.15 707 | 10515,60,34.00,84,0.15 708 | 10516,18,62.50,25,0.1 709 | 10516,41,9.65,80,0.1 710 | 10516,42,14.00,20,0 711 | 10517,52,7.00,6,0 712 | 10517,59,55.00,4,0 713 | 10517,70,15.00,6,0 714 | 10518,24,4.50,5,0 715 | 10518,38,263.50,15,0 716 | 10518,44,19.45,9,0 717 | 10519,10,31.00,16,0.05 718 | 10519,56,38.00,40,0 719 | 10519,60,34.00,10,0.05 720 | 10520,24,4.50,8,0 721 | 10520,53,32.80,5,0 722 | 10521,35,18.00,3,0 723 | 10521,41,9.65,10,0 724 | 10521,68,12.50,6,0 725 | 10522,1,18.00,40,0.2 726 | 10522,8,40.00,24,0 727 | 10522,30,25.89,20,0.2 728 | 10522,40,18.40,25,0.2 729 | 10523,17,39.00,25,0.1 730 | 10523,20,81.00,15,0.1 731 | 10523,37,26.00,18,0.1 732 | 10523,41,9.65,6,0.1 733 | 10524,10,31.00,2,0 734 | 10524,30,25.89,10,0 735 | 10524,43,46.00,60,0 736 | 10524,54,7.45,15,0 737 | 10525,36,19.00,30,0 738 | 10525,40,18.40,15,0.1 739 | 10526,1,18.00,8,0.15 740 | 10526,13,6.00,10,0 741 | 10526,56,38.00,30,0.15 742 | 10527,4,22.00,50,0.1 743 | 10527,36,19.00,30,0.1 744 | 10528,11,21.00,3,0 745 | 10528,33,2.50,8,0.2 746 | 10528,72,34.80,9,0 747 | 10529,55,24.00,14,0 748 | 10529,68,12.50,20,0 749 | 10529,69,36.00,10,0 750 | 10530,17,39.00,40,0 751 | 10530,43,46.00,25,0 752 | 10530,61,28.50,20,0 753 | 10530,76,18.00,50,0 754 | 10531,59,55.00,2,0 755 | 10532,30,25.89,15,0 756 | 10532,66,17.00,24,0 757 | 10533,4,22.00,50,0.05 758 | 10533,72,34.80,24,0 759 | 10533,73,15.00,24,0.05 760 | 10534,30,25.89,10,0 761 | 10534,40,18.40,10,0.2 762 | 10534,54,7.45,10,0.2 763 | 10535,11,21.00,50,0.1 764 | 10535,40,18.40,10,0.1 765 | 10535,57,19.50,5,0.1 766 | 10535,59,55.00,15,0.1 767 | 10536,12,38.00,15,0.25 768 | 10536,31,12.50,20,0 769 | 10536,33,2.50,30,0 770 | 10536,60,34.00,35,0.25 771 | 10537,31,12.50,30,0 772 | 10537,51,53.00,6,0 773 | 10537,58,13.25,20,0 774 | 10537,72,34.80,21,0 775 | 10537,73,15.00,9,0 776 | 10538,70,15.00,7,0 777 | 10538,72,34.80,1,0 778 | 10539,13,6.00,8,0 779 | 10539,21,10.00,15,0 780 | 10539,33,2.50,15,0 781 | 10539,49,20.00,6,0 782 | 10540,3,10.00,60,0 783 | 10540,26,31.23,40,0 784 | 10540,38,263.50,30,0 785 | 10540,68,12.50,35,0 786 | 10541,24,4.50,35,0.1 787 | 10541,38,263.50,4,0.1 788 | 10541,65,21.05,36,0.1 789 | 10541,71,21.50,9,0.1 790 | 10542,11,21.00,15,0.05 791 | 10542,54,7.45,24,0.05 792 | 10543,12,38.00,30,0.15 793 | 10543,23,9.00,70,0.15 794 | 10544,28,45.60,7,0 795 | 10544,67,14.00,7,0 796 | 10545,11,21.00,10,0 797 | 10546,7,30.00,10,0 798 | 10546,35,18.00,30,0 799 | 10546,62,49.30,40,0 800 | 10547,32,32.00,24,0.15 801 | 10547,36,19.00,60,0 802 | 10548,34,14.00,10,0.25 803 | 10548,41,9.65,14,0 804 | 10549,31,12.50,55,0.15 805 | 10549,45,9.50,100,0.15 806 | 10549,51,53.00,48,0.15 807 | 10550,17,39.00,8,0.1 808 | 10550,19,9.20,10,0 809 | 10550,21,10.00,6,0.1 810 | 10550,61,28.50,10,0.1 811 | 10551,16,17.45,40,0.15 812 | 10551,35,18.00,20,0.15 813 | 10551,44,19.45,40,0 814 | 10552,69,36.00,18,0 815 | 10552,75,7.75,30,0 816 | 10553,11,21.00,15,0 817 | 10553,16,17.45,14,0 818 | 10553,22,21.00,24,0 819 | 10553,31,12.50,30,0 820 | 10553,35,18.00,6,0 821 | 10554,16,17.45,30,0.05 822 | 10554,23,9.00,20,0.05 823 | 10554,62,49.30,20,0.05 824 | 10554,77,13.00,10,0.05 825 | 10555,14,23.25,30,0.2 826 | 10555,19,9.20,35,0.2 827 | 10555,24,4.50,18,0.2 828 | 10555,51,53.00,20,0.2 829 | 10555,56,38.00,40,0.2 830 | 10556,72,34.80,24,0 831 | 10557,64,33.25,30,0 832 | 10557,75,7.75,20,0 833 | 10558,47,9.50,25,0 834 | 10558,51,53.00,20,0 835 | 10558,52,7.00,30,0 836 | 10558,53,32.80,18,0 837 | 10558,73,15.00,3,0 838 | 10559,41,9.65,12,0.05 839 | 10559,55,24.00,18,0.05 840 | 10560,30,25.89,20,0 841 | 10560,62,49.30,15,0.25 842 | 10561,44,19.45,10,0 843 | 10561,51,53.00,50,0 844 | 10562,33,2.50,20,0.1 845 | 10562,62,49.30,10,0.1 846 | 10563,36,19.00,25,0 847 | 10563,52,7.00,70,0 848 | 10564,17,39.00,16,0.05 849 | 10564,31,12.50,6,0.05 850 | 10564,55,24.00,25,0.05 851 | 10565,24,4.50,25,0.1 852 | 10565,64,33.25,18,0.1 853 | 10566,11,21.00,35,0.15 854 | 10566,18,62.50,18,0.15 855 | 10566,76,18.00,10,0 856 | 10567,31,12.50,60,0.2 857 | 10567,51,53.00,3,0 858 | 10567,59,55.00,40,0.2 859 | 10568,10,31.00,5,0 860 | 10569,31,12.50,35,0.2 861 | 10569,76,18.00,30,0 862 | 10570,11,21.00,15,0.05 863 | 10570,56,38.00,60,0.05 864 | 10571,14,23.25,11,0.15 865 | 10571,42,14.00,28,0.15 866 | 10572,16,17.45,12,0.1 867 | 10572,32,32.00,10,0.1 868 | 10572,40,18.40,50,0 869 | 10572,75,7.75,15,0.1 870 | 10573,17,39.00,18,0 871 | 10573,34,14.00,40,0 872 | 10573,53,32.80,25,0 873 | 10574,33,2.50,14,0 874 | 10574,40,18.40,2,0 875 | 10574,62,49.30,10,0 876 | 10574,64,33.25,6,0 877 | 10575,59,55.00,12,0 878 | 10575,63,43.90,6,0 879 | 10575,72,34.80,30,0 880 | 10575,76,18.00,10,0 881 | 10576,1,18.00,10,0 882 | 10576,31,12.50,20,0 883 | 10576,44,19.45,21,0 884 | 10577,39,18.00,10,0 885 | 10577,75,7.75,20,0 886 | 10577,77,13.00,18,0 887 | 10578,35,18.00,20,0 888 | 10578,57,19.50,6,0 889 | 10579,15,15.50,10,0 890 | 10579,75,7.75,21,0 891 | 10580,14,23.25,15,0.05 892 | 10580,41,9.65,9,0.05 893 | 10580,65,21.05,30,0.05 894 | 10581,75,7.75,50,0.2 895 | 10582,57,19.50,4,0 896 | 10582,76,18.00,14,0 897 | 10583,29,123.79,10,0 898 | 10583,60,34.00,24,0.15 899 | 10583,69,36.00,10,0.15 900 | 10584,31,12.50,50,0.05 901 | 10585,47,9.50,15,0 902 | 10586,52,7.00,4,0.15 903 | 10587,26,31.23,6,0 904 | 10587,35,18.00,20,0 905 | 10587,77,13.00,20,0 906 | 10588,18,62.50,40,0.2 907 | 10588,42,14.00,100,0.2 908 | 10589,35,18.00,4,0 909 | 10590,1,18.00,20,0 910 | 10590,77,13.00,60,0.05 911 | 10591,3,10.00,14,0 912 | 10591,7,30.00,10,0 913 | 10591,54,7.45,50,0 914 | 10592,15,15.50,25,0.05 915 | 10592,26,31.23,5,0.05 916 | 10593,20,81.00,21,0.2 917 | 10593,69,36.00,20,0.2 918 | 10593,76,18.00,4,0.2 919 | 10594,52,7.00,24,0 920 | 10594,58,13.25,30,0 921 | 10595,35,18.00,30,0.25 922 | 10595,61,28.50,120,0.25 923 | 10595,69,36.00,65,0.25 924 | 10596,56,38.00,5,0.2 925 | 10596,63,43.90,24,0.2 926 | 10596,75,7.75,30,0.2 927 | 10597,24,4.50,35,0.2 928 | 10597,57,19.50,20,0 929 | 10597,65,21.05,12,0.2 930 | 10598,27,43.90,50,0 931 | 10598,71,21.50,9,0 932 | 10599,62,49.30,10,0 933 | 10600,54,7.45,4,0 934 | 10600,73,15.00,30,0 935 | 10601,13,6.00,60,0 936 | 10601,59,55.00,35,0 937 | 10602,77,13.00,5,0.25 938 | 10603,22,21.00,48,0 939 | 10603,49,20.00,25,0.05 940 | 10604,48,12.75,6,0.1 941 | 10604,76,18.00,10,0.1 942 | 10605,16,17.45,30,0.05 943 | 10605,59,55.00,20,0.05 944 | 10605,60,34.00,70,0.05 945 | 10605,71,21.50,15,0.05 946 | 10606,4,22.00,20,0.2 947 | 10606,55,24.00,20,0.2 948 | 10606,62,49.30,10,0.2 949 | 10607,7,30.00,45,0 950 | 10607,17,39.00,100,0 951 | 10607,33,2.50,14,0 952 | 10607,40,18.40,42,0 953 | 10607,72,34.80,12,0 954 | 10608,56,38.00,28,0 955 | 10609,1,18.00,3,0 956 | 10609,10,31.00,10,0 957 | 10609,21,10.00,6,0 958 | 10610,36,19.00,21,0.25 959 | 10611,1,18.00,6,0 960 | 10611,2,19.00,10,0 961 | 10611,60,34.00,15,0 962 | 10612,10,31.00,70,0 963 | 10612,36,19.00,55,0 964 | 10612,49,20.00,18,0 965 | 10612,60,34.00,40,0 966 | 10612,76,18.00,80,0 967 | 10613,13,6.00,8,0.1 968 | 10613,75,7.75,40,0 969 | 10614,11,21.00,14,0 970 | 10614,21,10.00,8,0 971 | 10614,39,18.00,5,0 972 | 10615,55,24.00,5,0 973 | 10616,38,263.50,15,0.05 974 | 10616,56,38.00,14,0 975 | 10616,70,15.00,15,0.05 976 | 10616,71,21.50,15,0.05 977 | 10617,59,55.00,30,0.15 978 | 10618,6,25.00,70,0 979 | 10618,56,38.00,20,0 980 | 10618,68,12.50,15,0 981 | 10619,21,10.00,42,0 982 | 10619,22,21.00,40,0 983 | 10620,24,4.50,5,0 984 | 10620,52,7.00,5,0 985 | 10621,19,9.20,5,0 986 | 10621,23,9.00,10,0 987 | 10621,70,15.00,20,0 988 | 10621,71,21.50,15,0 989 | 10622,2,19.00,20,0 990 | 10622,68,12.50,18,0.2 991 | 10623,14,23.25,21,0 992 | 10623,19,9.20,15,0.1 993 | 10623,21,10.00,25,0.1 994 | 10623,24,4.50,3,0 995 | 10623,35,18.00,30,0.1 996 | 10624,28,45.60,10,0 997 | 10624,29,123.79,6,0 998 | 10624,44,19.45,10,0 999 | 10625,14,23.25,3,0 1000 | 10625,42,14.00,5,0 1001 | 10625,60,34.00,10,0 1002 | 10626,53,32.80,12,0 1003 | 10626,60,34.00,20,0 1004 | 10626,71,21.50,20,0 1005 | 10627,62,49.30,15,0 1006 | 10627,73,15.00,35,0.15 1007 | 10628,1,18.00,25,0 1008 | 10629,29,123.79,20,0 1009 | 10629,64,33.25,9,0 1010 | 10630,55,24.00,12,0.05 1011 | 10630,76,18.00,35,0 1012 | 10631,75,7.75,8,0.1 1013 | 10632,2,19.00,30,0.05 1014 | 10632,33,2.50,20,0.05 1015 | 10633,12,38.00,36,0.15 1016 | 10633,13,6.00,13,0.15 1017 | 10633,26,31.23,35,0.15 1018 | 10633,62,49.30,80,0.15 1019 | 10634,7,30.00,35,0 1020 | 10634,18,62.50,50,0 1021 | 10634,51,53.00,15,0 1022 | 10634,75,7.75,2,0 1023 | 10635,4,22.00,10,0.1 1024 | 10635,5,21.35,15,0.1 1025 | 10635,22,21.00,40,0 1026 | 10636,4,22.00,25,0 1027 | 10636,58,13.25,6,0 1028 | 10637,11,21.00,10,0 1029 | 10637,50,16.25,25,0.05 1030 | 10637,56,38.00,60,0.05 1031 | 10638,45,9.50,20,0 1032 | 10638,65,21.05,21,0 1033 | 10638,72,34.80,60,0 1034 | 10639,18,62.50,8,0 1035 | 10640,69,36.00,20,0.25 1036 | 10640,70,15.00,15,0.25 1037 | 10641,2,19.00,50,0 1038 | 10641,40,18.40,60,0 1039 | 10642,21,10.00,30,0.2 1040 | 10642,61,28.50,20,0.2 1041 | 10643,28,45.60,15,0.25 1042 | 10643,39,18.00,21,0.25 1043 | 10643,46,12.00,2,0.25 1044 | 10644,18,62.50,4,0.1 1045 | 10644,43,46.00,20,0 1046 | 10644,46,12.00,21,0.1 1047 | 10645,18,62.50,20,0 1048 | 10645,36,19.00,15,0 1049 | 10646,1,18.00,15,0.25 1050 | 10646,10,31.00,18,0.25 1051 | 10646,71,21.50,30,0.25 1052 | 10646,77,13.00,35,0.25 1053 | 10647,19,9.20,30,0 1054 | 10647,39,18.00,20,0 1055 | 10648,22,21.00,15,0 1056 | 10648,24,4.50,15,0.15 1057 | 10649,28,45.60,20,0 1058 | 10649,72,34.80,15,0 1059 | 10650,30,25.89,30,0 1060 | 10650,53,32.80,25,0.05 1061 | 10650,54,7.45,30,0 1062 | 10651,19,9.20,12,0.25 1063 | 10651,22,21.00,20,0.25 1064 | 10652,30,25.89,2,0.25 1065 | 10652,42,14.00,20,0 1066 | 10653,16,17.45,30,0.1 1067 | 10653,60,34.00,20,0.1 1068 | 10654,4,22.00,12,0.1 1069 | 10654,39,18.00,20,0.1 1070 | 10654,54,7.45,6,0.1 1071 | 10655,41,9.65,20,0.2 1072 | 10656,14,23.25,3,0.1 1073 | 10656,44,19.45,28,0.1 1074 | 10656,47,9.50,6,0.1 1075 | 10657,15,15.50,50,0 1076 | 10657,41,9.65,24,0 1077 | 10657,46,12.00,45,0 1078 | 10657,47,9.50,10,0 1079 | 10657,56,38.00,45,0 1080 | 10657,60,34.00,30,0 1081 | 10658,21,10.00,60,0 1082 | 10658,40,18.40,70,0.05 1083 | 10658,60,34.00,55,0.05 1084 | 10658,77,13.00,70,0.05 1085 | 10659,31,12.50,20,0.05 1086 | 10659,40,18.40,24,0.05 1087 | 10659,70,15.00,40,0.05 1088 | 10660,20,81.00,21,0 1089 | 10661,39,18.00,3,0.2 1090 | 10661,58,13.25,49,0.2 1091 | 10662,68,12.50,10,0 1092 | 10663,40,18.40,30,0.05 1093 | 10663,42,14.00,30,0.05 1094 | 10663,51,53.00,20,0.05 1095 | 10664,10,31.00,24,0.15 1096 | 10664,56,38.00,12,0.15 1097 | 10664,65,21.05,15,0.15 1098 | 10665,51,53.00,20,0 1099 | 10665,59,55.00,1,0 1100 | 10665,76,18.00,10,0 1101 | 10666,29,123.79,36,0 1102 | 10666,65,21.05,10,0 1103 | 10667,69,36.00,45,0.2 1104 | 10667,71,21.50,14,0.2 1105 | 10668,31,12.50,8,0.1 1106 | 10668,55,24.00,4,0.1 1107 | 10668,64,33.25,15,0.1 1108 | 10669,36,19.00,30,0 1109 | 10670,23,9.00,32,0 1110 | 10670,46,12.00,60,0 1111 | 10670,67,14.00,25,0 1112 | 10670,73,15.00,50,0 1113 | 10670,75,7.75,25,0 1114 | 10671,16,17.45,10,0 1115 | 10671,62,49.30,10,0 1116 | 10671,65,21.05,12,0 1117 | 10672,38,263.50,15,0.1 1118 | 10672,71,21.50,12,0 1119 | 10673,16,17.45,3,0 1120 | 10673,42,14.00,6,0 1121 | 10673,43,46.00,6,0 1122 | 10674,23,9.00,5,0 1123 | 10675,14,23.25,30,0 1124 | 10675,53,32.80,10,0 1125 | 10675,58,13.25,30,0 1126 | 10676,10,31.00,2,0 1127 | 10676,19,9.20,7,0 1128 | 10676,44,19.45,21,0 1129 | 10677,26,31.23,30,0.15 1130 | 10677,33,2.50,8,0.15 1131 | 10678,12,38.00,100,0 1132 | 10678,33,2.50,30,0 1133 | 10678,41,9.65,120,0 1134 | 10678,54,7.45,30,0 1135 | 10679,59,55.00,12,0 1136 | 10680,16,17.45,50,0.25 1137 | 10680,31,12.50,20,0.25 1138 | 10680,42,14.00,40,0.25 1139 | 10681,19,9.20,30,0.1 1140 | 10681,21,10.00,12,0.1 1141 | 10681,64,33.25,28,0 1142 | 10682,33,2.50,30,0 1143 | 10682,66,17.00,4,0 1144 | 10682,75,7.75,30,0 1145 | 10683,52,7.00,9,0 1146 | 10684,40,18.40,20,0 1147 | 10684,47,9.50,40,0 1148 | 10684,60,34.00,30,0 1149 | 10685,10,31.00,20,0 1150 | 10685,41,9.65,4,0 1151 | 10685,47,9.50,15,0 1152 | 10686,17,39.00,30,0.2 1153 | 10686,26,31.23,15,0 1154 | 10687,9,97.00,50,0.25 1155 | 10687,29,123.79,10,0 1156 | 10687,36,19.00,6,0.25 1157 | 10688,10,31.00,18,0.1 1158 | 10688,28,45.60,60,0.1 1159 | 10688,34,14.00,14,0 1160 | 10689,1,18.00,35,0.25 1161 | 10690,56,38.00,20,0.25 1162 | 10690,77,13.00,30,0.25 1163 | 10691,1,18.00,30,0 1164 | 10691,29,123.79,40,0 1165 | 10691,43,46.00,40,0 1166 | 10691,44,19.45,24,0 1167 | 10691,62,49.30,48,0 1168 | 10692,63,43.90,20,0 1169 | 10693,9,97.00,6,0 1170 | 10693,54,7.45,60,0.15 1171 | 10693,69,36.00,30,0.15 1172 | 10693,73,15.00,15,0.15 1173 | 10694,7,30.00,90,0 1174 | 10694,59,55.00,25,0 1175 | 10694,70,15.00,50,0 1176 | 10695,8,40.00,10,0 1177 | 10695,12,38.00,4,0 1178 | 10695,24,4.50,20,0 1179 | 10696,17,39.00,20,0 1180 | 10696,46,12.00,18,0 1181 | 10697,19,9.20,7,0.25 1182 | 10697,35,18.00,9,0.25 1183 | 10697,58,13.25,30,0.25 1184 | 10697,70,15.00,30,0.25 1185 | 10698,11,21.00,15,0 1186 | 10698,17,39.00,8,0.05 1187 | 10698,29,123.79,12,0.05 1188 | 10698,65,21.05,65,0.05 1189 | 10698,70,15.00,8,0.05 1190 | 10699,47,9.50,12,0 1191 | 10700,1,18.00,5,0.2 1192 | 10700,34,14.00,12,0.2 1193 | 10700,68,12.50,40,0.2 1194 | 10700,71,21.50,60,0.2 1195 | 10701,59,55.00,42,0.15 1196 | 10701,71,21.50,20,0.15 1197 | 10701,76,18.00,35,0.15 1198 | 10702,3,10.00,6,0 1199 | 10702,76,18.00,15,0 1200 | 10703,2,19.00,5,0 1201 | 10703,59,55.00,35,0 1202 | 10703,73,15.00,35,0 1203 | 10704,4,22.00,6,0 1204 | 10704,24,4.50,35,0 1205 | 10704,48,12.75,24,0 1206 | 10705,31,12.50,20,0 1207 | 10705,32,32.00,4,0 1208 | 10706,16,17.45,20,0 1209 | 10706,43,46.00,24,0 1210 | 10706,59,55.00,8,0 1211 | 10707,55,24.00,21,0 1212 | 10707,57,19.50,40,0 1213 | 10707,70,15.00,28,0.15 1214 | 10708,5,21.35,4,0 1215 | 10708,36,19.00,5,0 1216 | 10709,8,40.00,40,0 1217 | 10709,51,53.00,28,0 1218 | 10709,60,34.00,10,0 1219 | 10710,19,9.20,5,0 1220 | 10710,47,9.50,5,0 1221 | 10711,19,9.20,12,0 1222 | 10711,41,9.65,42,0 1223 | 10711,53,32.80,120,0 1224 | 10712,53,32.80,3,0.05 1225 | 10712,56,38.00,30,0 1226 | 10713,10,31.00,18,0 1227 | 10713,26,31.23,30,0 1228 | 10713,45,9.50,110,0 1229 | 10713,46,12.00,24,0 1230 | 10714,2,19.00,30,0.25 1231 | 10714,17,39.00,27,0.25 1232 | 10714,47,9.50,50,0.25 1233 | 10714,56,38.00,18,0.25 1234 | 10714,58,13.25,12,0.25 1235 | 10715,10,31.00,21,0 1236 | 10715,71,21.50,30,0 1237 | 10716,21,10.00,5,0 1238 | 10716,51,53.00,7,0 1239 | 10716,61,28.50,10,0 1240 | 10717,21,10.00,32,0.05 1241 | 10717,54,7.45,15,0 1242 | 10717,69,36.00,25,0.05 1243 | 10718,12,38.00,36,0 1244 | 10718,16,17.45,20,0 1245 | 10718,36,19.00,40,0 1246 | 10718,62,49.30,20,0 1247 | 10719,18,62.50,12,0.25 1248 | 10719,30,25.89,3,0.25 1249 | 10719,54,7.45,40,0.25 1250 | 10720,35,18.00,21,0 1251 | 10720,71,21.50,8,0 1252 | 10721,44,19.45,50,0.05 1253 | 10722,2,19.00,3,0 1254 | 10722,31,12.50,50,0 1255 | 10722,68,12.50,45,0 1256 | 10722,75,7.75,42,0 1257 | 10723,26,31.23,15,0 1258 | 10724,10,31.00,16,0 1259 | 10724,61,28.50,5,0 1260 | 10725,41,9.65,12,0 1261 | 10725,52,7.00,4,0 1262 | 10725,55,24.00,6,0 1263 | 10726,4,22.00,25,0 1264 | 10726,11,21.00,5,0 1265 | 10727,17,39.00,20,0.05 1266 | 10727,56,38.00,10,0.05 1267 | 10727,59,55.00,10,0.05 1268 | 10728,30,25.89,15,0 1269 | 10728,40,18.40,6,0 1270 | 10728,55,24.00,12,0 1271 | 10728,60,34.00,15,0 1272 | 10729,1,18.00,50,0 1273 | 10729,21,10.00,30,0 1274 | 10729,50,16.25,40,0 1275 | 10730,16,17.45,15,0.05 1276 | 10730,31,12.50,3,0.05 1277 | 10730,65,21.05,10,0.05 1278 | 10731,21,10.00,40,0.05 1279 | 10731,51,53.00,30,0.05 1280 | 10732,76,18.00,20,0 1281 | 10733,14,23.25,16,0 1282 | 10733,28,45.60,20,0 1283 | 10733,52,7.00,25,0 1284 | 10734,6,25.00,30,0 1285 | 10734,30,25.89,15,0 1286 | 10734,76,18.00,20,0 1287 | 10735,61,28.50,20,0.1 1288 | 10735,77,13.00,2,0.1 1289 | 10736,65,21.05,40,0 1290 | 10736,75,7.75,20,0 1291 | 10737,13,6.00,4,0 1292 | 10737,41,9.65,12,0 1293 | 10738,16,17.45,3,0 1294 | 10739,36,19.00,6,0 1295 | 10739,52,7.00,18,0 1296 | 10740,28,45.60,5,0.2 1297 | 10740,35,18.00,35,0.2 1298 | 10740,45,9.50,40,0.2 1299 | 10740,56,38.00,14,0.2 1300 | 10741,2,19.00,15,0.2 1301 | 10742,3,10.00,20,0 1302 | 10742,60,34.00,50,0 1303 | 10742,72,34.80,35,0 1304 | 10743,46,12.00,28,0.05 1305 | 10744,40,18.40,50,0.2 1306 | 10745,18,62.50,24,0 1307 | 10745,44,19.45,16,0 1308 | 10745,59,55.00,45,0 1309 | 10745,72,34.80,7,0 1310 | 10746,13,6.00,6,0 1311 | 10746,42,14.00,28,0 1312 | 10746,62,49.30,9,0 1313 | 10746,69,36.00,40,0 1314 | 10747,31,12.50,8,0 1315 | 10747,41,9.65,35,0 1316 | 10747,63,43.90,9,0 1317 | 10747,69,36.00,30,0 1318 | 10748,23,9.00,44,0 1319 | 10748,40,18.40,40,0 1320 | 10748,56,38.00,28,0 1321 | 10749,56,38.00,15,0 1322 | 10749,59,55.00,6,0 1323 | 10749,76,18.00,10,0 1324 | 10750,14,23.25,5,0.15 1325 | 10750,45,9.50,40,0.15 1326 | 10750,59,55.00,25,0.15 1327 | 10751,26,31.23,12,0.1 1328 | 10751,30,25.89,30,0 1329 | 10751,50,16.25,20,0.1 1330 | 10751,73,15.00,15,0 1331 | 10752,1,18.00,8,0 1332 | 10752,69,36.00,3,0 1333 | 10753,45,9.50,4,0 1334 | 10753,74,10.00,5,0 1335 | 10754,40,18.40,3,0 1336 | 10755,47,9.50,30,0.25 1337 | 10755,56,38.00,30,0.25 1338 | 10755,57,19.50,14,0.25 1339 | 10755,69,36.00,25,0.25 1340 | 10756,18,62.50,21,0.2 1341 | 10756,36,19.00,20,0.2 1342 | 10756,68,12.50,6,0.2 1343 | 10756,69,36.00,20,0.2 1344 | 10757,34,14.00,30,0 1345 | 10757,59,55.00,7,0 1346 | 10757,62,49.30,30,0 1347 | 10757,64,33.25,24,0 1348 | 10758,26,31.23,20,0 1349 | 10758,52,7.00,60,0 1350 | 10758,70,15.00,40,0 1351 | 10759,32,32.00,10,0 1352 | 10760,25,14.00,12,0.25 1353 | 10760,27,43.90,40,0 1354 | 10760,43,46.00,30,0.25 1355 | 10761,25,14.00,35,0.25 1356 | 10761,75,7.75,18,0 1357 | 10762,39,18.00,16,0 1358 | 10762,47,9.50,30,0 1359 | 10762,51,53.00,28,0 1360 | 10762,56,38.00,60,0 1361 | 10763,21,10.00,40,0 1362 | 10763,22,21.00,6,0 1363 | 10763,24,4.50,20,0 1364 | 10764,3,10.00,20,0.1 1365 | 10764,39,18.00,130,0.1 1366 | 10765,65,21.05,80,0.1 1367 | 10766,2,19.00,40,0 1368 | 10766,7,30.00,35,0 1369 | 10766,68,12.50,40,0 1370 | 10767,42,14.00,2,0 1371 | 10768,22,21.00,4,0 1372 | 10768,31,12.50,50,0 1373 | 10768,60,34.00,15,0 1374 | 10768,71,21.50,12,0 1375 | 10769,41,9.65,30,0.05 1376 | 10769,52,7.00,15,0.05 1377 | 10769,61,28.50,20,0 1378 | 10769,62,49.30,15,0 1379 | 10770,11,21.00,15,0.25 1380 | 10771,71,21.50,16,0 1381 | 10772,29,123.79,18,0 1382 | 10772,59,55.00,25,0 1383 | 10773,17,39.00,33,0 1384 | 10773,31,12.50,70,0.2 1385 | 10773,75,7.75,7,0.2 1386 | 10774,31,12.50,2,0.25 1387 | 10774,66,17.00,50,0 1388 | 10775,10,31.00,6,0 1389 | 10775,67,14.00,3,0 1390 | 10776,31,12.50,16,0.05 1391 | 10776,42,14.00,12,0.05 1392 | 10776,45,9.50,27,0.05 1393 | 10776,51,53.00,120,0.05 1394 | 10777,42,14.00,20,0.2 1395 | 10778,41,9.65,10,0 1396 | 10779,16,17.45,20,0 1397 | 10779,62,49.30,20,0 1398 | 10780,70,15.00,35,0 1399 | 10780,77,13.00,15,0 1400 | 10781,54,7.45,3,0.2 1401 | 10781,56,38.00,20,0.2 1402 | 10781,74,10.00,35,0 1403 | 10782,31,12.50,1,0 1404 | 10783,31,12.50,10,0 1405 | 10783,38,263.50,5,0 1406 | 10784,36,19.00,30,0 1407 | 10784,39,18.00,2,0.15 1408 | 10784,72,34.80,30,0.15 1409 | 10785,10,31.00,10,0 1410 | 10785,75,7.75,10,0 1411 | 10786,8,40.00,30,0.2 1412 | 10786,30,25.89,15,0.2 1413 | 10786,75,7.75,42,0.2 1414 | 10787,2,19.00,15,0.05 1415 | 10787,29,123.79,20,0.05 1416 | 10788,19,9.20,50,0.05 1417 | 10788,75,7.75,40,0.05 1418 | 10789,18,62.50,30,0 1419 | 10789,35,18.00,15,0 1420 | 10789,63,43.90,30,0 1421 | 10789,68,12.50,18,0 1422 | 10790,7,30.00,3,0.15 1423 | 10790,56,38.00,20,0.15 1424 | 10791,29,123.79,14,0.05 1425 | 10791,41,9.65,20,0.05 1426 | 10792,2,19.00,10,0 1427 | 10792,54,7.45,3,0 1428 | 10792,68,12.50,15,0 1429 | 10793,41,9.65,14,0 1430 | 10793,52,7.00,8,0 1431 | 10794,14,23.25,15,0.2 1432 | 10794,54,7.45,6,0.2 1433 | 10795,16,17.45,65,0 1434 | 10795,17,39.00,35,0.25 1435 | 10796,26,31.23,21,0.2 1436 | 10796,44,19.45,10,0 1437 | 10796,64,33.25,35,0.2 1438 | 10796,69,36.00,24,0.2 1439 | 10797,11,21.00,20,0 1440 | 10798,62,49.30,2,0 1441 | 10798,72,34.80,10,0 1442 | 10799,13,6.00,20,0.15 1443 | 10799,24,4.50,20,0.15 1444 | 10799,59,55.00,25,0 1445 | 10800,11,21.00,50,0.1 1446 | 10800,51,53.00,10,0.1 1447 | 10800,54,7.45,7,0.1 1448 | 10801,17,39.00,40,0.25 1449 | 10801,29,123.79,20,0.25 1450 | 10802,30,25.89,25,0.25 1451 | 10802,51,53.00,30,0.25 1452 | 10802,55,24.00,60,0.25 1453 | 10802,62,49.30,5,0.25 1454 | 10803,19,9.20,24,0.05 1455 | 10803,25,14.00,15,0.05 1456 | 10803,59,55.00,15,0.05 1457 | 10804,10,31.00,36,0 1458 | 10804,28,45.60,24,0 1459 | 10804,49,20.00,4,0.15 1460 | 10805,34,14.00,10,0 1461 | 10805,38,263.50,10,0 1462 | 10806,2,19.00,20,0.25 1463 | 10806,65,21.05,2,0 1464 | 10806,74,10.00,15,0.25 1465 | 10807,40,18.40,1,0 1466 | 10808,56,38.00,20,0.15 1467 | 10808,76,18.00,50,0.15 1468 | 10809,52,7.00,20,0 1469 | 10810,13,6.00,7,0 1470 | 10810,25,14.00,5,0 1471 | 10810,70,15.00,5,0 1472 | 10811,19,9.20,15,0 1473 | 10811,23,9.00,18,0 1474 | 10811,40,18.40,30,0 1475 | 10812,31,12.50,16,0.1 1476 | 10812,72,34.80,40,0.1 1477 | 10812,77,13.00,20,0 1478 | 10813,2,19.00,12,0.2 1479 | 10813,46,12.00,35,0 1480 | 10814,41,9.65,20,0 1481 | 10814,43,46.00,20,0.15 1482 | 10814,48,12.75,8,0.15 1483 | 10814,61,28.50,30,0.15 1484 | 10815,33,2.50,16,0 1485 | 10816,38,263.50,30,0.05 1486 | 10816,62,49.30,20,0.05 1487 | 10817,26,31.23,40,0.15 1488 | 10817,38,263.50,30,0 1489 | 10817,40,18.40,60,0.15 1490 | 10817,62,49.30,25,0.15 1491 | 10818,32,32.00,20,0 1492 | 10818,41,9.65,20,0 1493 | 10819,43,46.00,7,0 1494 | 10819,75,7.75,20,0 1495 | 10820,56,38.00,30,0 1496 | 10821,35,18.00,20,0 1497 | 10821,51,53.00,6,0 1498 | 10822,62,49.30,3,0 1499 | 10822,70,15.00,6,0 1500 | 10823,11,21.00,20,0.1 1501 | 10823,57,19.50,15,0 1502 | 10823,59,55.00,40,0.1 1503 | 10823,77,13.00,15,0.1 1504 | 10824,41,9.65,12,0 1505 | 10824,70,15.00,9,0 1506 | 10825,26,31.23,12,0 1507 | 10825,53,32.80,20,0 1508 | 10826,31,12.50,35,0 1509 | 10826,57,19.50,15,0 1510 | 10827,10,31.00,15,0 1511 | 10827,39,18.00,21,0 1512 | 10828,20,81.00,5,0 1513 | 10828,38,263.50,2,0 1514 | 10829,2,19.00,10,0 1515 | 10829,8,40.00,20,0 1516 | 10829,13,6.00,10,0 1517 | 10829,60,34.00,21,0 1518 | 10830,6,25.00,6,0 1519 | 10830,39,18.00,28,0 1520 | 10830,60,34.00,30,0 1521 | 10830,68,12.50,24,0 1522 | 10831,19,9.20,2,0 1523 | 10831,35,18.00,8,0 1524 | 10831,38,263.50,8,0 1525 | 10831,43,46.00,9,0 1526 | 10832,13,6.00,3,0.2 1527 | 10832,25,14.00,10,0.2 1528 | 10832,44,19.45,16,0.2 1529 | 10832,64,33.25,3,0 1530 | 10833,7,30.00,20,0.1 1531 | 10833,31,12.50,9,0.1 1532 | 10833,53,32.80,9,0.1 1533 | 10834,29,123.79,8,0.05 1534 | 10834,30,25.89,20,0.05 1535 | 10835,59,55.00,15,0 1536 | 10835,77,13.00,2,0.2 1537 | 10836,22,21.00,52,0 1538 | 10836,35,18.00,6,0 1539 | 10836,57,19.50,24,0 1540 | 10836,60,34.00,60,0 1541 | 10836,64,33.25,30,0 1542 | 10837,13,6.00,6,0 1543 | 10837,40,18.40,25,0 1544 | 10837,47,9.50,40,0.25 1545 | 10837,76,18.00,21,0.25 1546 | 10838,1,18.00,4,0.25 1547 | 10838,18,62.50,25,0.25 1548 | 10838,36,19.00,50,0.25 1549 | 10839,58,13.25,30,0.1 1550 | 10839,72,34.80,15,0.1 1551 | 10840,25,14.00,6,0.2 1552 | 10840,39,18.00,10,0.2 1553 | 10841,10,31.00,16,0 1554 | 10841,56,38.00,30,0 1555 | 10841,59,55.00,50,0 1556 | 10841,77,13.00,15,0 1557 | 10842,11,21.00,15,0 1558 | 10842,43,46.00,5,0 1559 | 10842,68,12.50,20,0 1560 | 10842,70,15.00,12,0 1561 | 10843,51,53.00,4,0.25 1562 | 10844,22,21.00,35,0 1563 | 10845,23,9.00,70,0.1 1564 | 10845,35,18.00,25,0.1 1565 | 10845,42,14.00,42,0.1 1566 | 10845,58,13.25,60,0.1 1567 | 10845,64,33.25,48,0 1568 | 10846,4,22.00,21,0 1569 | 10846,70,15.00,30,0 1570 | 10846,74,10.00,20,0 1571 | 10847,1,18.00,80,0.2 1572 | 10847,19,9.20,12,0.2 1573 | 10847,37,26.00,60,0.2 1574 | 10847,45,9.50,36,0.2 1575 | 10847,60,34.00,45,0.2 1576 | 10847,71,21.50,55,0.2 1577 | 10848,5,21.35,30,0 1578 | 10848,9,97.00,3,0 1579 | 10849,3,10.00,49,0 1580 | 10849,26,31.23,18,0.15 1581 | 10850,25,14.00,20,0.15 1582 | 10850,33,2.50,4,0.15 1583 | 10850,70,15.00,30,0.15 1584 | 10851,2,19.00,5,0.05 1585 | 10851,25,14.00,10,0.05 1586 | 10851,57,19.50,10,0.05 1587 | 10851,59,55.00,42,0.05 1588 | 10852,2,19.00,15,0 1589 | 10852,17,39.00,6,0 1590 | 10852,62,49.30,50,0 1591 | 10853,18,62.50,10,0 1592 | 10854,10,31.00,100,0.15 1593 | 10854,13,6.00,65,0.15 1594 | 10855,16,17.45,50,0 1595 | 10855,31,12.50,14,0 1596 | 10855,56,38.00,24,0 1597 | 10855,65,21.05,15,0.15 1598 | 10856,2,19.00,20,0 1599 | 10856,42,14.00,20,0 1600 | 10857,3,10.00,30,0 1601 | 10857,26,31.23,35,0.25 1602 | 10857,29,123.79,10,0.25 1603 | 10858,7,30.00,5,0 1604 | 10858,27,43.90,10,0 1605 | 10858,70,15.00,4,0 1606 | 10859,24,4.50,40,0.25 1607 | 10859,54,7.45,35,0.25 1608 | 10859,64,33.25,30,0.25 1609 | 10860,51,53.00,3,0 1610 | 10860,76,18.00,20,0 1611 | 10861,17,39.00,42,0 1612 | 10861,18,62.50,20,0 1613 | 10861,21,10.00,40,0 1614 | 10861,33,2.50,35,0 1615 | 10861,62,49.30,3,0 1616 | 10862,11,21.00,25,0 1617 | 10862,52,7.00,8,0 1618 | 10863,1,18.00,20,0.15 1619 | 10863,58,13.25,12,0.15 1620 | 10864,35,18.00,4,0 1621 | 10864,67,14.00,15,0 1622 | 10865,38,263.50,60,0.05 1623 | 10865,39,18.00,80,0.05 1624 | 10866,2,19.00,21,0.25 1625 | 10866,24,4.50,6,0.25 1626 | 10866,30,25.89,40,0.25 1627 | 10867,53,32.80,3,0 1628 | 10868,26,31.23,20,0 1629 | 10868,35,18.00,30,0 1630 | 10868,49,20.00,42,0.1 1631 | 10869,1,18.00,40,0 1632 | 10869,11,21.00,10,0 1633 | 10869,23,9.00,50,0 1634 | 10869,68,12.50,20,0 1635 | 10870,35,18.00,3,0 1636 | 10870,51,53.00,2,0 1637 | 10871,6,25.00,50,0.05 1638 | 10871,16,17.45,12,0.05 1639 | 10871,17,39.00,16,0.05 1640 | 10872,55,24.00,10,0.05 1641 | 10872,62,49.30,20,0.05 1642 | 10872,64,33.25,15,0.05 1643 | 10872,65,21.05,21,0.05 1644 | 10873,21,10.00,20,0 1645 | 10873,28,45.60,3,0 1646 | 10874,10,31.00,10,0 1647 | 10875,19,9.20,25,0 1648 | 10875,47,9.50,21,0.1 1649 | 10875,49,20.00,15,0 1650 | 10876,46,12.00,21,0 1651 | 10876,64,33.25,20,0 1652 | 10877,16,17.45,30,0.25 1653 | 10877,18,62.50,25,0 1654 | 10878,20,81.00,20,0.05 1655 | 10879,40,18.40,12,0 1656 | 10879,65,21.05,10,0 1657 | 10879,76,18.00,10,0 1658 | 10880,23,9.00,30,0.2 1659 | 10880,61,28.50,30,0.2 1660 | 10880,70,15.00,50,0.2 1661 | 10881,73,15.00,10,0 1662 | 10882,42,14.00,25,0 1663 | 10882,49,20.00,20,0.15 1664 | 10882,54,7.45,32,0.15 1665 | 10883,24,4.50,8,0 1666 | 10884,21,10.00,40,0.05 1667 | 10884,56,38.00,21,0.05 1668 | 10884,65,21.05,12,0.05 1669 | 10885,2,19.00,20,0 1670 | 10885,24,4.50,12,0 1671 | 10885,70,15.00,30,0 1672 | 10885,77,13.00,25,0 1673 | 10886,10,31.00,70,0 1674 | 10886,31,12.50,35,0 1675 | 10886,77,13.00,40,0 1676 | 10887,25,14.00,5,0 1677 | 10888,2,19.00,20,0 1678 | 10888,68,12.50,18,0 1679 | 10889,11,21.00,40,0 1680 | 10889,38,263.50,40,0 1681 | 10890,17,39.00,15,0 1682 | 10890,34,14.00,10,0 1683 | 10890,41,9.65,14,0 1684 | 10891,30,25.89,15,0.05 1685 | 10892,59,55.00,40,0.05 1686 | 10893,8,40.00,30,0 1687 | 10893,24,4.50,10,0 1688 | 10893,29,123.79,24,0 1689 | 10893,30,25.89,35,0 1690 | 10893,36,19.00,20,0 1691 | 10894,13,6.00,28,0.05 1692 | 10894,69,36.00,50,0.05 1693 | 10894,75,7.75,120,0.05 1694 | 10895,24,4.50,110,0 1695 | 10895,39,18.00,45,0 1696 | 10895,40,18.40,91,0 1697 | 10895,60,34.00,100,0 1698 | 10896,45,9.50,15,0 1699 | 10896,56,38.00,16,0 1700 | 10897,29,123.79,80,0 1701 | 10897,30,25.89,36,0 1702 | 10898,13,6.00,5,0 1703 | 10899,39,18.00,8,0.15 1704 | 10900,70,15.00,3,0.25 1705 | 10901,41,9.65,30,0 1706 | 10901,71,21.50,30,0 1707 | 10902,55,24.00,30,0.15 1708 | 10902,62,49.30,6,0.15 1709 | 10903,13,6.00,40,0 1710 | 10903,65,21.05,21,0 1711 | 10903,68,12.50,20,0 1712 | 10904,58,13.25,15,0 1713 | 10904,62,49.30,35,0 1714 | 10905,1,18.00,20,0.05 1715 | 10906,61,28.50,15,0 1716 | 10907,75,7.75,14,0 1717 | 10908,7,30.00,20,0.05 1718 | 10908,52,7.00,14,0.05 1719 | 10909,7,30.00,12,0 1720 | 10909,16,17.45,15,0 1721 | 10909,41,9.65,5,0 1722 | 10910,19,9.20,12,0 1723 | 10910,49,20.00,10,0 1724 | 10910,61,28.50,5,0 1725 | 10911,1,18.00,10,0 1726 | 10911,17,39.00,12,0 1727 | 10911,67,14.00,15,0 1728 | 10912,11,21.00,40,0.25 1729 | 10912,29,123.79,60,0.25 1730 | 10913,4,22.00,30,0.25 1731 | 10913,33,2.50,40,0.25 1732 | 10913,58,13.25,15,0 1733 | 10914,71,21.50,25,0 1734 | 10915,17,39.00,10,0 1735 | 10915,33,2.50,30,0 1736 | 10915,54,7.45,10,0 1737 | 10916,16,17.45,6,0 1738 | 10916,32,32.00,6,0 1739 | 10916,57,19.50,20,0 1740 | 10917,30,25.89,1,0 1741 | 10917,60,34.00,10,0 1742 | 10918,1,18.00,60,0.25 1743 | 10918,60,34.00,25,0.25 1744 | 10919,16,17.45,24,0 1745 | 10919,25,14.00,24,0 1746 | 10919,40,18.40,20,0 1747 | 10920,50,16.25,24,0 1748 | 10921,35,18.00,10,0 1749 | 10921,63,43.90,40,0 1750 | 10922,17,39.00,15,0 1751 | 10922,24,4.50,35,0 1752 | 10923,42,14.00,10,0.2 1753 | 10923,43,46.00,10,0.2 1754 | 10923,67,14.00,24,0.2 1755 | 10924,10,31.00,20,0.1 1756 | 10924,28,45.60,30,0.1 1757 | 10924,75,7.75,6,0 1758 | 10925,36,19.00,25,0.15 1759 | 10925,52,7.00,12,0.15 1760 | 10926,11,21.00,2,0 1761 | 10926,13,6.00,10,0 1762 | 10926,19,9.20,7,0 1763 | 10926,72,34.80,10,0 1764 | 10927,20,81.00,5,0 1765 | 10927,52,7.00,5,0 1766 | 10927,76,18.00,20,0 1767 | 10928,47,9.50,5,0 1768 | 10928,76,18.00,5,0 1769 | 10929,21,10.00,60,0 1770 | 10929,75,7.75,49,0 1771 | 10929,77,13.00,15,0 1772 | 10930,21,10.00,36,0 1773 | 10930,27,43.90,25,0 1774 | 10930,55,24.00,25,0.2 1775 | 10930,58,13.25,30,0.2 1776 | 10931,13,6.00,42,0.15 1777 | 10931,57,19.50,30,0 1778 | 10932,16,17.45,30,0.1 1779 | 10932,62,49.30,14,0.1 1780 | 10932,72,34.80,16,0 1781 | 10932,75,7.75,20,0.1 1782 | 10933,53,32.80,2,0 1783 | 10933,61,28.50,30,0 1784 | 10934,6,25.00,20,0 1785 | 10935,1,18.00,21,0 1786 | 10935,18,62.50,4,0.25 1787 | 10935,23,9.00,8,0.25 1788 | 10936,36,19.00,30,0.2 1789 | 10937,28,45.60,8,0 1790 | 10937,34,14.00,20,0 1791 | 10938,13,6.00,20,0.25 1792 | 10938,43,46.00,24,0.25 1793 | 10938,60,34.00,49,0.25 1794 | 10938,71,21.50,35,0.25 1795 | 10939,2,19.00,10,0.15 1796 | 10939,67,14.00,40,0.15 1797 | 10940,7,30.00,8,0 1798 | 10940,13,6.00,20,0 1799 | 10941,31,12.50,44,0.25 1800 | 10941,62,49.30,30,0.25 1801 | 10941,68,12.50,80,0.25 1802 | 10941,72,34.80,50,0 1803 | 10942,49,20.00,28,0 1804 | 10943,13,6.00,15,0 1805 | 10943,22,21.00,21,0 1806 | 10943,46,12.00,15,0 1807 | 10944,11,21.00,5,0.25 1808 | 10944,44,19.45,18,0.25 1809 | 10944,56,38.00,18,0 1810 | 10945,13,6.00,20,0 1811 | 10945,31,12.50,10,0 1812 | 10946,10,31.00,25,0 1813 | 10946,24,4.50,25,0 1814 | 10946,77,13.00,40,0 1815 | 10947,59,55.00,4,0 1816 | 10948,50,16.25,9,0 1817 | 10948,51,53.00,40,0 1818 | 10948,55,24.00,4,0 1819 | 10949,6,25.00,12,0 1820 | 10949,10,31.00,30,0 1821 | 10949,17,39.00,6,0 1822 | 10949,62,49.30,60,0 1823 | 10950,4,22.00,5,0 1824 | 10951,33,2.50,15,0.05 1825 | 10951,41,9.65,6,0.05 1826 | 10951,75,7.75,50,0.05 1827 | 10952,6,25.00,16,0.05 1828 | 10952,28,45.60,2,0 1829 | 10953,20,81.00,50,0.05 1830 | 10953,31,12.50,50,0.05 1831 | 10954,16,17.45,28,0.15 1832 | 10954,31,12.50,25,0.15 1833 | 10954,45,9.50,30,0 1834 | 10954,60,34.00,24,0.15 1835 | 10955,75,7.75,12,0.2 1836 | 10956,21,10.00,12,0 1837 | 10956,47,9.50,14,0 1838 | 10956,51,53.00,8,0 1839 | 10957,30,25.89,30,0 1840 | 10957,35,18.00,40,0 1841 | 10957,64,33.25,8,0 1842 | 10958,5,21.35,20,0 1843 | 10958,7,30.00,6,0 1844 | 10958,72,34.80,5,0 1845 | 10959,75,7.75,20,0.15 1846 | 10960,24,4.50,10,0.25 1847 | 10960,41,9.65,24,0 1848 | 10961,52,7.00,6,0.05 1849 | 10961,76,18.00,60,0 1850 | 10962,7,30.00,45,0 1851 | 10962,13,6.00,77,0 1852 | 10962,53,32.80,20,0 1853 | 10962,69,36.00,9,0 1854 | 10962,76,18.00,44,0 1855 | 10963,60,34.00,2,0.15 1856 | 10964,18,62.50,6,0 1857 | 10964,38,263.50,5,0 1858 | 10964,69,36.00,10,0 1859 | 10965,51,53.00,16,0 1860 | 10966,37,26.00,8,0 1861 | 10966,56,38.00,12,0.15 1862 | 10966,62,49.30,12,0.15 1863 | 10967,19,9.20,12,0 1864 | 10967,49,20.00,40,0 1865 | 10968,12,38.00,30,0 1866 | 10968,24,4.50,30,0 1867 | 10968,64,33.25,4,0 1868 | 10969,46,12.00,9,0 1869 | 10970,52,7.00,40,0.2 1870 | 10971,29,123.79,14,0 1871 | 10972,17,39.00,6,0 1872 | 10972,33,2.50,7,0 1873 | 10973,26,31.23,5,0 1874 | 10973,41,9.65,6,0 1875 | 10973,75,7.75,10,0 1876 | 10974,63,43.90,10,0 1877 | 10975,8,40.00,16,0 1878 | 10975,75,7.75,10,0 1879 | 10976,28,45.60,20,0 1880 | 10977,39,18.00,30,0 1881 | 10977,47,9.50,30,0 1882 | 10977,51,53.00,10,0 1883 | 10977,63,43.90,20,0 1884 | 10978,8,40.00,20,0.15 1885 | 10978,21,10.00,40,0.15 1886 | 10978,40,18.40,10,0 1887 | 10978,44,19.45,6,0.15 1888 | 10979,7,30.00,18,0 1889 | 10979,12,38.00,20,0 1890 | 10979,24,4.50,80,0 1891 | 10979,27,43.90,30,0 1892 | 10979,31,12.50,24,0 1893 | 10979,63,43.90,35,0 1894 | 10980,75,7.75,40,0.2 1895 | 10981,38,263.50,60,0 1896 | 10982,7,30.00,20,0 1897 | 10982,43,46.00,9,0 1898 | 10983,13,6.00,84,0.15 1899 | 10983,57,19.50,15,0 1900 | 10984,16,17.45,55,0 1901 | 10984,24,4.50,20,0 1902 | 10984,36,19.00,40,0 1903 | 10985,16,17.45,36,0.1 1904 | 10985,18,62.50,8,0.1 1905 | 10985,32,32.00,35,0.1 1906 | 10986,11,21.00,30,0 1907 | 10986,20,81.00,15,0 1908 | 10986,76,18.00,10,0 1909 | 10986,77,13.00,15,0 1910 | 10987,7,30.00,60,0 1911 | 10987,43,46.00,6,0 1912 | 10987,72,34.80,20,0 1913 | 10988,7,30.00,60,0 1914 | 10988,62,49.30,40,0.1 1915 | 10989,6,25.00,40,0 1916 | 10989,11,21.00,15,0 1917 | 10989,41,9.65,4,0 1918 | 10990,21,10.00,65,0 1919 | 10990,34,14.00,60,0.15 1920 | 10990,55,24.00,65,0.15 1921 | 10990,61,28.50,66,0.15 1922 | 10991,2,19.00,50,0.2 1923 | 10991,70,15.00,20,0.2 1924 | 10991,76,18.00,90,0.2 1925 | 10992,72,34.80,2,0 1926 | 10993,29,123.79,50,0.25 1927 | 10993,41,9.65,35,0.25 1928 | 10994,59,55.00,18,0.05 1929 | 10995,51,53.00,20,0 1930 | 10995,60,34.00,4,0 1931 | 10996,42,14.00,40,0 1932 | 10997,32,32.00,50,0 1933 | 10997,46,12.00,20,0.25 1934 | 10997,52,7.00,20,0.25 1935 | 10998,24,4.50,12,0 1936 | 10998,61,28.50,7,0 1937 | 10998,74,10.00,20,0 1938 | 10998,75,7.75,30,0 1939 | 10999,41,9.65,20,0.05 1940 | 10999,51,53.00,15,0.05 1941 | 10999,77,13.00,21,0.05 1942 | 11000,4,22.00,25,0.25 1943 | 11000,24,4.50,30,0.25 1944 | 11000,77,13.00,30,0 1945 | 11001,7,30.00,60,0 1946 | 11001,22,21.00,25,0 1947 | 11001,46,12.00,25,0 1948 | 11001,55,24.00,6,0 1949 | 11002,13,6.00,56,0 1950 | 11002,35,18.00,15,0.15 1951 | 11002,42,14.00,24,0.15 1952 | 11002,55,24.00,40,0 1953 | 11003,1,18.00,4,0 1954 | 11003,40,18.40,10,0 1955 | 11003,52,7.00,10,0 1956 | 11004,26,31.23,6,0 1957 | 11004,76,18.00,6,0 1958 | 11005,1,18.00,2,0 1959 | 11005,59,55.00,10,0 1960 | 11006,1,18.00,8,0 1961 | 11006,29,123.79,2,0.25 1962 | 11007,8,40.00,30,0 1963 | 11007,29,123.79,10,0 1964 | 11007,42,14.00,14,0 1965 | 11008,28,45.60,70,0.05 1966 | 11008,34,14.00,90,0.05 1967 | 11008,71,21.50,21,0 1968 | 11009,24,4.50,12,0 1969 | 11009,36,19.00,18,0.25 1970 | 11009,60,34.00,9,0 1971 | 11010,7,30.00,20,0 1972 | 11010,24,4.50,10,0 1973 | 11011,58,13.25,40,0.05 1974 | 11011,71,21.50,20,0 1975 | 11012,19,9.20,50,0.05 1976 | 11012,60,34.00,36,0.05 1977 | 11012,71,21.50,60,0.05 1978 | 11013,23,9.00,10,0 1979 | 11013,42,14.00,4,0 1980 | 11013,45,9.50,20,0 1981 | 11013,68,12.50,2,0 1982 | 11014,41,9.65,28,0.1 1983 | 11015,30,25.89,15,0 1984 | 11015,77,13.00,18,0 1985 | 11016,31,12.50,15,0 1986 | 11016,36,19.00,16,0 1987 | 11017,3,10.00,25,0 1988 | 11017,59,55.00,110,0 1989 | 11017,70,15.00,30,0 1990 | 11018,12,38.00,20,0 1991 | 11018,18,62.50,10,0 1992 | 11018,56,38.00,5,0 1993 | 11019,46,12.00,3,0 1994 | 11019,49,20.00,2,0 1995 | 11020,10,31.00,24,0.15 1996 | 11021,2,19.00,11,0.25 1997 | 11021,20,81.00,15,0 1998 | 11021,26,31.23,63,0 1999 | 11021,51,53.00,44,0.25 2000 | 11021,72,34.80,35,0 2001 | 11022,19,9.20,35,0 2002 | 11022,69,36.00,30,0 2003 | 11023,7,30.00,4,0 2004 | 11023,43,46.00,30,0 2005 | 11024,26,31.23,12,0 2006 | 11024,33,2.50,30,0 2007 | 11024,65,21.05,21,0 2008 | 11024,71,21.50,50,0 2009 | 11025,1,18.00,10,0.1 2010 | 11025,13,6.00,20,0.1 2011 | 11026,18,62.50,8,0 2012 | 11026,51,53.00,10,0 2013 | 11027,24,4.50,30,0.25 2014 | 11027,62,49.30,21,0.25 2015 | 11028,55,24.00,35,0 2016 | 11028,59,55.00,24,0 2017 | 11029,56,38.00,20,0 2018 | 11029,63,43.90,12,0 2019 | 11030,2,19.00,100,0.25 2020 | 11030,5,21.35,70,0 2021 | 11030,29,123.79,60,0.25 2022 | 11030,59,55.00,100,0.25 2023 | 11031,1,18.00,45,0 2024 | 11031,13,6.00,80,0 2025 | 11031,24,4.50,21,0 2026 | 11031,64,33.25,20,0 2027 | 11031,71,21.50,16,0 2028 | 11032,36,19.00,35,0 2029 | 11032,38,263.50,25,0 2030 | 11032,59,55.00,30,0 2031 | 11033,53,32.80,70,0.1 2032 | 11033,69,36.00,36,0.1 2033 | 11034,21,10.00,15,0.1 2034 | 11034,44,19.45,12,0 2035 | 11034,61,28.50,6,0 2036 | 11035,1,18.00,10,0 2037 | 11035,35,18.00,60,0 2038 | 11035,42,14.00,30,0 2039 | 11035,54,7.45,10,0 2040 | 11036,13,6.00,7,0 2041 | 11036,59,55.00,30,0 2042 | 11037,70,15.00,4,0 2043 | 11038,40,18.40,5,0.2 2044 | 11038,52,7.00,2,0 2045 | 11038,71,21.50,30,0 2046 | 11039,28,45.60,20,0 2047 | 11039,35,18.00,24,0 2048 | 11039,49,20.00,60,0 2049 | 11039,57,19.50,28,0 2050 | 11040,21,10.00,20,0 2051 | 11041,2,19.00,30,0.2 2052 | 11041,63,43.90,30,0 2053 | 11042,44,19.45,15,0 2054 | 11042,61,28.50,4,0 2055 | 11043,11,21.00,10,0 2056 | 11044,62,49.30,12,0 2057 | 11045,33,2.50,15,0 2058 | 11045,51,53.00,24,0 2059 | 11046,12,38.00,20,0.05 2060 | 11046,32,32.00,15,0.05 2061 | 11046,35,18.00,18,0.05 2062 | 11047,1,18.00,25,0.25 2063 | 11047,5,21.35,30,0.25 2064 | 11048,68,12.50,42,0 2065 | 11049,2,19.00,10,0.2 2066 | 11049,12,38.00,4,0.2 2067 | 11050,76,18.00,50,0.1 2068 | 11051,24,4.50,10,0.2 2069 | 11052,43,46.00,30,0.2 2070 | 11052,61,28.50,10,0.2 2071 | 11053,18,62.50,35,0.2 2072 | 11053,32,32.00,20,0 2073 | 11053,64,33.25,25,0.2 2074 | 11054,33,2.50,10,0 2075 | 11054,67,14.00,20,0 2076 | 11055,24,4.50,15,0 2077 | 11055,25,14.00,15,0 2078 | 11055,51,53.00,20,0 2079 | 11055,57,19.50,20,0 2080 | 11056,7,30.00,40,0 2081 | 11056,55,24.00,35,0 2082 | 11056,60,34.00,50,0 2083 | 11057,70,15.00,3,0 2084 | 11058,21,10.00,3,0 2085 | 11058,60,34.00,21,0 2086 | 11058,61,28.50,4,0 2087 | 11059,13,6.00,30,0 2088 | 11059,17,39.00,12,0 2089 | 11059,60,34.00,35,0 2090 | 11060,60,34.00,4,0 2091 | 11060,77,13.00,10,0 2092 | 11061,60,34.00,15,0 2093 | 11062,53,32.80,10,0.2 2094 | 11062,70,15.00,12,0.2 2095 | 11063,34,14.00,30,0 2096 | 11063,40,18.40,40,0.1 2097 | 11063,41,9.65,30,0.1 2098 | 11064,17,39.00,77,0.1 2099 | 11064,41,9.65,12,0 2100 | 11064,53,32.80,25,0.1 2101 | 11064,55,24.00,4,0.1 2102 | 11064,68,12.50,55,0 2103 | 11065,30,25.89,4,0.25 2104 | 11065,54,7.45,20,0.25 2105 | 11066,16,17.45,3,0 2106 | 11066,19,9.20,42,0 2107 | 11066,34,14.00,35,0 2108 | 11067,41,9.65,9,0 2109 | 11068,28,45.60,8,0.15 2110 | 11068,43,46.00,36,0.15 2111 | 11068,77,13.00,28,0.15 2112 | 11069,39,18.00,20,0 2113 | 11070,1,18.00,40,0.15 2114 | 11070,2,19.00,20,0.15 2115 | 11070,16,17.45,30,0.15 2116 | 11070,31,12.50,20,0 2117 | 11071,7,30.00,15,0.05 2118 | 11071,13,6.00,10,0.05 2119 | 11072,2,19.00,8,0 2120 | 11072,41,9.65,40,0 2121 | 11072,50,16.25,22,0 2122 | 11072,64,33.25,130,0 2123 | 11073,11,21.00,10,0 2124 | 11073,24,4.50,20,0 2125 | 11074,16,17.45,14,0.05 2126 | 11075,2,19.00,10,0.15 2127 | 11075,46,12.00,30,0.15 2128 | 11075,76,18.00,2,0.15 2129 | 11076,6,25.00,20,0.25 2130 | 11076,14,23.25,20,0.25 2131 | 11076,19,9.20,10,0.25 2132 | 11077,2,19.00,24,0.2 2133 | 11077,3,10.00,4,0 2134 | 11077,4,22.00,1,0 2135 | 11077,6,25.00,1,0.02 2136 | 11077,7,30.00,1,0.05 2137 | 11077,8,40.00,2,0.1 2138 | 11077,10,31.00,1,0 2139 | 11077,12,38.00,2,0.05 2140 | 11077,13,6.00,4,0 2141 | 11077,14,23.25,1,0.03 2142 | 11077,16,17.45,2,0.03 2143 | 11077,20,81.00,1,0.04 2144 | 11077,23,9.00,2,0 2145 | 11077,32,32.00,1,0 2146 | 11077,39,18.00,2,0.05 2147 | 11077,41,9.65,3,0 2148 | 11077,46,12.00,3,0.02 2149 | 11077,52,7.00,2,0 2150 | 11077,55,24.00,2,0 2151 | 11077,60,34.00,2,0.06 2152 | 11077,64,33.25,2,0.03 2153 | 11077,66,17.00,1,0 2154 | 11077,73,15.00,2,0.01 2155 | 11077,75,7.75,4,0 2156 | 11077,77,13.00,2,0 2157 | --------------------------------------------------------------------------------