Yoga for Health and Knowledge
The Wolfram Knowledgebase includes a curated dataset encapsulating data on yoga poses. As a result, the relationships between poses, their difficulty levels, the muscles they involve, their durations, and many other characteristics can be explored and studied in a simple, powerful, precise, and completely programmatic way.
Form and visualize the relationships of yoga postures based on the "PreparatoryPoses" relationships, starting with the scorpion pose.
poseGraph =
NestGraph[Cases[EntityValue[#, "PreparatoryPoses"], _Entity] &,
Entity["YogaPose", "ScorpionPose"], 4, VertexLabels -> "Name",
VertexLabelStyle -> LightGray]
Show schematic images of various poses.
With[{v = Take[VertexList[poseGraph], 5]},
schm = Rule @@@ Transpose[{v, EntityValue[v, "Schematic"]}]
] // Column
Make a plot of poses grouped by "communities" that share interlinkages.
CommunityGraphPlot[EdgeList[poseGraph] /. e_DirectedEdge :> Reverse@e,
VertexLabels -> Placed["Name", Tooltip]]
Count the number of muscles contracted in the series of poses in Ashtanga Primary yoga sequence and plot against the number of muscles engaged.
Find muscles that are stretched in the series of poses in Sun Salutation A and visualize the most frequently stretched muscle.
muscles = (SortBy[
Tally[DeleteMissing[
Flatten[EntityValue[
Cases[Entity["YogaSequence", "SunSalutationA"][
"PrimaryPoseSequence"], _Entity, Infinity],
"StretchedMuscles"]]]], Last] // Reverse) // Take[#, 20] &
Visualize the most frequently stretched muscle.
EntityValue[muscles[[1, 1]], "RegionalLocationImage"]
Use an implicitly defined entity class to find and visualize beginner medium-intensity yoga poses that stretch the leg and strengthen the core.
EntityList[
Entity["YogaPose", {"ExperienceLevel" -> "Beginner",
"IntensityLevel" -> "Medium",
"SitesOfImprovedMobility" -> Entity["AnatomicalStructure", "Leg"],
"SitesOfImprovedStrength" ->
Entity["AnatomicalStructure", "Abdomen"]}]]
View schematic images of these poses as an entity association.
EntityList[
Entity["YogaPose", {"ExperienceLevel" -> "Beginner",
"IntensityLevel" -> "Medium",
"SitesOfImprovedMobility" -> Entity["AnatomicalStructure", "Leg"],
"SitesOfImprovedStrength" ->
Entity["AnatomicalStructure", "Abdomen"]}]];
EntityValue[Take[%, 5], "Schematic", "EntityAssociation"]
Show advanced yoga poses that strengthen the iliopsoas and stretch the hamstrings.
EntityValue[
Entity["YogaPose", {"ExperienceLevel" -> "Advanced",
"PrimaryContractedMuscles" ->
Entity["AnatomicalStructure", "Iliopsoas"],
"StretchedMuscles" ->
Entity["AnatomicalStructure",
"SetOfHamstringMuscles"]}], "Schematic", "EntityAssociation"]
Find yoga sequences with durations between 30 and 60 minutes.
EntityList@
Entity["YogaSequence", {"EstimatedDuration" ->
Quantity[ Interval[{30, 60}], "Minutes"]}]