The RecipeRadar knowledge graph stores and provides access to recipe and ingredient relationship information.
This information includes facts such as 'lettuce is-a vegetable' as well as nutritional details about ingredients and potential ingredient substitutions.
Ingredient descriptions generally include some combination of a quantity (i.e. 1 kg
) and a product (i.e. potatoes
). Since they are written as unstructured text in most recipes, parsing products can be a challenge.
The backend
service provides the source-of-truth for product metadata, and it makes this available at the /products/hierarchy
endpoint.
The knowledge graph loads this data at runtime, and we build an in-process search-engine index that allows us to find candidate ingredient matches, which are then narrowed down to a single best-match per ingredient line.
Make sure to follow the RecipeRadar infrastructure setup to ensure all cluster dependencies are available in your environment.
To install development tools and run linting and tests locally, execute the following commands:
$ make lint tests
To deploy the service to the local infrastructure environment, execute the following commands:
$ make
$ make deploy