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,body parts, breathing patterns, safety notes 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 pose errors and correction instructions.

Ontology Visualization

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.

BreathingPattern

Represents the breathing pattern associated with a pose.

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

Links a pose to the next pose in the sequence.

hasPreviousPose

Links a pose to the previous pose in the sequence.

repeatsPose

Links poses that are repeated within a sequence.

hasInversePose

Links poses that are inverse to each other.

sameAsanaAs

Links equivalent or normalized asana identities.

involvesBodyPart

Links a pose to the body parts involved.

hasBreathingPattern

Links a pose to its associated breathing pattern.

hasPossibleError

Links a pose to possible performance errors.

hasCorrection

Links a pose error to its correction instruction.

Datatype Properties

Pose Attributes

poseNumber, hasMantra, hasChakra, hasSupportType, hasLaterality

Error & Correction Descriptions

errorDescription, correctionText, hasSafetyNote

Project Files

Ontology File

Main OWL ontology file for Surya Namaskar.

Download OWL

pyLODE Documentation

Generated ontology documentation for classes, properties, and metadata.

View Docs

GitHub Repository

Source code, ontology files, images, and project structure.

View Repo

Ontology Metadata

Registered Namespaces

  • core: https://purl.org/ai4s/yoga/sn-yo/core#
  • base: https://purl.org/ai4s/yoga/sn-yo/base-sn#
  • v1: https://purl.org/ai4s/yoga/sn-yo/variant01#
  • v2: https://purl.org/ai4s/yoga/sn-yo/variant02#
  • v3: https://purl.org/ai4s/yoga/sn-yo/variant03#

Variants Represented

BaseSN_SivanandaYogaVedantaCentre_UsedatIITBHU Variant01_KrishnamacharyaVinyasa Variant02_BiharSchoolOfYoga Variant03_SwamiVivekanandaKendra

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 support types.

📿

Retrieve mantra and chakra metadata for Base SN poses.

🔗

Identify primary asanas shared across multiple variants.

🔍

Retrieve pose errors, body parts, breathing patterns, safety notes, and corrections.

📊

Support competency-question based evaluation using SPARQL queries.

Competency Questions & SPARQL Queries

Interactive exploration of Competency Questions and their corresponding SPARQL queries. Click to expand and view the evaluated results.

CQ1: What are the poses in Base Surya Namaskar?

PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX core: <https://purl.org/ai4s/yoga/sn-yo/core#>
PREFIX base: <https://purl.org/ai4s/yoga/sn-yo/base-sn#>
PREFIX v1: <https://purl.org/ai4s/yoga/sn-yo/variant01#>
PREFIX v2: <https://purl.org/ai4s/yoga/sn-yo/variant02#>
PREFIX v3: <https://purl.org/ai4s/yoga/sn-yo/variant03#>
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

CQ2: How many poses are in Base Surya Namaskar?

PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX core: <https://purl.org/ai4s/yoga/sn-yo/core#>
PREFIX base: <https://purl.org/ai4s/yoga/sn-yo/base-sn#>
PREFIX v1: <https://purl.org/ai4s/yoga/sn-yo/variant01#>
PREFIX v2: <https://purl.org/ai4s/yoga/sn-yo/variant02#>
PREFIX v3: <https://purl.org/ai4s/yoga/sn-yo/variant03#>

SELECT (COUNT(?pose) AS ?count)
WHERE {
  ?pose rdf:type core:Pose ;
        core:belongsToVariant base:BaseSN_SivanandaYogaVedantaCentre_UsedatIITBHU .
}

Execution Result

?count
12

CQ3: Which poses are performed standing on two feet in Base Surya Namaskar?

PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX core: <https://purl.org/ai4s/yoga/sn-yo/core#>
PREFIX base: <https://purl.org/ai4s/yoga/sn-yo/base-sn#>
PREFIX v1: <https://purl.org/ai4s/yoga/sn-yo/variant01#>
PREFIX v2: <https://purl.org/ai4s/yoga/sn-yo/variant02#>
PREFIX v3: <https://purl.org/ai4s/yoga/sn-yo/variant03#>
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

