{"id":23396588,"url":"https://github.com/mneedham/bbcgoodfood","last_synced_at":"2025-10-18T18:40:07.331Z","repository":{"id":37779766,"uuid":"142842182","full_name":"mneedham/bbcgoodfood","owner":"mneedham","description":null,"archived":false,"fork":false,"pushed_at":"2022-12-08T02:19:31.000Z","size":5004,"stargazers_count":5,"open_issues_count":16,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-25T10:51:09.997Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mneedham.png","metadata":{"files":{"readme":"README.adoc","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-07-30T07:42:02.000Z","updated_at":"2021-04-08T12:04:20.000Z","dependencies_parsed_at":"2023-01-25T03:30:58.223Z","dependency_job_id":null,"html_url":"https://github.com/mneedham/bbcgoodfood","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mneedham%2Fbbcgoodfood","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mneedham%2Fbbcgoodfood/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mneedham%2Fbbcgoodfood/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mneedham%2Fbbcgoodfood/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mneedham","download_url":"https://codeload.github.com/mneedham/bbcgoodfood/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248420286,"owners_count":21100352,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-12-22T07:36:32.440Z","updated_at":"2025-10-18T18:40:02.291Z","avatar_url":"https://github.com/mneedham.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"= BBC Good Food Dataset\n\n== Importing the data into Neo4j\n\n[source,cypher]\n----\nCREATE INDEX ON :Recipe(id);\nCREATE INDEX ON :Ingredient(name);\nCREATE INDEX ON :Keyword(name);\nCREATE INDEX ON :DietType(name);\nCREATE INDEX ON :Author(name);\nCREATE INDEX ON :Collection(name);\n:params jsonFile =\u003e \"https://raw.githubusercontent.com/mneedham/bbcgoodfood/master/stream_all.json\";\nCALL apoc.load.json($jsonFile) YIELD value\nWITH value.page.article.id AS id,\n       value.page.title AS title,\n       value.page.article.description AS description,\n       value.page.recipe.cooking_time AS cookingTime,\n       value.page.recipe.prep_time AS preparationTime,\n       value.page.recipe.skill_level AS skillLevel\nMERGE (r:Recipe {id: id})\nSET r.cookingTime = cookingTime,\n    r.preparationTime = preparationTime,\n    r.name = title,\n    r.description = description,\n    r.skillLevel = skillLevel;\nCALL apoc.load.json($jsonFile) YIELD value\nWITH value.page.article.id AS id,\n       value.page.article.author AS author\nMERGE (a:Author {name: author})\nWITH a,id\nMATCH (r:Recipe {id:id})\nMERGE (a)-[:WROTE]-\u003e(r);\nCALL apoc.load.json($jsonFile) YIELD value\nWITH value.page.article.id AS id,\n       value.page.recipe.ingredients AS ingredients\nMATCH (r:Recipe {id:id})\nFOREACH (ingredient IN ingredients |\n  MERGE (i:Ingredient {name: ingredient})\n  MERGE (r)-[:CONTAINS_INGREDIENT]-\u003e(i)\n);\nCALL apoc.load.json($jsonFile) YIELD value\nWITH value.page.article.id AS id,\n       value.page.recipe.keywords AS keywords\nMATCH (r:Recipe {id:id})\nFOREACH (keyword IN keywords |\n  MERGE (k:Keyword {name: keyword})\n  MERGE (r)-[:KEYWORD]-\u003e(k)\n);\nCALL apoc.load.json($jsonFile) YIELD value\nWITH value.page.article.id AS id,\n       value.page.recipe.diet_types AS dietTypes\nMATCH (r:Recipe {id:id})\nFOREACH (dietType IN dietTypes |\n  MERGE (d:DietType {name: dietType})\n  MERGE (r)-[:DIET_TYPE]-\u003e(d)\n);\nCALL apoc.load.json($jsonFile) YIELD value\nWITH value.page.article.id AS id,\n       value.page.recipe.collections AS collections\nMATCH (r:Recipe {id:id})\nFOREACH (collection IN collections |\n  MERGE (c:Collection {name: collection})\n  MERGE (r)-[:COLLECTION]-\u003e(c)\n);\n----\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmneedham%2Fbbcgoodfood","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmneedham%2Fbbcgoodfood","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmneedham%2Fbbcgoodfood/lists"}