We got an interesting database of recipes to play with from V-Zug Home at the Open Food Data Hackathon, used in a mobile application to program smart kitchen devices. We took a closer look and investigated ways of combining it with other data sources and tools responding to makeopendata challenge #12. See also the Beat project for an exploration of this data.

In the project repository there is a Jupyter notebook written in Python which explores the data, along with a script to convert the ~150 XML files we received according to a schema defined in recipe.py. We made a very quick visualization to demonstrate the use of data analysis libraries. We created an example Data Package containing a summary of the dataset in CSV format, as well as a JSON formatted recipe schema proposal in recipe.json. These are proposed as a potential starting point for future discussions about developing an open standard, the advantages of which may include participation of the wider development community, better interaction with other manufacturers, and consumer trust. Here is a preview of our summary DataFrame:

And JSON schema:

No special libraries are required to use the parsing script. The conversion script convert.py references the Python Data Analysis library for CSV file generation. The Jupyter notebook includes some data analysis using the Pandas, Numpy and Matplotlib libraries. You can find some setup instructions here. The schema of this Data Package was inferred using Frictionless Data CLI tools.

In this project we conducted some background research of schemas used in other recipe application, particularly of interest are these cloud providers:

And these open source initiatives:

The licensing terms of this dataset have not yet been established. If you intend to use these data in a public or commercial product, check with each of the data sources for any specific restrictions.

This Data Package is made available by its maintainers under the Public Domain Dedication and License v1.0, a copy of the full text of which is in LICENSE.md.
[null, {"document_url": "http://hack.opendata.ch/project/228", "unformatted_src": "https://www.i-programmer.info/images/stories/News/2015/Mar/A/jupyter.jpg", "src": "https://www.i-programmer.info/images/stories/News/2015/Mar/A/jupyter.jpg", "formatted_filename": "jupyter"}, null, {"document_url": "http://hack.opendata.ch/project/228", "unformatted_src": "https://blog.datalets.ch/workshops/2018/foodhackdays/vzug/vzug-recipe-viz.png", "src": "https://blog.datalets.ch/workshops/2018/foodhackdays/vzug/vzug-recipe-viz.png", "formatted_filename": "vzug recipe viz"}, null, null, {"document_url": "http://hack.opendata.ch/project/228", "unformatted_src": "https://i.creativecommons.org/l/by/4.0/88x31.png", "src": "https://i.creativecommons.org/l/by/4.0/88x31.png", "alt_text": "Creative Commons Licence"}, null, null, null]