CQ4: Which poses are repeated in Base Surya Namaskar?

PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX core: <https://purl.org/ai4s/yoga/sn-yo/core#>
PREFIX base: <https://purl.org/ai4s/yoga/sn-yo/base-sn#>
PREFIX v1: <https://purl.org/ai4s/yoga/sn-yo/variant01#>
PREFIX v2: <https://purl.org/ai4s/yoga/sn-yo/variant02#>
PREFIX v3: <https://purl.org/ai4s/yoga/sn-yo/variant03#>
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_Pose01BaseSN_Pose12
BaseSN_Pose02BaseSN_Pose11
BaseSN_Pose03BaseSN_Pose10
BaseSN_Pose04BaseSN_Pose09

CQ5: Which poses have inverse relationships in Base Surya Namaskar?

PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX core: <https://purl.org/ai4s/yoga/sn-yo/core#>
PREFIX base: <https://purl.org/ai4s/yoga/sn-yo/base-sn#>
PREFIX v1: <https://purl.org/ai4s/yoga/sn-yo/variant01#>
PREFIX v2: <https://purl.org/ai4s/yoga/sn-yo/variant02#>
PREFIX v3: <https://purl.org/ai4s/yoga/sn-yo/variant03#>

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_Pose04BaseSN_Pose09

CQ6: Which asanas are shared across multiple variants?

PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX core: <https://purl.org/ai4s/yoga/sn-yo/core#>
PREFIX base: <https://purl.org/ai4s/yoga/sn-yo/base-sn#>
PREFIX v1: <https://purl.org/ai4s/yoga/sn-yo/variant01#>
PREFIX v2: <https://purl.org/ai4s/yoga/sn-yo/variant02#>
PREFIX v3: <https://purl.org/ai4s/yoga/sn-yo/variant03#>

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
Pranamasana3
HastaUtthanasana3
Padahastasana3
AshwaSanchalanasana3
Bhujangasana3
Parvatasana3
ChaturangaDandasana2
AshtangaNamaskara2

CQ7: What is the sequence order of poses in Base Surya Namaskar?

PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX core: <https://purl.org/ai4s/yoga/sn-yo/core#>
PREFIX base: <https://purl.org/ai4s/yoga/sn-yo/base-sn#>
PREFIX v1: <https://purl.org/ai4s/yoga/sn-yo/variant01#>
PREFIX v2: <https://purl.org/ai4s/yoga/sn-yo/variant02#>
PREFIX v3: <https://purl.org/ai4s/yoga/sn-yo/variant03#>
SELECT ?pose ?nextPose
WHERE {
  ?pose core:belongsToVariant base:BaseSN_SivanandaYogaVedantaCentre_UsedatIITBHU ;
        core:hasNextPose ?nextPose .
}
ORDER BY ?pose

Execution Result

?pose?nextPose
BaseSN_Pose01BaseSN_Pose02
BaseSN_Pose02BaseSN_Pose03
BaseSN_Pose03BaseSN_Pose04
BaseSN_Pose04BaseSN_Pose05
BaseSN_Pose05BaseSN_Pose06
BaseSN_Pose06BaseSN_Pose07
BaseSN_Pose07BaseSN_Pose08
BaseSN_Pose08BaseSN_Pose09
BaseSN_Pose09BaseSN_Pose10
BaseSN_Pose10BaseSN_Pose11
BaseSN_Pose11BaseSN_Pose12

CQ8: Which common errors can occur in each pose of Base Surya Namaskar, and how can they be corrected?

PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX core: <https://purl.org/ai4s/yoga/sn-yo/core#>
PREFIX base: <https://purl.org/ai4s/yoga/sn-yo/base-sn#>
PREFIX v1: <https://purl.org/ai4s/yoga/sn-yo/variant01#>
PREFIX v2: <https://purl.org/ai4s/yoga/sn-yo/variant02#>
PREFIX v3: <https://purl.org/ai4s/yoga/sn-yo/variant03#>

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_Pose01PranamasanaCollapsedChestErrorLiftChestForwardUpwardInstruction
BaseSN_Pose01PranamasanaCollapsedChestErrorLiftChestInstruction
BaseSN_Pose01PranamasanaCollapsedChestErrorLiftChestForwardInstruction
BaseSN_Pose01PranamasanaPalmsMisalignedErrorAlignPalmsAtChestInstruction
BaseSN_Pose01PranamasanaRoundedShouldersErrorRelaxShouldersInstruction
BaseSN_Pose01PranamasanaUnevenWeightErrorBalanceWeightEvenlyInstruction
BaseSN_Pose02HastaUtthanasanaBentArmsErrorKeepArmsStraightInstruction
BaseSN_Pose02HastaUtthanasanaLowerBackOverarchingErrorLiftUpwardFirstInstruction
BaseSN_Pose02HastaUtthanasanaLowerBackOverarchingErrorLengthenSpineInstruction
BaseSN_Pose02HastaUtthanasanaLowerBackOverarchingErrorGentleBackbendInstruction
BaseSN_Pose02HastaUtthanasanaNeckStrainErrorLengthenSpineInstruction
BaseSN_Pose02HastaUtthanasanaRaisedShouldersErrorRelaxShouldersInstruction
BaseSN_Pose03PadahastasanaExcessiveKneeBendErrorSoftenKneesInstruction
BaseSN_Pose03PadahastasanaRoundedBackErrorBendFromHipsInstruction
BaseSN_Pose03PadahastasanaRoundedBackErrorLengthenSpineInstruction
BaseSN_Pose03PadahastasanaWeightOnHeelsOnlyErrorDistributeWeightEvenlyInstruction
BaseSN_Pose04AshwaSanchalanasanaCollapsedChestErrorLiftChestForwardUpwardInstruction
BaseSN_Pose04AshwaSanchalanasanaCollapsedChestErrorLiftChestInstruction
BaseSN_Pose04AshwaSanchalanasanaCollapsedChestErrorLiftChestForwardInstruction
BaseSN_Pose04AshwaSanchalanasanaKneeBeyondAnkleErrorAlignFrontKneeInstruction
BaseSN_Pose04AshwaSanchalanasanaWeakBackLegErrorExtendBackLegInstruction
BaseSN_Pose05ChaturangaDandasanaElbowsFlaredErrorTuckElbowsInstruction
BaseSN_Pose05ChaturangaDandasanaRaisedHipsErrorKeepBodyAlignedInstruction
BaseSN_Pose05ChaturangaDandasanaSaggingHipsErrorEngageCoreInstruction
BaseSN_Pose05ChaturangaDandasanaSaggingHipsErrorKeepBodyAlignedInstruction
BaseSN_Pose06AshtangaNamaskaraChestNotLoweredErrorLowerChestProperlyInstruction
BaseSN_Pose06AshtangaNamaskaraElbowsWideErrorKeepElbowsCloseInstruction
BaseSN_Pose06AshtangaNamaskaraHipsDroppedFullyErrorMaintainHipPositionInstruction
BaseSN_Pose07BhujangasanaCompressedLowerBackErrorLengthenSpineInstruction
BaseSN_Pose07BhujangasanaOverextensionErrorGentleBackbendInstruction
BaseSN_Pose07BhujangasanaShoulderTensionErrorRelaxShouldersInstruction
BaseSN_Pose08ParvatasanaRoundedBackErrorBendFromHipsInstruction
BaseSN_Pose08ParvatasanaRoundedBackErrorLengthenSpineInstruction
BaseSN_Pose08ParvatasanaUnstableLegsErrorStabilizeLegsInstruction
BaseSN_Pose08ParvatasanaWristOverloadErrorPushHipsUpwardInstruction
BaseSN_Pose08ParvatasanaWristOverloadErrorDistributeWeightEvenlyInstruction
BaseSN_Pose09AshwaSanchalanasanaCollapsedChestErrorLiftChestForwardUpwardInstruction
BaseSN_Pose09AshwaSanchalanasanaCollapsedChestErrorLiftChestInstruction
BaseSN_Pose09AshwaSanchalanasanaCollapsedChestErrorLiftChestForwardInstruction
BaseSN_Pose09AshwaSanchalanasanaKneeBeyondAnkleErrorAlignFrontKneeInstruction
BaseSN_Pose09AshwaSanchalanasanaWeakBackLegErrorExtendBackLegInstruction
BaseSN_Pose10PadahastasanaExcessiveKneeBendErrorSoftenKneesInstruction
BaseSN_Pose10PadahastasanaRoundedBackErrorBendFromHipsInstruction
BaseSN_Pose10PadahastasanaRoundedBackErrorLengthenSpineInstruction
BaseSN_Pose11HastaUtthanasanaCompressedLowerBackErrorLengthenSpineInstruction
BaseSN_Pose11HastaUtthanasanaShoulderTensionErrorRelaxShouldersInstruction
BaseSN_Pose12PranamasanaCollapsedPostureErrorCenterBodyInstruction
BaseSN_Pose12PranamasanaCollapsedPostureErrorLiftChestInstruction
BaseSN_Pose12PranamasanaPoorBalanceErrorCenterBodyInstruction

