This repository is for the Jaseci-Ancestry project, which uses Jaseci to build a family tree data structure and provides functionality to explore ancestry and descendants.
We have added four new features to the family_tree.json
file to represent hobbies, cars, skills, and blood group for individuals in the family tree. These features were implemented to provide more information about individuals in the family tree and make it easier to find people with similar attributes. The four 'walkers' accomplish four different tasks.
This walker is used to create a dictionary which includes lists including people with mutual hobbies. The hobbies are added as keys on ad-hoc basis which does not limit the number of defined hobbies.
This walker isused to create a list which includes all types of unique cars.
This walker is used to create a dictionary which includes people with mutual skills. The skills are added as keys on ad-hoc basis which does not limit the number of defined skills.
This walker is used to create a dictionary which includes lists of possible people to donate blood for each blood group. This includes all the blood groups and possible donors.
Implementing new features was a relatively straightforward process. We updated the nodes to include new features modifying the graph.jac file. Then we defined four walkers to categorize individuals with similar attributes.
We found the Jaseci documentation to be very helpful in understanding how to work with the Jaseci framework. The documentation is well-organized and includes many examples that helped us to get started quickly.
Here is a demo video:
Walkers.mp4
- Jayanaka Danthanarayana (Jayanaka-98)
- Savini Kashmira (savini98)
- Mudith Nirmala (mudithnirmala)
- Jehan Kulathunga (Jehan98)
- Shehan (shehancode)