SN-YO: Surya Namaskar Yoga Ontology
Semantic Modeling | OWL | SPARQL
This ontology models Surya Namaskar as asanas, numbered pose occurrences, and sequence variants. It supports structured querying of sequence order, repeated poses, inverse relationships, support type, mantra, chakra, and shared asanas across variants.
The ontology also includes a pose correction layer for the Base Surya Namaskar followed at IIT BHU. This layer models body parts, posture rules, pose constraints, possible errors, and correction instructions.
Ontology Overview
Classes
Pose
Represents one numbered occurrence of an asana within a variant sequence.
Asana
Represents a yoga asana identity independent of sequence position.
Variant
Represents a Surya Namaskar tradition or sequence variant.
BodyPart
Represents a body part involved in a pose.
PostureRule
Represents an alignment or posture rule for a pose.
PoseConstraint
Represents a pose-specific constraint.
PoseError
Represents a possible error while performing a pose.
CorrectionInstruction
Represents a correction instruction linked to an error.
Object Properties
hasAsana
Links a pose occurrence to the asana performed.
belongsToVariant
Links a pose to its Surya Namaskar variant.
hasNextPose / hasPreviousPose
Links sequential poses to determine ordering.
repeatsPose / hasInversePose
Links identical or structurally opposite poses respectively.
sameAsanaAs
Links equivalent or normalized asana identities.
involvesBodyPart
Links a pose to the specific body parts involved.
hasRule / hasConstraint
Links poses to explicit technical & postural rules.
Datatype Properties
Attributes
poseNumber, hasMantra, hasChakra, hasSupportType, hasLaterality
Descriptions
ruleDescription, constraintDescription, errorDescription, correctionText
Project Files
pyLODE Documentation
Generated ontology documentation for classes, properties, and metadata.
View DocsOntology Metadata
Registered Namespaces
core:http://example.org/suryanamaskar/core#base:http://example.org/suryanamaskar/base-sn#v1:http://example.org/suryanamaskar/variant01#v2:http://example.org/suryanamaskar/variant02#v3:http://example.org/suryanamaskar/variant03#
Variants Represented
Use Cases
Compare Surya Namaskar variants across traditions.
Identify repeated poses and inverse pose relationships.
Retrieve the ordered sequence of poses in Base Surya Namaskar.
Query poses based on standing posture and specific support types.
Retrieve mantra and chakra metadata associated with Base SN poses.
Identify primary asanas shared across multiple variants.
Retrieve posture rules, constraints, common errors, and physical corrections.
Competency Questions & SPARQL Queries
Interactive exploration of Competency Questions and their corresponding SPARQL queries. Click to expand and view the evaluated results.
C1: What are the poses in Base Surya Namaskar?
PREFIX rdf:
PREFIX rdfs:
PREFIX core:
PREFIX base:
PREFIX v1:
PREFIX v2:
PREFIX v3:
SELECT ?pose
WHERE {
?pose rdf:type core:Pose ;
core:belongsToVariant base:BaseSN_SivanandaYogaVedantaCentre_UsedatIITBHU .
}
ORDER BY ?pose
Execution Result
| ?pose (base-sn namespace) |
|---|
| BaseSN_Pose01 |
| BaseSN_Pose02 |
| BaseSN_Pose03 |
| BaseSN_Pose04 |
| BaseSN_Pose05 |
| BaseSN_Pose06 |
| BaseSN_Pose07 |
| BaseSN_Pose08 |
| BaseSN_Pose09 |
| BaseSN_Pose10 |
| BaseSN_Pose11 |
| BaseSN_Pose12 |
C2: How many poses are in Base Surya Namaskar?
PREFIX rdf:
PREFIX rdfs:
PREFIX core:
PREFIX base:
PREFIX v1:
PREFIX v2:
PREFIX v3:
SELECT (COUNT(?pose) AS ?count)
WHERE {
?pose rdf:type core:Pose ;
core:belongsToVariant base:BaseSN_SivanandaYogaVedantaCentre_UsedatIITBHU .
}
Execution Result
| ?count |
|---|
| 12 |
C3: Which poses are performed standing on two feet in Base Surya Namaskar?
PREFIX rdf:
PREFIX rdfs:
PREFIX core:
PREFIX base:
PREFIX v1:
PREFIX v2:
PREFIX v3:
SELECT ?pose
WHERE {
?pose rdf:type core:Pose ;
core:belongsToVariant base:BaseSN_SivanandaYogaVedantaCentre_UsedatIITBHU ;
core:hasSupportType "StandingTwoFeet" .
}
ORDER BY ?pose
Execution Result
| ?pose |
|---|
| BaseSN_Pose01 |
| BaseSN_Pose02 |
| BaseSN_Pose11 |
| BaseSN_Pose12 |
C4: Which poses are repeated in Base Surya Namaskar?
PREFIX rdf:
PREFIX rdfs:
PREFIX core:
PREFIX base:
PREFIX v1:
PREFIX v2:
PREFIX v3:
SELECT ?pose ?repeatedPose
WHERE {
?pose core:belongsToVariant base:BaseSN_SivanandaYogaVedantaCentre_UsedatIITBHU ;
core:repeatsPose ?repeatedPose ;
core:poseNumber ?poseNum .
?repeatedPose core:poseNumber ?repeatedNum .
FILTER(?poseNum < ?repeatedNum)
}
ORDER BY ?poseNum
Execution Result
| ?pose | ?repeatedPose |
|---|---|
| BaseSN_Pose01 | BaseSN_Pose12 |
| BaseSN_Pose02 | BaseSN_Pose11 |
| BaseSN_Pose03 | BaseSN_Pose10 |
| BaseSN_Pose04 | BaseSN_Pose09 |
C5: Which poses have inverse relationships in Base Surya Namaskar?
PREFIX rdf:
PREFIX rdfs:
PREFIX core:
PREFIX base:
PREFIX v1:
PREFIX v2:
PREFIX v3:
SELECT ?pose ?inversePose
WHERE {
?pose core:belongsToVariant base:BaseSN_SivanandaYogaVedantaCentre_UsedatIITBHU ;
core:hasInversePose ?inversePose ;
core:poseNumber ?poseNum .
?inversePose core:poseNumber ?inverseNum .
FILTER(?poseNum < ?inverseNum)
}
ORDER BY ?poseNum
Execution Result
| ?pose | ?inversePose |
|---|---|
| BaseSN_Pose04 | BaseSN_Pose09 |
C6: How many variants exist?
PREFIX rdf:
PREFIX rdfs:
PREFIX core:
PREFIX base:
PREFIX v1:
PREFIX v2:
PREFIX v3:
SELECT (COUNT(?variant) AS ?count)
WHERE {
?variant rdf:type core:Variant .
}
Execution Result
| ?count |
|---|
| 4 |
C7: What are the different variants represented in the ontology?
PREFIX rdf:
PREFIX rdfs:
PREFIX core:
PREFIX base:
PREFIX v1:
PREFIX v2:
PREFIX v3:
SELECT ?variant
WHERE {
?variant rdf:type core:Variant .
}
Execution Result
| ?variant |
|---|
| BaseSN_SivanandaYogaVedantaCentre_UsedatIITBHU |
| Variant01_KrishnamacharyaVinyasa |
| Variant02_BiharSchoolOfYoga |
| Variant03_SwamiVivekanandaKendra |
C8: Which asanas are shared across multiple variants?
PREFIX rdf:
PREFIX rdfs:
PREFIX core:
PREFIX base:
PREFIX v1:
PREFIX v2:
PREFIX v3:
SELECT ?asana (COUNT(DISTINCT ?variant) AS ?varCount)
WHERE {
?pose rdf:type core:Pose ;
core:hasAsana ?asana ;
core:belongsToVariant ?variant .
}
GROUP BY ?asana
HAVING (COUNT(DISTINCT ?variant) > 1)
ORDER BY DESC(?varCount) ?asana
Execution Result
| ?asana | ?varCount |
|---|---|
| Pranamasana | 3 |
| HastaUtthanasana | 3 |
| Padahastasana | 3 |
| AshwaSanchalanasana | 3 |
| Bhujangasana | 3 |
| Parvatasana | 3 |
| ChaturangaDandasana | 2 |
| AshtangaNamaskara | 2 |
C9: What is the sequence order of poses in Base Surya Namaskar?
PREFIX rdf:
PREFIX rdfs:
PREFIX core:
PREFIX base:
PREFIX v1:
PREFIX v2:
PREFIX v3:
SELECT ?pose ?nextPose
WHERE {
?pose core:belongsToVariant base:BaseSN_SivanandaYogaVedantaCentre_UsedatIITBHU ;
core:hasNextPose ?nextPose .
}
ORDER BY ?pose
Execution Result
| ?pose | ?nextPose |
|---|---|
| BaseSN_Pose01 | BaseSN_Pose02 |
| BaseSN_Pose02 | BaseSN_Pose03 |
| BaseSN_Pose03 | BaseSN_Pose04 |
| BaseSN_Pose04 | BaseSN_Pose05 |
| BaseSN_Pose05 | BaseSN_Pose06 |
| BaseSN_Pose06 | BaseSN_Pose07 |
| BaseSN_Pose07 | BaseSN_Pose08 |
| BaseSN_Pose08 | BaseSN_Pose09 |
| BaseSN_Pose09 | BaseSN_Pose10 |
| BaseSN_Pose10 | BaseSN_Pose11 |
| BaseSN_Pose11 | BaseSN_Pose12 |
C10: Which errors can occur in each pose of Base Surya Namaskar, and how can they be corrected?
PREFIX rdf:
PREFIX rdfs:
PREFIX core:
PREFIX base:
PREFIX v1:
PREFIX v2:
PREFIX v3:
SELECT ?pose ?asana ?error ?instruction
WHERE {
?pose core:belongsToVariant base:BaseSN_SivanandaYogaVedantaCentre_UsedatIITBHU ;
core:hasAsana ?asana ;
core:hasPossibleError ?error .
?error core:hasCorrection ?instruction .
}
ORDER BY ?pose ?error
Execution Result
| Pose | Asana | Error | Instruction |
|---|---|---|---|
| BaseSN_Pose01 | Pranamasana | CollapsedChestError | LiftChestForwardUpwardInstruction |
| BaseSN_Pose01 | Pranamasana | CollapsedChestError | LiftChestInstruction |
| BaseSN_Pose01 | Pranamasana | CollapsedChestError | LiftChestForwardInstruction |
| BaseSN_Pose01 | Pranamasana | PalmsMisalignedError | AlignPalmsAtChestInstruction |
| BaseSN_Pose01 | Pranamasana | RoundedShouldersError | RelaxShouldersInstruction |
| BaseSN_Pose01 | Pranamasana | UnevenWeightError | BalanceWeightEvenlyInstruction |
| BaseSN_Pose02 | HastaUtthanasana | BentArmsError | KeepArmsStraightInstruction |
| BaseSN_Pose02 | HastaUtthanasana | LowerBackOverarchingError | LiftUpwardFirstInstruction |
| BaseSN_Pose02 | HastaUtthanasana | LowerBackOverarchingError | LengthenSpineInstruction |
| BaseSN_Pose02 | HastaUtthanasana | LowerBackOverarchingError | GentleBackbendInstruction |
| BaseSN_Pose02 | HastaUtthanasana | NeckStrainError | LengthenSpineInstruction |
| BaseSN_Pose02 | HastaUtthanasana | RaisedShouldersError | RelaxShouldersInstruction |
| BaseSN_Pose03 | Padahastasana | ExcessiveKneeBendError | SoftenKneesInstruction |
| BaseSN_Pose03 | Padahastasana | RoundedBackError | BendFromHipsInstruction |
| BaseSN_Pose03 | Padahastasana | RoundedBackError | LengthenSpineInstruction |
| BaseSN_Pose03 | Padahastasana | WeightOnHeelsOnlyError | DistributeWeightEvenlyInstruction |
| BaseSN_Pose04 | AshwaSanchalanasana | CollapsedChestError | LiftChestForwardUpwardInstruction |
| BaseSN_Pose04 | AshwaSanchalanasana | CollapsedChestError | LiftChestInstruction |
| BaseSN_Pose04 | AshwaSanchalanasana | CollapsedChestError | LiftChestForwardInstruction |
| BaseSN_Pose04 | AshwaSanchalanasana | KneeBeyondAnkleError | AlignFrontKneeInstruction |
| BaseSN_Pose04 | AshwaSanchalanasana | WeakBackLegError | ExtendBackLegInstruction |
| BaseSN_Pose05 | ChaturangaDandasana | ElbowsFlaredError | TuckElbowsInstruction |
| BaseSN_Pose05 | ChaturangaDandasana | RaisedHipsError | KeepBodyAlignedInstruction |
| BaseSN_Pose05 | ChaturangaDandasana | SaggingHipsError | EngageCoreInstruction |
| BaseSN_Pose05 | ChaturangaDandasana | SaggingHipsError | KeepBodyAlignedInstruction |
| BaseSN_Pose06 | AshtangaNamaskara | ChestNotLoweredError | LowerChestProperlyInstruction |
| BaseSN_Pose06 | AshtangaNamaskara | ElbowsWideError | KeepElbowsCloseInstruction |
| BaseSN_Pose06 | AshtangaNamaskara | HipsDroppedFullyError | MaintainHipPositionInstruction |
| BaseSN_Pose07 | Bhujangasana | CompressedLowerBackError | LengthenSpineInstruction |
| BaseSN_Pose07 | Bhujangasana | OverextensionError | GentleBackbendInstruction |
| BaseSN_Pose07 | Bhujangasana | ShoulderTensionError | RelaxShouldersInstruction |
| BaseSN_Pose08 | Parvatasana | RoundedBackError | BendFromHipsInstruction |
| BaseSN_Pose08 | Parvatasana | RoundedBackError | LengthenSpineInstruction |
| BaseSN_Pose08 | Parvatasana | UnstableLegsError | StabilizeLegsInstruction |
| BaseSN_Pose08 | Parvatasana | WristOverloadError | PushHipsUpwardInstruction |
| BaseSN_Pose08 | Parvatasana | WristOverloadError | DistributeWeightEvenlyInstruction |
| BaseSN_Pose09 | AshwaSanchalanasana | CollapsedChestError | LiftChestForwardUpwardInstruction |
| BaseSN_Pose09 | AshwaSanchalanasana | CollapsedChestError | LiftChestInstruction |
| BaseSN_Pose09 | AshwaSanchalanasana | CollapsedChestError | LiftChestForwardInstruction |
| BaseSN_Pose09 | AshwaSanchalanasana | KneeBeyondAnkleError | AlignFrontKneeInstruction |
| BaseSN_Pose09 | AshwaSanchalanasana | WeakBackLegError | ExtendBackLegInstruction |
| BaseSN_Pose10 | Padahastasana | ExcessiveKneeBendError | SoftenKneesInstruction |
| BaseSN_Pose10 | Padahastasana | RoundedBackError | BendFromHipsInstruction |
| BaseSN_Pose10 | Padahastasana | RoundedBackError | LengthenSpineInstruction |
| BaseSN_Pose11 | HastaUtthanasana | CompressedLowerBackError | LengthenSpineInstruction |
| BaseSN_Pose11 | HastaUtthanasana | ShoulderTensionError | RelaxShouldersInstruction |
| BaseSN_Pose12 | Pranamasana | CollapsedPostureError | CenterBodyInstruction |
| BaseSN_Pose12 | Pranamasana | CollapsedPostureError | LiftChestInstruction |
| BaseSN_Pose12 | Pranamasana | PoorBalanceError | CenterBodyInstruction |
Visual Resources
Ontology Diagram
High-level mapping of the core ontology concepts and their relationships. Click to expand.
Interactive Visualization
Dynamic web-based visualization of the ontology mapping. Click the image to expand the high-resolution view.
Open WebVOWL Tool ↗
Contributors
Surya Namaskar Ontology Research Team
Mansi Dodiya1 Kishan Kumar1 Bharath Muppasani2 Biplav Srivastava2 Raghava Mutharaju3 Hari Prabhat Gupta1
Acknowledgements
We thank Vivek Kumar, Abhishek Verma, Himanshu Sahu, Kush Pandey (Yoga Instructor), Priya Gautam (Project Coordination), for their help with the project.
The project was partially supported by Govt of India's Vaibhav Fellowship to Biplav Srivastava (visitor) and Hari P Gupta (host).
Reference 1. Kumar, V., Sahu, H., Gupta, H.P. and Srivastava, B., 2025. Technology-assisted Personalized Yoga for Better Health--Challenges and Outlook. arXiv:2508.18283 .
Reference 2. Ministry of Ayush, Government of India. Common Yoga Protocol (English) .