CQ9: What are the poses in the Base Surya Namaskar sequence, along with their associated asanas, breathing patterns, and safety notes?

PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX core: <https://purl.org/ai4s/yoga/sn-yo/core#>
PREFIX base: <https://purl.org/ai4s/yoga/sn-yo/base-sn#>
PREFIX v1: <https://purl.org/ai4s/yoga/sn-yo/variant01#>
PREFIX v2: <https://purl.org/ai4s/yoga/sn-yo/variant02#>
PREFIX v3: <https://purl.org/ai4s/yoga/sn-yo/variant03#>

SELECT ?poseNumber ?pose ?asana ?breathing ?safetyNote
WHERE {
  ?pose rdf:type core:Pose ;
        core:belongsToVariant base:BaseSN_SivanandaYogaVedantaCentre_UsedatIITBHU ;
        core:poseNumber ?poseNumber ;
        core:hasAsana ?asana ;
        core:hasBreathingPattern ?breathing ;
        core:hasSafetyNote ?safetyNote .
}
ORDER BY ?poseNumber

Execution Result

Pose Number Pose Asana Breathing Safety Note
1 BaseSN_Pose01 Pranamasana Exhale Stand upright with balanced weight and avoid locking the knees.
2 BaseSN_Pose02 Hasta Utthanasana Inhale Lift the chest upward with control and avoid compressing the lower back during the backbend.
3 BaseSN_Pose03 Padahastasana Exhale Avoid deep forward bending in case of back pain or tight hamstrings; keep the knees slightly bent and spine long.
4 BaseSN_Pose04 Ashwa Sanchalanasana Inhale Keep the front knee aligned over the ankle and place the back knee gently on the floor.
5 BaseSN_Pose05 Chaturanga Dandasana Hold Maintain a straight body line from head to heels and avoid sagging or lifting the hips excessively.
6 BaseSN_Pose06 Ashtanga Namaskara Exhale Lower the body gradually with control and distribute weight evenly across the eight contact points.
7 BaseSN_Pose07 Bhujangasana Inhale Lift the chest gently without forcing the backbend and keep the shoulders relaxed.
8 BaseSN_Pose08 Parvatasana Exhale Lengthen the spine and avoid rounding the back; press the heels down gently without forcing.
9 BaseSN_Pose09 Ashwa Sanchalanasana Inhale Step forward smoothly and ensure proper alignment of the front knee over the ankle.
10 BaseSN_Pose10 Padahastasana Exhale Move into the forward bend with control and avoid overstretching the hamstrings.
11 BaseSN_Pose11 Hasta Utthanasana Inhale Rise upward with control and extend the chest without collapsing into the lower back.
12 BaseSN_Pose12 Pranamasana Exhale Return to a steady standing posture and maintain relaxed, even breathing.

CQ10: Do the same asanas appear at different pose numbers in different Surya Namaskar variants?

PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX core: <https://purl.org/ai4s/yoga/sn-yo/core#>
PREFIX base: <https://purl.org/ai4s/yoga/sn-yo/base-sn#>
PREFIX v1: <https://purl.org/ai4s/yoga/sn-yo/variant01#>
PREFIX v2: <https://purl.org/ai4s/yoga/sn-yo/variant02#>
PREFIX v3: <https://purl.org/ai4s/yoga/sn-yo/variant03#>

SELECT ?asana ?variant
       (GROUP_CONCAT(DISTINCT STR(?poseNumber); separator=", ") AS ?poseNumbers)
WHERE {
  ?pose rdf:type core:Pose ;
        core:hasAsana ?asana ;
        core:belongsToVariant ?variant ;
        core:poseNumber ?poseNumber .
}
GROUP BY ?asana ?variant
ORDER BY ?asana ?variant

Execution Result

?asana ?variant ?poseNumbers
Adho Mukha SvanasanaVariant01_KrishnamacharyaVinyasa9
Ashtanga NamaskaraBaseSN_SivanandaYogaVedantaCentre_UsedatIITBHU6
Ashtanga NamaskaraVariant02_BiharSchoolOfYoga6
Ashwa SanchalanasanaBaseSN_SivanandaYogaVedantaCentre_UsedatIITBHU9, 4
Ashwa SanchalanasanaVariant02_BiharSchoolOfYoga4, 9
Ashwa SanchalanasanaVariant03_SwamiVivekanandaKendra3, 10
BhujangasanaBaseSN_SivanandaYogaVedantaCentre_UsedatIITBHU7
BhujangasanaVariant02_BiharSchoolOfYoga7
BhujangasanaVariant03_SwamiVivekanandaKendra7
Chaturanga DandasanaBaseSN_SivanandaYogaVedantaCentre_UsedatIITBHU5
Chaturanga DandasanaVariant01_KrishnamacharyaVinyasa5, 7
Danda SamarpanaVariant01_KrishnamacharyaVinyasa6
Hasta UtthanasanaBaseSN_SivanandaYogaVedantaCentre_UsedatIITBHU2, 11
Hasta UtthanasanaVariant02_BiharSchoolOfYoga2, 11
Hasta UtthanasanaVariant03_SwamiVivekanandaKendra1
PadahastasanaBaseSN_SivanandaYogaVedantaCentre_UsedatIITBHU10, 3
PadahastasanaVariant02_BiharSchoolOfYoga10, 3
PadahastasanaVariant03_SwamiVivekanandaKendra2, 11
ParvatasanaBaseSN_SivanandaYogaVedantaCentre_UsedatIITBHU8
ParvatasanaVariant02_BiharSchoolOfYoga8, 5
ParvatasanaVariant03_SwamiVivekanandaKendra8
PhalakasanaVariant03_SwamiVivekanandaKendra4
PranamasanaBaseSN_SivanandaYogaVedantaCentre_UsedatIITBHU1, 12
PranamasanaVariant02_BiharSchoolOfYoga1, 12
PranamasanaVariant03_SwamiVivekanandaKendra12
SamasthitiVariant01_KrishnamacharyaVinyasa1, 13
ShashankasanaVariant03_SwamiVivekanandaKendra9, 5
Shashtanga NamaskaraVariant03_SwamiVivekanandaKendra6
TadasanaVariant01_KrishnamacharyaVinyasa2, 12
Urdhva Mukha SvanasanaVariant01_KrishnamacharyaVinyasa8
UtkatasanaVariant01_KrishnamacharyaVinyasa10, 4
UttanasanaVariant01_KrishnamacharyaVinyasa3, 11

CQ11: How do Surya Namaskar variants differ in terms of pose composition?

PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX core: <https://purl.org/ai4s/yoga/sn-yo/core#>
PREFIX base: <https://purl.org/ai4s/yoga/sn-yo/base-sn#>
PREFIX v1: <https://purl.org/ai4s/yoga/sn-yo/variant01#>
PREFIX v2: <https://purl.org/ai4s/yoga/sn-yo/variant02#>
PREFIX v3: <https://purl.org/ai4s/yoga/sn-yo/variant03#>

SELECT ?variant
       (COUNT(DISTINCT ?pose) AS ?poseCount)
       (COUNT(DISTINCT ?asana) AS ?distinctAsanaCount)
       (GROUP_CONCAT(DISTINCT STR(?asana); separator=", ") AS ?asanas)
WHERE {
  ?variant rdf:type core:Variant .

  OPTIONAL {
    ?pose rdf:type core:Pose ;
          core:belongsToVariant ?variant ;
          core:hasAsana ?asana .
  }
}
GROUP BY ?variant
ORDER BY ?variant

Execution Result

?variant ?poseCount ?distinctAsanaCount ?asanas
BaseSN_SivanandaYogaVedantaCentre_UsedatIITBHU 12 8 Padahastasana, Bhujangasana, Pranamasana, AshwaSanchalanasana, Parvatasana, ChaturangaDandasana, HastaUtthanasana, AshtangaNamaskara
Variant01_KrishnamacharyaVinyasa 13 8 Uttanasana, DandaSamarpana, Tadasana, Utkatasana, AdhoMukhaSvanasana, Samasthiti, ChaturangaDandasana, UrdhwaMukhaSvanasana
Variant02_BiharSchoolOfYoga 12 7 Parvatasana, AshwaSanchalanasana, Pranamasana, AshtangaNamaskara, HastaUtthanasana, Padahastasana, Bhujangasana
Variant03_SwamiVivekanandaKendra 12 9 Pranamasana, Phalakasana, Bhujangasana, AshwaSanchalanasana, ShashtangaNamaskara, Padahastasana, Shashankasana, HastaUtthanasana, Parvatasana

CQ12: Which body parts are most frequently involved across poses in the Base Surya Namaskar sequence?

PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX core: <https://purl.org/ai4s/yoga/sn-yo/core#>
PREFIX base: <https://purl.org/ai4s/yoga/sn-yo/base-sn#>
PREFIX v1: <https://purl.org/ai4s/yoga/sn-yo/variant01#>
PREFIX v2: <https://purl.org/ai4s/yoga/sn-yo/variant02#>
PREFIX v3: <https://purl.org/ai4s/yoga/sn-yo/variant03#>

SELECT ?bodyPart
       (COUNT(DISTINCT ?pose) AS ?poseCount)
       (GROUP_CONCAT(DISTINCT STR(?pose); separator=", ") AS ?poses)
WHERE {
  ?pose rdf:type core:Pose ;
        core:belongsToVariant base:BaseSN_SivanandaYogaVedantaCentre_UsedatIITBHU ;
        core:involvesBodyPart ?bodyPart .
}
GROUP BY ?bodyPart
ORDER BY DESC(?poseCount) ?bodyPart

Execution Result

?bodyPart ?poseCount ?poses
Spine11BaseSN_Pose03, BaseSN_Pose07, BaseSN_Pose12, BaseSN_Pose04, BaseSN_Pose08, BaseSN_Pose01, BaseSN_Pose05, BaseSN_Pose09, BaseSN_Pose10, BaseSN_Pose02, BaseSN_Pose11
Chest8BaseSN_Pose07, BaseSN_Pose12, BaseSN_Pose04, BaseSN_Pose01, BaseSN_Pose09, BaseSN_Pose02, BaseSN_Pose06, BaseSN_Pose11
Hip6BaseSN_Pose03, BaseSN_Pose04, BaseSN_Pose08, BaseSN_Pose09, BaseSN_Pose10, BaseSN_Pose02
Knee6BaseSN_Pose03, BaseSN_Pose04, BaseSN_Pose08, BaseSN_Pose09, BaseSN_Pose10, BaseSN_Pose06
Shoulder6BaseSN_Pose07, BaseSN_Pose12, BaseSN_Pose08, BaseSN_Pose01, BaseSN_Pose05, BaseSN_Pose02
Feet5BaseSN_Pose03, BaseSN_Pose12, BaseSN_Pose01, BaseSN_Pose10, BaseSN_Pose06
Neck5BaseSN_Pose03, BaseSN_Pose07, BaseSN_Pose01, BaseSN_Pose02, BaseSN_Pose11
Ankle4BaseSN_Pose03, BaseSN_Pose04, BaseSN_Pose08, BaseSN_Pose09
Arms4BaseSN_Pose07, BaseSN_Pose08, BaseSN_Pose02, BaseSN_Pose11
Hands3BaseSN_Pose04, BaseSN_Pose09, BaseSN_Pose06
Elbow2BaseSN_Pose05, BaseSN_Pose06
Chin1BaseSN_Pose06
Core1BaseSN_Pose05
Legs1BaseSN_Pose05
Palms1BaseSN_Pose01
Wrist1BaseSN_Pose05

CQ13: How are poses grouped by chakra, along with their associated asanas, in the Base Surya Namaskar sequence?

PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX core: <https://purl.org/ai4s/yoga/sn-yo/core#>
PREFIX base: <https://purl.org/ai4s/yoga/sn-yo/base-sn#>
PREFIX v1: <https://purl.org/ai4s/yoga/sn-yo/variant01#>
PREFIX v2: <https://purl.org/ai4s/yoga/sn-yo/variant02#>
PREFIX v3: <https://purl.org/ai4s/yoga/sn-yo/variant03#>

SELECT ?chakra
       (COUNT(DISTINCT ?pose) AS ?poseCount)
       (GROUP_CONCAT(DISTINCT STR(?pose); separator=", ") AS ?poses)
       (GROUP_CONCAT(DISTINCT STR(?asana); separator=", ") AS ?asanas)
WHERE {
  ?pose rdf:type core:Pose ;
        core:belongsToVariant base:BaseSN_SivanandaYogaVedantaCentre_UsedatIITBHU ;
        core:hasChakra ?chakra ;
        core:hasAsana ?asana .
}
GROUP BY ?chakra
ORDER BY ?chakra

Execution Result

?chakra ?poseCount ?poses ?asanas
Ajna 2 BaseSN_Pose04, BaseSN_Pose09 AshwaSanchalanasana
Anahata 2 BaseSN_Pose12, BaseSN_Pose01 Pranamasana
Manipura 1 BaseSN_Pose06 AshtangaNamaskara
Swadhisthana 3 BaseSN_Pose03, BaseSN_Pose07, BaseSN_Pose10 Padahastasana, Bhujangasana
Vishuddhi 4 BaseSN_Pose08, BaseSN_Pose05, BaseSN_Pose02, BaseSN_Pose11 Parvatasana, ChaturangaDandasana, HastaUtthanasana

CQ14: What are the poses in the Base Surya Namaskar sequence along with their associated asanas and mantra values?

PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX core: <https://purl.org/ai4s/yoga/sn-yo/core#>
PREFIX base: <https://purl.org/ai4s/yoga/sn-yo/base-sn#>
PREFIX v1: <https://purl.org/ai4s/yoga/sn-yo/variant01#>
PREFIX v2: <https://purl.org/ai4s/yoga/sn-yo/variant02#>
PREFIX v3: <https://purl.org/ai4s/yoga/sn-yo/variant03#>

SELECT ?pose ?poseNumber ?asana ?mantra
WHERE {
  ?pose rdf:type core:Pose ;
        core:belongsToVariant base:BaseSN_SivanandaYogaVedantaCentre_UsedatIITBHU ;
        core:poseNumber ?poseNumber ;
        core:hasAsana ?asana ;
        core:hasMantra ?mantra .
}
ORDER BY ?poseNumber

Execution Result

?pose ?poseNumber ?asana ?mantra
BaseSN_Pose011PranamasanaOm Hraam/Om Mitraya Namah
BaseSN_Pose022HastaUtthanasanaOm Hreem/Om Ravaye Namah
BaseSN_Pose033PadahastasanaOm Hroom/Om Suryaya Namah
BaseSN_Pose044AshwaSanchalanasanaOm Hraim/Om Bhanave Namah
BaseSN_Pose055ChaturangaDandasanaOm Hraum/Om Khagaya Namah
BaseSN_Pose066AshtangaNamaskaraOm Hrah/Om Pushne Namah
BaseSN_Pose077BhujangasanaOm Hraam/Om Hiranyagarbhaya Namah
BaseSN_Pose088ParvatasanaOm Hreem/Om Marichaye Namah
BaseSN_Pose099AshwaSanchalanasanaOm Hroom/Om Adityaya Namah
BaseSN_Pose1010PadahastasanaOm Hraim/Om Savitre Namah
BaseSN_Pose1111HastaUtthanasanaOm Hraum/Om Arkaya Namah
BaseSN_Pose1212PranamasanaOm Hrah/Om Bhaskaraya Namah

CQ15: Which asanas are unique to each Surya Namaskar variant?

PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX core: <https://purl.org/ai4s/yoga/sn-yo/core#>
PREFIX base: <https://purl.org/ai4s/yoga/sn-yo/base-sn#>
PREFIX v1: <https://purl.org/ai4s/yoga/sn-yo/variant01#>
PREFIX v2: <https://purl.org/ai4s/yoga/sn-yo/variant02#>
PREFIX v3: <https://purl.org/ai4s/yoga/sn-yo/variant03#>

SELECT DISTINCT ?variant ?asana
WHERE {
  ?variant rdf:type core:Variant .

  ?pose rdf:type core:Pose ;
        core:belongsToVariant ?variant ;
        core:hasAsana ?asana .

  FILTER NOT EXISTS {
    ?otherVariant rdf:type core:Variant .
    FILTER(?otherVariant != ?variant)

    ?otherPose rdf:type core:Pose ;
               core:belongsToVariant ?otherVariant ;
               core:hasAsana ?asana .
  }
}
ORDER BY ?variant ?asana

Execution Result

?variant ?asana
Variant01_KrishnamacharyaVinyasaAdhoMukhaSvanasana
Variant01_KrishnamacharyaVinyasaDandaSamarpana
Variant01_KrishnamacharyaVinyasaSamasthiti
Variant01_KrishnamacharyaVinyasaTadasana
Variant01_KrishnamacharyaVinyasaUrdhwaMukhaSvanasana
Variant01_KrishnamacharyaVinyasaUtkatasana
Variant01_KrishnamacharyaVinyasaUttanasana
Variant03_SwamiVivekanandaKendraPhalakasana
Variant03_SwamiVivekanandaKendraShashankasana
Variant03_SwamiVivekanandaKendraShashtangaNamaskara

Visual Resources

Ontology Diagram

High-level mapping of the core ontology concepts and their relationships. Click to expand.

Ontology Diagram

Interactive Visualization

Dynamic web-based visualization of the ontology mapping. Click the image to expand the high-resolution view.

Open WebVOWL Tool ↗ Ontology Visualization

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) .