Last Updated June 11, 2026
Stories travel, but they do not travel empty. They carry language, place, ritual, memory, genre, performance, power, belief, kinship, environment, media form, and social use. To compare stories responsibly is not to flatten them into one universal pattern. It is to ask how narrative forms differ, recur, adapt, and acquire meaning in particular worlds.
Storytelling in Comparative Perspective examines how stories can be studied across cultures, periods, media, languages, religions, genres, and institutions without reducing them to a single template. It treats comparison as a disciplined method: useful for noticing patterns, but dangerous when it ignores context, translation, performance, power, colonial history, living tradition, and local meaning.

Comparison can reveal that stories across the world often deal with birth, death, kinship, exile, return, trickery, transformation, loss, justice, monsters, ancestors, animals, gods, strangers, tests, thresholds, and moral order. But comparison can also mislead. Similar forms do not always mean the same thing. A flood story, trickster tale, initiation ordeal, origin myth, journey, or animal fable may look familiar across traditions while serving very different social, ritual, ecological, political, or theological purposes.
Why Comparative Storytelling Matters
Comparative storytelling matters because no single culture, medium, or theoretical tradition owns narrative. Stories appear in oral performance, ritual speech, epic poetry, sacred history, folktale, proverb, legal testimony, drama, novels, comics, cinema, games, digital platforms, public memory, and institutional communication. Comparison helps us understand how narrative works across these forms without assuming that one model explains them all.
Comparison also helps reveal difference. A story of exile may organize covenant memory in one tradition, political displacement in another, migration history in another, spiritual testing in another, and personal identity in another. A trickster may be comic, sacred, dangerous, pedagogical, anti-authoritarian, ecological, obscene, or morally ambiguous depending on context. A heroic journey may matter in one setting and distort another.
Comparative study is useful when it asks precise questions: What is similar? What is different? What social work does the story perform? Who tells it? When is it told? What is protected? What changes in translation? What changes when the story moves from oral performance to archive, schoolbook, film, platform, or AI-generated summary?
| Comparative question | What it reveals | Risk |
|---|---|---|
| What patterns recur? | Shared narrative problems, motifs, or structures. | Assuming recurrence means identical meaning. |
| What changes across versions? | Local adaptation, performance, politics, and memory. | Treating variation as corruption of an original. |
| Who tells the story? | Authority, voice, social role, and performance context. | Separating story from storyteller. |
| Where does the story circulate? | Media form, audience, archive, and institutional use. | Ignoring how circulation reshapes meaning. |
| What is the story used for? | Instruction, ritual, identity, legitimacy, entertainment, or critique. | Reducing all stories to plot. |
| Who benefits from comparison? | Scholarly, institutional, cultural, or commercial stakes. | Extracting meaning from communities without accountability. |
Comparative storytelling matters because it makes narrative both broader and more precise: broader because stories exist everywhere, and more precise because they do different work in different worlds.
Comparison Without Flattening
Comparison becomes dangerous when it turns difference into sameness too quickly. A comparative approach might notice that many traditions contain journeys, thresholds, floods, tricksters, births from unusual origins, underworld descents, sibling conflict, divine tests, taboo violations, animal helpers, or returns from exile. These are useful observations. But they are only beginnings.
A responsible comparison asks what the similarity means in each context. A flood may be punishment, purification, ecological memory, cosmic renewal, covenant marker, ancestral warning, or regional disaster narrative. A trickster may challenge hierarchy in one tradition and demonstrate the dangers of appetite in another. A journey may symbolize moral growth in one story and political dispossession in another.
Flattening happens when a pattern is treated as more important than the people who preserve, perform, interpret, and live with the story. It also happens when comparison uses one theoretical model as the hidden standard and measures other traditions against it.
| Flattening move | Why it is risky | Better approach |
|---|---|---|
| “All cultures tell the same story.” | Erases difference, history, and context. | Ask which elements recur and which meanings diverge. |
| “This is just another hero’s journey.” | Forces stories into a familiar template. | Ask whether heroism is actually the organizing value. |
| “This motif means the same thing everywhere.” | Confuses similarity of form with sameness of function. | Study local interpretation, use, and performance. |
| “The oldest version is the real one.” | Treats later adaptation as decline. | Ask how versions serve different communities and moments. |
| “The written version preserves the story.” | May ignore performance, voice, audience, and variation. | Compare text, performance, memory, and transmission. |
| “The database proves the pattern.” | Turns classification into explanation. | Use classification as evidence, not as final interpretation. |
Comparison should sharpen attention, not erase texture. It should help us see both recurrence and difference.
Story Types, Motifs, and Folklore Classification
Folklore studies developed comparative tools to classify stories, tale types, motifs, variants, and recurring narrative elements. These tools are useful because they allow researchers to track how stories recur and change across languages, regions, archives, and traditions.
A tale type identifies a recurring plot structure. A motif identifies a smaller recurring element: a magic object, impossible task, animal helper, forbidden room, false bride, supernatural birth, recognition token, trickster deception, or transformation. A version or variant shows how a story appears in a specific setting.
Classification helps researchers compare large bodies of material. It can reveal networks of transmission, regional adaptation, recurring concerns, and local variation. But classification is not interpretation by itself. Knowing that a story belongs to a tale type does not tell us what it means in a given community, performance, ritual, language, or historical moment.
| Comparative tool | Use | Limit |
|---|---|---|
| Tale type | Groups stories by recurring plot structure. | Can obscure local meaning and performance context. |
| Motif | Tracks recurring narrative elements. | May detach symbols from cultural use. |
| Variant | Shows how a story changes across tellings. | May be treated as secondary to an imagined original. |
| Index | Organizes large comparative archives. | Classification systems reflect scholarly assumptions. |
| Corpus | Allows patterned study across many examples. | Missing, mistranslated, or colonial archives can distort findings. |
| Annotation | Marks characters, events, motifs, and themes. | Analytic categories may not match local categories. |
Classification is most useful when it is treated as a map of questions, not as a final account of meaning.
Oral Tradition, Performance, and Variation
Comparative storytelling must take oral tradition seriously. Oral stories are not failed written texts. They are performed acts shaped by voice, memory, audience, occasion, gesture, rhythm, formula, improvisation, repetition, place, and social relationship.
Oral tradition often depends on variation. A story may change from one telling to another without losing identity. A performer may expand, compress, adapt, localize, joke, intensify, or adjust a story according to audience and occasion. In this setting, variation is not merely error. It is part of the life of the story.
Comparing oral traditions requires more than comparing plots. It requires attention to performance, social role, language, genre, audience response, memory practices, and the conditions under which a story may be told. Some stories may be public. Others may be restricted by age, gender, season, ceremony, kinship, initiation, or community protocol.
| Oral tradition feature | Comparative importance | Risk if ignored |
|---|---|---|
| Performance | Meaning emerges through voice, gesture, timing, and presence. | The story is reduced to transcript. |
| Audience | Listeners shape pacing, emphasis, and response. | Story becomes detached from social relation. |
| Formula | Repeated phrases support memory and composition. | Repetition is misread as simplicity. |
| Variation | Different tellings reveal adaptation and local meaning. | Variation is treated as corruption. |
| Occasion | Time, ritual, season, or event may authorize the story. | Restricted or sacred context is erased. |
| Transmission | Story lives through apprenticeship, memory, and community practice. | Archive becomes mistaken for tradition itself. |
Oral comparison should ask not only what a story says, but what a telling does.
Myth, Ritual, and Cosmology
Comparative myth studies often look for recurring patterns: creation, flood, descent, sacrifice, divine conflict, trickster, culture hero, sacred marriage, cosmic tree, serpent, twin figures, world parent, underworld, or final renewal. These patterns can be illuminating, but myth cannot be reduced to plot.
Myth may organize cosmology, ritual, moral order, kinship, land relation, sacred history, political authority, seasonal time, social identity, or relations between humans and nonhumans. A myth may be told as story, sung as ritual, embodied in ceremony, represented in art, encoded in place, or preserved in sacred text. Its meaning may depend on who tells it and when.
Comparative myth becomes weak when it assumes that similar mythic images reveal a universal psychology while ignoring theology, ecology, language, ritual, and history. It becomes stronger when it asks how different traditions organize reality through narrative and how those narratives are practiced, contested, transmitted, and interpreted.
| Mythic comparison | Useful question | Weak question |
|---|---|---|
| Creation stories | How does the story organize origin, order, relation, and responsibility? | Which culture has the “same” creation myth? |
| Flood stories | What does water signify in this tradition and environment? | Do all flood stories come from one source? |
| Trickster stories | What boundaries does trickster cross or expose? | Is every trickster the same archetype? |
| Hero stories | What social values are attached to heroic action? | Does the story fit the universal hero model? |
| Underworld descents | How does the story imagine death, knowledge, return, or transformation? | Which version is closest to the original pattern? |
| Apocalyptic stories | How does the story organize crisis, judgment, hope, and renewal? | Is apocalypse just a common narrative template? |
Myths may be comparable, but they are not interchangeable. Their meanings belong to worlds of practice and belief.
Comparative Narratology
Narratology offers concepts such as plot, story, discourse, narrator, focalization, time, sequence, character, event, frame, and narrative level. Comparative narratology asks whether those concepts travel across literary, oral, visual, digital, and cultural contexts.
Some concepts travel well. Stories across many traditions organize events, agents, conflict, memory, and sequence. But not all narrative concepts are universal in the same way. A theory built around the European novel may not adequately explain oral epic, ritual performance, Indigenous place-based story, classical Chinese narrative, Sanskrit epic, West African praise poetry, Islamic sacred history, Japanese monogatari, Caribbean oral performance, or digital interactive storytelling.
Comparative narratology is strongest when it is willing to revise its categories. It should not merely apply one inherited model everywhere. It should learn from the narrative concepts, genres, and interpretive traditions of the materials being compared.
| Narratological concept | Comparative question | Possible adjustment |
|---|---|---|
| Plot | Does this tradition privilege causal sequence, episode, cycle, genealogy, ritual order, or repetition? | Do not assume plot means linear progression. |
| Character | Are figures individual psyches, role types, ancestors, spirits, offices, animals, collectives, or symbolic agents? | Do not impose modern individualism. |
| Narrator | Who authorizes the telling: performer, tradition, text, community, deity, archive, or institution? | Separate voice from authority. |
| Time | Is time linear, cyclical, ritual, genealogical, seasonal, sacred, historical, or recursive? | Do not reduce time to chronology. |
| Audience | Is the audience reader, listener, witness, initiate, participant, player, public, or community? | Treat reception as part of narrative form. |
| Closure | Does the story seek resolution, return, repetition, teaching, remembrance, or continued obligation? | Do not assume closure is the highest narrative value. |
Comparative narratology should expand theory by listening to stories that do not fit inherited categories.
Translation and Transmission
Stories change as they move across languages, media, archives, classrooms, films, platforms, and institutions. Translation is not only the substitution of words. It also involves genre, tone, metaphor, humor, rhythm, sacred terminology, social role, kinship terms, place names, taboo, politeness, and worldview.
A translated story may preserve plot while altering social meaning. A sacred term may become a generic word. A proverb may lose its sound pattern. A pun may disappear. A name may lose ancestry. A performance cue may be omitted. A kinship term may be flattened into “uncle,” “aunt,” “brother,” or “cousin.” A story told in a ceremonial setting may become a reading passage.
Transmission also changes authority. A story may move from elder to child, performer to audience, community to collector, collector to archive, archive to scholar, scholar to textbook, textbook to film, film to platform, platform to AI model. Each transfer can preserve, transform, or distort.
| Transmission shift | What changes | Review question |
|---|---|---|
| Oral to written | Performance, gesture, audience, and variation may be lost. | Does the text record conditions of telling? |
| Local language to global language | Concepts, humor, rhythm, and authority may shift. | What meanings are untranslatable or contested? |
| Ritual to classroom | Use changes from practice to instruction. | Is the story appropriate for this setting? |
| Archive to publication | Restricted or contextual material may become public. | Are rights, permissions, and protocols clear? |
| Text to film | Visual and dramatic form reshape emphasis. | What does adaptation add, omit, or aestheticize? |
| Platform to AI model | Story becomes training data or generated output. | Is consent, provenance, and cultural context preserved? |
Comparison must account for transmission because stories are not only inherited; they are moved, translated, mediated, and governed.
Media Form and Cultural Difference
A comparative approach must consider media form. A story told by an elder at a gathering is not the same kind of object as a printed folktale, a museum label, a novel, a film, a game, a short-form video, or an AI-generated summary. Media form changes pacing, authority, audience, evidence, memory, and participation.
Media form also interacts with cultural difference. A performance tradition may depend on call-and-response. A sacred story may require ritual context. A political story may depend on coded speech. A family story may rely on shared memory. A digital story may depend on caption, thumbnail, platform algorithm, and audience remix. Comparing these forms as if they were all equivalent “content” distorts them.
Responsible comparison asks what each medium makes possible, what it suppresses, and what kinds of narrative authority it creates.
| Medium | Narrative strength | Comparative caution |
|---|---|---|
| Oral performance | Embodied, responsive, variable, communal. | Do not reduce to plot transcript. |
| Written text | Stable, quotable, teachable, archival. | Do not mistake textual stability for cultural completeness. |
| Film | Visual, sonic, embodied, emotionally immediate. | Do not treat images as neutral evidence. |
| Game | Interactive, systemic, procedural, replayable. | Do not judge only by scripted story. |
| Digital platform | Networked, measurable, remixable, searchable. | Do not ignore algorithmic visibility and context collapse. |
| Archive/database | Collects, classifies, preserves, and searches. | Do not confuse classification with living tradition. |
Comparative storytelling requires media literacy because stories change when their conditions of expression change.
Colonial History and Archive Power
Comparative storytelling has a complicated history. Many stories were collected, translated, classified, and published under colonial conditions. Collectors often had more institutional power than storytellers. Archives preserved some materials while omitting performance, consent, language nuance, sacred restrictions, local commentary, and community authority.
This does not mean archives are useless. Archives can preserve important records, endangered languages, historical voices, and cultural materials that might otherwise be lost. But archive use requires caution. The presence of a story in an archive does not mean it was ethically collected, accurately translated, publicly authorized, or culturally complete.
Comparative research must ask how archives were built: Who collected? Who translated? Who classified? What was excluded? What language was used? Who controls access? What community protocols apply now? Can descendants, source communities, or living practitioners review interpretation?
| Archive issue | Comparative risk | Responsible practice |
|---|---|---|
| Collector bias | Stories reflect outsider selection and framing. | Document collector position and limits. |
| Translation loss | Key meanings may be simplified or altered. | Compare original language, translation notes, and local interpretation. |
| Missing performance | Transcript omits voice, gesture, audience, and occasion. | Record performance context where available. |
| Restricted material | Sacred or community-bound stories become public. | Follow current community protocols and access restrictions. |
| Classification bias | Western categories may organize non-Western materials. | Use local genres and interpretive categories where possible. |
| Ownership | Institutions control access to community memory. | Support repatriation, shared stewardship, and community review. |
Comparative storytelling must treat archives as historical evidence and as sites of power.
Universal Patterns and Local Meanings
A balanced comparative method can acknowledge recurring human concerns without collapsing all stories into one universal structure. Birth, death, kinship, danger, hunger, betrayal, transformation, loss, longing, injustice, memory, place, and mortality appear across many narrative traditions because human life repeatedly confronts such conditions. But stories organize these conditions differently.
Some stories emphasize individual transformation. Others emphasize collective obligation. Some center heroic action. Others center trickery, endurance, reciprocity, ritual renewal, ancestral memory, ecological relation, divine command, family restoration, or moral ambiguity. Some stories resolve. Others return, repeat, warn, question, or remain open.
The problem is not pattern recognition. The problem is premature universality. Patterns should lead to better questions, not final answers.
| Recurring concern | Possible comparative pattern | Possible local meaning |
|---|---|---|
| Exile | Separation from home. | Displacement, covenant, punishment, migration, initiation, or survival. |
| Return | Restoration after absence. | Political memory, spiritual renewal, family repair, or impossible longing. |
| Trickery | Deception and reversal. | Critique of power, survival tactic, comic disorder, or moral warning. |
| Transformation | Change of body, status, or identity. | Ritual passage, punishment, healing, kinship crossing, or cosmic relation. |
| Monster | Threatening figure or boundary being. | Social fear, ecological danger, colonial projection, sacred power, or internal disorder. |
| Gift | Exchange that changes relation. | Reciprocity, obligation, hospitality, divine favor, debt, or danger. |
A responsible comparative perspective asks how shared human problems are narrated through distinct cultural forms.
Comparative Storytelling and AI
AI systems can compare large bodies of stories quickly. They can cluster motifs, summarize variants, align translations, detect recurring entities, map networks, identify genre markers, and generate comparative tables. These tools may support research when used carefully.
But AI also poses serious risks for comparative storytelling. It may flatten traditions into generic archetypes. It may hallucinate sources. It may treat sacred or restricted material as public data. It may overgeneralize from dominant-language corpora. It may translate without cultural context. It may produce confident summaries of traditions it does not understand. It may reproduce colonial archive bias at scale.
AI comparison is especially risky when it is used to claim universal patterns. A model trained on uneven data can make the most documented traditions look most universal. It can also confuse similarity in language with similarity in meaning, or convert local categories into familiar Western terms.
| AI use | Possible benefit | Risk |
|---|---|---|
| Motif clustering | Finds recurring elements across corpora. | Detaches motifs from local interpretation. |
| Translation alignment | Compares versions across languages. | Misses tone, sacred terms, humor, and cultural specificity. |
| Story summarization | Makes large archives easier to review. | Flattens performance, ambiguity, and variation. |
| Network analysis | Maps characters, relations, and transmission. | Equates formal structure with cultural meaning. |
| Comparative tables | Organizes evidence for human review. | Creates false equivalence across traditions. |
| Generated examples | Prototypes teaching materials. | Fabricates cultural authority or synthetic folklore. |
AI can support comparative storytelling only when it remains subordinate to source knowledge, cultural protocol, human expertise, and methodological humility.
Ethics of Comparison
The ethics of comparison begins with a simple question: what gives the comparison the right to exist? Not every comparison is useful. Some comparisons illuminate. Others extract, flatten, rank, exoticize, or mislead.
Ethical comparison requires purpose. It should explain why these stories are being compared, what evidence supports the comparison, what differences matter, what limits apply, and who may be affected by the interpretation. It should avoid treating cultures as data sources for theories built elsewhere.
Comparison also requires accountability to living communities where relevant. Some stories are not simply public examples. They may be sacred, restricted, communal, or tied to land, ritual, ancestry, language, and obligation. Ethical comparison must distinguish open public material from protected knowledge.
| Ethical principle | Question | Warning sign |
|---|---|---|
| Purpose | Why compare these stories? | The comparison exists only to prove a favorite theory. |
| Context | What must be known before comparison is fair? | Stories are compared as plot summaries only. |
| Proportion | How strong is the evidence? | Large claims are built from thin examples. |
| Protocol | Are any stories restricted or community-governed? | Sacred or sensitive material is treated as open data. |
| Power | Who controls the comparison? | Outsider theory overrides source communities. |
| Humility | What remains uncertain? | The analysis speaks with false finality. |
Ethical comparison does not ask stories to serve theory at any cost. It lets stories resist comparison when comparison would distort them.
Examples of Comparative Story Analysis
The examples below show how comparative analysis can become more careful, contextual, and useful.
Flood stories
Weak: The analysis claims all flood stories prove a single universal myth.
Stronger: The analysis compares ecological memory, divine order, moral judgment, regional disaster, covenant, and renewal.
Why it works: It treats similarity as a question, not a conclusion.
Trickster stories
Weak: Every trickster is treated as the same archetype.
Stronger: The analysis asks how trickery works in relation to power, appetite, boundary, survival, humor, and sacred disorder.
Why it works: It preserves local function.
Heroic journeys
Weak: The story is forced into departure, initiation, and return.
Stronger: The analysis first asks whether heroism, transformation, return, or individual agency is actually central.
Why it works: It prevents template capture.
Oral and written versions
Weak: The written text is treated as the authoritative story.
Stronger: The analysis compares performance, occasion, audience response, variation, transcription, and translation.
Why it works: It respects oral tradition as practice.
Comparative folktale index
Weak: Classification is treated as explanation.
Stronger: The index helps locate variants, then interpretation examines local meaning, teller, context, and change.
Why it works: It uses classification as a research tool.
AI comparative summary
Weak: An AI-generated table is accepted as cross-cultural analysis.
Stronger: The workflow audits sources, translation, corpus bias, cultural protocol, uncertainty, and human review.
Why it works: It prevents computational patterning from replacing interpretation.
Comparative analysis is strongest when it makes stories more specific, not less.
Mathematics, Computation, and Modeling
Comparative storytelling should not be reduced to numerical similarity, but structured diagnostics can help evaluate whether a comparison is responsible.
A comparative integrity score can estimate whether a comparison preserves context, difference, evidence, and ethical limits:
C_i = \frac{S_c + D_p + E_q + T_r + P_c + H_r}{6}
\]
Interpretation: Comparative integrity \(C_i\) averages source context \(S_c\), difference preservation \(D_p\), evidence quality \(E_q\), translation reliability \(T_r\), protocol compliance \(P_c\), and human review \(H_r\).
A flattening risk score can estimate when comparison is becoming reductive:
F_r = U_cw_u + T_cw_t + C_lw_c + A_bw_a + P_iw_p + (1 – D_p)w_d
\]
Interpretation: Flattening risk \(F_r\) rises with universalism claims \(U_c\), template capture \(T_c\), context loss \(C_l\), archive bias \(A_b\), power imbalance \(P_i\), and weak difference preservation \(D_p\).
A transmission uncertainty score can estimate how much caution is needed when stories move across versions:
T_u = L_gw_l + M_sw_m + A_gw_a + P_lw_p + R_sw_r + (1 – V_d)w_v
\]
Interpretation: Transmission uncertainty \(T_u\) rises with language gap \(L_g\), media shift \(M_s\), archive gap \(A_g\), performance loss \(P_l\), restricted-source concern \(R_s\), and weak version documentation \(V_d\).
An AI comparative-risk score can estimate when machine comparison threatens cultural accuracy:
A_r = B_cw_b + H_sw_h + T_lw_t + S_rw_s + O_cw_o + (1 – X_h)w_x
\]
Interpretation: AI comparative-risk \(A_r\) rises with biased corpus \(B_c\), hallucinated source risk \(H_s\), translation loss \(T_l\), sacred/restricted material risk \(S_r\), overgeneralized claims \(O_c\), and weak expert human review \(X_h\).
| Modeling task | Governance question | Example output |
|---|---|---|
| Comparative integrity audit | Does the comparison preserve context, difference, and evidence? | Comparative integrity score. |
| Flattening audit | Is the analysis forcing stories into universal templates? | Flattening risk score. |
| Transmission audit | How much uncertainty comes from translation, archive, or media shift? | Transmission uncertainty score. |
| Protocol audit | Are sacred, restricted, or community-governed stories protected? | Protocol review note. |
| Archive audit | Does the corpus reflect collector bias, omissions, or colonial history? | Archive-power profile. |
| AI audit | Does machine comparison overgeneralize, hallucinate, or flatten context? | AI comparative-risk score. |
Computation should help comparative work become more transparent, not more confident than the evidence allows.
Python Workflow: Comparative Story Governance Audit
The Python workflow below follows the advanced Catalyst Canvas standard: typed records, config-driven scoring, validation, governance notes, Canvas-card exports, CSV outputs, JSON outputs, markdown governance queues, and review priorities. The companion repository version includes the shared `python/catalyst_canvas/` layer plus article-specific data for comparative integrity, flattening risk, transmission uncertainty, protocol strength, archive-power risk, and AI comparative risk.
# run_comparative_story_governance_audit.py
from __future__ import annotations
from dataclasses import dataclass
from pathlib import Path
import csv
import json
from hashlib import sha256
from statistics import mean
from typing import Any
ARTICLE_ROOT = Path(__file__).resolve().parents[1]
OUTPUTS = ARTICLE_ROOT / "outputs"
@dataclass(frozen=True)
class ComparativeStoryGovernanceRecord:
item: str
comparison_context: str
source_context: float
difference_preservation: float
evidence_quality: float
translation_reliability: float
protocol_compliance: float
human_review: float
universalism_claims: float
template_capture: float
context_loss: float
archive_bias: float
power_imbalance: float
language_gap: float
media_shift: float
archive_gap: float
performance_loss: float
restricted_source_concern: float
version_documentation: float
local_interpretation: float
community_review: float
attribution_quality: float
corpus_balance: float
biased_corpus: float
hallucinated_source_risk: float
ai_translation_loss: float
sacred_material_risk: float
overgeneralized_claims: float
expert_review: float
public_consequence: float
owner: str = "editorial"
status: str = "active"
notes: str = ""
@dataclass(frozen=True)
class ComparativeStoryGovernanceConfig:
article_title: str = "Storytelling in Comparative Perspective"
article_slug: str = "storytelling-in-comparative-perspective"
medium_threshold: float = 0.45
high_threshold: float = 0.62
allowed_statuses: tuple[str, ...] = ("active", "archive", "review", "revise")
def validate_score(value: float, field_name: str) -> None:
if value < 0 or value > 1:
raise ValueError(f"{field_name} must be between 0 and 1.")
def validate_record(record: ComparativeStoryGovernanceRecord, config: ComparativeStoryGovernanceConfig) -> None:
if not record.item.strip():
raise ValueError("item is required.")
if not record.comparison_context.strip():
raise ValueError("comparison_context is required.")
if record.status not in config.allowed_statuses:
raise ValueError(f"Invalid status: {record.status}")
for field_name, value in record.__dict__.items():
if isinstance(value, float):
validate_score(value, field_name)
def comparative_integrity(record: ComparativeStoryGovernanceRecord) -> float:
return mean([
record.source_context,
record.difference_preservation,
record.evidence_quality,
record.translation_reliability,
record.protocol_compliance,
record.human_review,
])
def flattening_risk(record: ComparativeStoryGovernanceRecord) -> float:
return min(
1.0,
record.universalism_claims * 0.18
+ record.template_capture * 0.18
+ record.context_loss * 0.18
+ record.archive_bias * 0.16
+ record.power_imbalance * 0.16
+ (1 - record.difference_preservation) * 0.14,
)
def transmission_uncertainty(record: ComparativeStoryGovernanceRecord) -> float:
return min(
1.0,
record.language_gap * 0.18
+ record.media_shift * 0.16
+ record.archive_gap * 0.18
+ record.performance_loss * 0.18
+ record.restricted_source_concern * 0.14
+ (1 - record.version_documentation) * 0.16,
)
def contextual_grounding(record: ComparativeStoryGovernanceRecord) -> float:
return mean([
record.local_interpretation,
record.community_review,
record.attribution_quality,
record.corpus_balance,
record.source_context,
record.protocol_compliance,
])
def ai_comparative_risk(record: ComparativeStoryGovernanceRecord) -> float:
return min(
1.0,
record.biased_corpus * 0.18
+ record.hallucinated_source_risk * 0.18
+ record.ai_translation_loss * 0.18
+ record.sacred_material_risk * 0.18
+ record.overgeneralized_claims * 0.16
+ (1 - record.expert_review) * 0.12,
)
def governance_priority_score(record: ComparativeStoryGovernanceRecord, config: ComparativeStoryGovernanceConfig) -> float:
score = (
flattening_risk(record) * 0.22
+ transmission_uncertainty(record) * 0.16
+ ai_comparative_risk(record) * 0.20
+ (1 - comparative_integrity(record)) * 0.16
+ (1 - contextual_grounding(record)) * 0.12
+ record.public_consequence * 0.14
)
if record.status == "revise":
score = max(score, config.high_threshold)
elif record.status == "review":
score = max(score, config.medium_threshold)
return min(1.0, max(0.0, score))
def review_priority(record: ComparativeStoryGovernanceRecord, config: ComparativeStoryGovernanceConfig) -> str:
score = governance_priority_score(record, config)
if score >= config.high_threshold:
return "high"
if score >= config.medium_threshold:
return "medium"
return "standard"
def card_id(record: ComparativeStoryGovernanceRecord, config: ComparativeStoryGovernanceConfig) -> str:
raw = f"{config.article_slug}|{record.item}|{record.comparison_context}"
return sha256(raw.encode("utf-8")).hexdigest()[:16]
def governance_note(record: ComparativeStoryGovernanceRecord, config: ComparativeStoryGovernanceConfig) -> str:
priority = review_priority(record, config)
notes = []
if priority == "high":
notes.append("High-priority comparative story governance review required.")
elif priority == "medium":
notes.append("Medium-priority comparative narrative review recommended.")
else:
notes.append("Standard editorial review sufficient.")
if comparative_integrity(record) < 0.65:
notes.append("Comparative integrity is limited; strengthen source context, difference preservation, evidence, translation reliability, protocol compliance, and human review.")
if flattening_risk(record) >= 0.55:
notes.append("Flattening risk is elevated; review universalism claims, template capture, context loss, archive bias, power imbalance, and difference preservation.")
if transmission_uncertainty(record) >= 0.55:
notes.append("Transmission uncertainty is elevated; review language gap, media shift, archive gap, performance loss, restricted-source concern, and version documentation.")
if contextual_grounding(record) < 0.65:
notes.append("Contextual grounding is limited; review local interpretation, community review, attribution, corpus balance, source context, and protocol compliance.")
if ai_comparative_risk(record) >= 0.55:
notes.append("AI comparative risk is elevated; review corpus bias, hallucinated sources, translation loss, sacred-material risk, overgeneralized claims, and expert review.")
if record.notes:
notes.append(record.notes)
return " ".join(notes)
def canvas_card(record: ComparativeStoryGovernanceRecord, config: ComparativeStoryGovernanceConfig) -> dict[str, Any]:
return {
"schema_version": "1.0.0",
"card_id": card_id(record, config),
"card_type": "comparative_story_governance",
"article_title": config.article_title,
"article_slug": config.article_slug,
"item": record.item,
"comparison_context": record.comparison_context,
"scores": {
"comparative_integrity": round(comparative_integrity(record), 4),
"flattening_risk": round(flattening_risk(record), 4),
"transmission_uncertainty": round(transmission_uncertainty(record), 4),
"contextual_grounding": round(contextual_grounding(record), 4),
"ai_comparative_risk": round(ai_comparative_risk(record), 4),
"governance_priority_score": round(governance_priority_score(record, config), 4),
},
"review": {
"priority": review_priority(record, config),
"owner": record.owner,
"status": record.status,
"governance_note": governance_note(record, config),
},
}
def write_csv(path: Path, rows: list[dict[str, Any]]) -> None:
path.parent.mkdir(parents=True, exist_ok=True)
fieldnames = list(rows[0].keys())
with path.open("w", encoding="utf-8", newline="") as handle:
writer = csv.DictWriter(handle, fieldnames=fieldnames)
writer.writeheader()
writer.writerows(rows)
def write_json(path: Path, payload: Any) -> None:
path.parent.mkdir(parents=True, exist_ok=True)
path.write_text(json.dumps(payload, indent=2), encoding="utf-8")
def write_markdown_queue(path: Path, rows: list[dict[str, Any]]) -> None:
path.parent.mkdir(parents=True, exist_ok=True)
lines = [
"# Comparative Story Governance Queue",
"",
"| Item | Context | Integrity | Flattening risk | Transmission uncertainty | AI risk | Priority | Owner |",
"|---|---|---:|---:|---:|---:|---|---|",
]
for row in rows:
lines.append(
f"| {row['item']} | {row['comparison_context']} | "
f"{row['comparative_integrity']} | {row['flattening_risk']} | "
f"{row['transmission_uncertainty']} | {row['ai_comparative_risk']} | "
f"{row['review_priority']} | {row['owner']} |"
)
path.write_text("\n".join(lines) + "\n", encoding="utf-8")
def main() -> None:
config = ComparativeStoryGovernanceConfig()
records = [
ComparativeStoryGovernanceRecord(
"Flood story comparison",
"cross-cultural comparison of flood narratives across mythic, ecological, and covenant contexts",
0.76, 0.78, 0.74, 0.70, 0.72, 0.80,
0.54, 0.42, 0.48, 0.46, 0.50,
0.58, 0.52, 0.48, 0.54, 0.42, 0.72,
0.74, 0.66, 0.78, 0.70,
0.38, 0.34, 0.42, 0.36, 0.44, 0.82,
0.84,
"editorial", "review",
"Useful comparison if ecological, ritual, theological, and transmission contexts remain distinct."
),
ComparativeStoryGovernanceRecord(
"Forced hero template",
"reading multiple oral, ritual, and epic traditions as one universal hero journey",
0.42, 0.28, 0.46, 0.40, 0.34, 0.44,
0.92, 0.94, 0.86, 0.70, 0.78,
0.64, 0.70, 0.66, 0.72, 0.58, 0.38,
0.36, 0.28, 0.42, 0.44,
0.72, 0.64, 0.68, 0.62, 0.88, 0.46,
0.90,
"governance", "revise",
"Escalate; template capture and universalism claims overwhelm source context and difference preservation."
),
ComparativeStoryGovernanceRecord(
"AI motif clustering",
"machine-assisted comparison of folktale motifs across uneven translated corpora",
0.50, 0.42, 0.54, 0.38, 0.36, 0.48,
0.70, 0.66, 0.78, 0.82, 0.74,
0.76, 0.58, 0.80, 0.72, 0.66, 0.40,
0.42, 0.34, 0.50, 0.30,
0.88, 0.82, 0.86, 0.72, 0.84, 0.34,
0.86,
"governance", "revise",
"Escalate; uneven corpora, translation loss, archive bias, and overgeneralized AI claims require expert review."
),
]
rows = []
cards = []
for record in records:
validate_record(record, config)
cards.append(canvas_card(record, config))
rows.append({
"item": record.item,
"comparison_context": record.comparison_context,
"comparative_integrity": round(comparative_integrity(record), 4),
"flattening_risk": round(flattening_risk(record), 4),
"transmission_uncertainty": round(transmission_uncertainty(record), 4),
"contextual_grounding": round(contextual_grounding(record), 4),
"ai_comparative_risk": round(ai_comparative_risk(record), 4),
"governance_priority_score": round(governance_priority_score(record, config), 4),
"review_priority": review_priority(record, config),
"owner": record.owner,
"status": record.status,
"governance_note": governance_note(record, config),
})
priority_order = {"high": 3, "medium": 2, "standard": 1}
rows = sorted(
rows,
key=lambda row: (
priority_order.get(str(row["review_priority"]), 0),
float(row["governance_priority_score"]),
),
reverse=True,
)
queue = [row for row in rows if row["review_priority"] != "standard"]
queue_cards = [card for card in cards if card["review"]["priority"] != "standard"]
write_csv(OUTPUTS / "tables" / "comparative_story_governance_audit.csv", rows)
write_csv(OUTPUTS / "tables" / "comparative_story_governance_queue.csv", queue)
write_json(OUTPUTS / "json" / "comparative_story_governance_canvas_cards.json", cards)
write_json(OUTPUTS / "json" / "comparative_story_governance_queue.json", queue_cards)
write_markdown_queue(OUTPUTS / "markdown" / "comparative_story_governance_queue.md", queue)
print("Comparative story governance audit complete.")
if __name__ == "__main__":
main()
This workflow helps distinguish responsible comparative analysis from universalist flattening, template capture, archive bias, translation loss, and AI overgeneralization.
R Workflow: Comparative Narrative Diagnostics
The R workflow below provides a portable base R diagnostic for comparative integrity, flattening risk, transmission uncertainty, contextual grounding, and AI comparative risk.
# comparative_story_governance_diagnostics.R
# Base R workflow for Storytelling in Comparative Perspective.
args <- commandArgs(trailingOnly = FALSE)
file_arg <- grep("^--file=", args, value = TRUE)
if (length(file_arg) > 0) {
script_path <- normalizePath(sub("^--file=", "", file_arg[1]), mustWork = TRUE)
article_root <- normalizePath(file.path(dirname(script_path), ".."), mustWork = TRUE)
} else {
article_root <- getwd()
}
setwd(article_root)
tables_dir <- file.path(article_root, "outputs", "tables")
figures_dir <- file.path(article_root, "outputs", "figures")
dir.create(tables_dir, recursive = TRUE, showWarnings = FALSE)
dir.create(figures_dir, recursive = TRUE, showWarnings = FALSE)
records <- data.frame(
item = c(
"Flood story comparison",
"Forced hero template",
"AI motif clustering"
),
comparison_context = c(
"cross-cultural comparison of flood narratives across mythic, ecological, and covenant contexts",
"reading multiple oral, ritual, and epic traditions as one universal hero journey",
"machine-assisted comparison of folktale motifs across uneven translated corpora"
),
source_context = c(0.76, 0.42, 0.50),
difference_preservation = c(0.78, 0.28, 0.42),
evidence_quality = c(0.74, 0.46, 0.54),
translation_reliability = c(0.70, 0.40, 0.38),
protocol_compliance = c(0.72, 0.34, 0.36),
human_review = c(0.80, 0.44, 0.48),
universalism_claims = c(0.54, 0.92, 0.70),
template_capture = c(0.42, 0.94, 0.66),
context_loss = c(0.48, 0.86, 0.78),
archive_bias = c(0.46, 0.70, 0.82),
power_imbalance = c(0.50, 0.78, 0.74),
language_gap = c(0.58, 0.64, 0.76),
media_shift = c(0.52, 0.70, 0.58),
archive_gap = c(0.48, 0.66, 0.80),
performance_loss = c(0.54, 0.72, 0.72),
restricted_source_concern = c(0.42, 0.58, 0.66),
version_documentation = c(0.72, 0.38, 0.40),
local_interpretation = c(0.74, 0.36, 0.42),
community_review = c(0.66, 0.28, 0.34),
attribution_quality = c(0.78, 0.42, 0.50),
corpus_balance = c(0.70, 0.44, 0.30),
biased_corpus = c(0.38, 0.72, 0.88),
hallucinated_source_risk = c(0.34, 0.64, 0.82),
ai_translation_loss = c(0.42, 0.68, 0.86),
sacred_material_risk = c(0.36, 0.62, 0.72),
overgeneralized_claims = c(0.44, 0.88, 0.84),
expert_review = c(0.82, 0.46, 0.34),
public_consequence = c(0.84, 0.90, 0.86),
owner = c("editorial", "governance", "governance"),
status = c("review", "revise", "revise"),
stringsAsFactors = FALSE
)
records$comparative_integrity <- rowMeans(records[, c(
"source_context",
"difference_preservation",
"evidence_quality",
"translation_reliability",
"protocol_compliance",
"human_review"
)])
records$flattening_risk <- pmin(
1,
records$universalism_claims * 0.18 +
records$template_capture * 0.18 +
records$context_loss * 0.18 +
records$archive_bias * 0.16 +
records$power_imbalance * 0.16 +
(1 - records$difference_preservation) * 0.14
)
records$transmission_uncertainty <- pmin(
1,
records$language_gap * 0.18 +
records$media_shift * 0.16 +
records$archive_gap * 0.18 +
records$performance_loss * 0.18 +
records$restricted_source_concern * 0.14 +
(1 - records$version_documentation) * 0.16
)
records$contextual_grounding <- rowMeans(records[, c(
"local_interpretation",
"community_review",
"attribution_quality",
"corpus_balance",
"source_context",
"protocol_compliance"
)])
records$ai_comparative_risk <- pmin(
1,
records$biased_corpus * 0.18 +
records$hallucinated_source_risk * 0.18 +
records$ai_translation_loss * 0.18 +
records$sacred_material_risk * 0.18 +
records$overgeneralized_claims * 0.16 +
(1 - records$expert_review) * 0.12
)
records$governance_priority_score <- pmin(
1,
records$flattening_risk * 0.22 +
records$transmission_uncertainty * 0.16 +
records$ai_comparative_risk * 0.20 +
(1 - records$comparative_integrity) * 0.16 +
(1 - records$contextual_grounding) * 0.12 +
records$public_consequence * 0.14
)
records$review_priority <- ifelse(
records$status == "revise" | records$governance_priority_score >= 0.62,
"high",
ifelse(
records$status == "review" | records$governance_priority_score >= 0.45,
"medium",
"standard"
)
)
records <- records[order(records$governance_priority_score, decreasing = TRUE), ]
write.csv(records, file.path(tables_dir, "comparative_story_governance_diagnostics.csv"), row.names = FALSE)
write.csv(records[records$review_priority != "standard", ], file.path(tables_dir, "comparative_story_governance_queue.csv"), row.names = FALSE)
png(file.path(figures_dir, "comparative_integrity_scores.png"), width = 1200, height = 700)
barplot(
records$comparative_integrity,
names.arg = records$item,
las = 2,
ylab = "Comparative integrity",
main = "Comparative Integrity"
)
grid()
dev.off()
png(file.path(figures_dir, "flattening_risk_scores.png"), width = 1200, height = 700)
barplot(
records$flattening_risk,
names.arg = records$item,
las = 2,
ylab = "Flattening risk",
main = "Flattening Risk"
)
grid()
dev.off()
print(records[, c(
"item",
"comparison_context",
"comparative_integrity",
"flattening_risk",
"transmission_uncertainty",
"ai_comparative_risk",
"review_priority"
)])
This workflow helps distinguish careful comparison from template-driven reading, archive distortion, translation uncertainty, and AI-generated overgeneralization.
GitHub Repository
The companion repository for this article supports comparative story governance analysis as a Catalyst Canvas-ready module. It includes advanced additive `python/catalyst_canvas/` governance infrastructure, article-specific comparative storytelling data, config-driven scoring, validation, governance notes, Canvas card generation, CSV/JSON/markdown exporters, CLI workflows, smoke tests, unit tests, R diagnostics, SQL structures, documentation, and reusable comparative narrative review templates.
Complete Code Repository
Companion repository for the article, including advanced Catalyst Canvas-ready code for comparative integrity, flattening risk, transmission uncertainty, contextual grounding, AI comparative risk, JSON exports, Canvas cards, governance queues, and reproducible research workflows.
articles/storytelling-in-comparative-perspective/
├── canvas/
│ ├── canvas_manifest.json
│ ├── input_schema.json
│ ├── output_schema.json
│ ├── catalyst_canvas_config.json
│ ├── catalyst_canvas_manifest.json
│ ├── catalyst_canvas_cards.json
│ └── catalyst_canvas_governance_queue.json
├── html/
├── css/
├── php/
├── java/
├── python/
│ ├── catalyst_canvas/
│ │ ├── __init__.py
│ │ ├── __main__.py
│ │ ├── cli.py
│ │ ├── models.py
│ │ ├── scoring.py
│ │ ├── validation.py
│ │ ├── governance.py
│ │ └── exporters.py
│ ├── comparative_story_governance_canvas/
│ │ ├── __init__.py
│ │ ├── models.py
│ │ ├── scoring.py
│ │ ├── validation.py
│ │ ├── governance.py
│ │ └── exporters.py
│ ├── tests/
│ │ ├── test_catalyst_canvas.py
│ │ └── test_comparative_story_governance_canvas.py
│ ├── run_catalyst_canvas_audit.py
│ └── run_comparative_story_governance_audit.py
├── r/
│ ├── comparative_story_governance_diagnostics.R
│ └── run_all_comparative_story_governance_workflows.R
├── sql/
│ ├── canvas_schema.sql
│ └── canvas_queries.sql
├── docs/
│ ├── article_notes.md
│ ├── modeling_principles.md
│ ├── why_comparative_storytelling_matters.md
│ ├── comparison_without_flattening.md
│ ├── story_types_motifs_and_folklore_classification.md
│ ├── oral_tradition_performance_and_variation.md
│ ├── myth_ritual_and_cosmology.md
│ ├── comparative_narratology.md
│ ├── translation_and_transmission.md
│ ├── media_form_and_cultural_difference.md
│ ├── colonial_history_and_archive_power.md
│ ├── universal_patterns_and_local_meanings.md
│ ├── comparative_storytelling_and_ai.md
│ ├── ethics_of_comparison.md
│ ├── ethical_risk.md
│ ├── responsible_use.md
│ ├── governance_notes.md
│ └── catalyst_canvas_upgrade_notes.md
├── data/
│ ├── comparative_story_governance_claims.csv
│ ├── comparative_integrity_notes.csv
│ ├── flattening_risk_notes.csv
│ ├── transmission_uncertainty_notes.csv
│ ├── ai_comparative_risk_notes.csv
│ └── catalyst_canvas_assessment.csv
├── outputs/
│ ├── figures/
│ ├── json/
│ ├── markdown/
│ └── tables/
├── notebooks/
├── shared/
│ ├── schemas/
│ ├── narrative-templates/
│ ├── story-archetypes/
│ ├── character-models/
│ ├── plot-structures/
│ ├── rhetorical-frameworks/
│ ├── cultural-memory/
│ ├── comparative-story-governance/
│ └── governance/
├── tests/
└── README.md
Related Articles
- Storytelling and the Ethics of Representation
- Narrative Systems and Story Structure Modeling
- Myths, Legends, Folktales, and Epics
- Folktale Structure and Vladimir Propp’s Morphology
- Joseph Campbell and the Comparative Study of Myth
- Gender, Critique, and the Limits of Universal Story Models
A Practical Method for Comparative Story Analysis
1. Define the reason for comparison
Clarify why the stories are being compared and what the comparison can responsibly show.
2. Identify the units of comparison
Decide whether you are comparing motifs, tale types, plots, performances, genres, rituals, media forms, themes, or social uses.
3. Preserve source context
Document language, teller, collector, archive, community, medium, occasion, and historical setting where possible.
4. Compare similarities cautiously
Treat recurring patterns as questions, not proof of universal meaning.
5. Compare differences seriously
Ask what changes across versions, traditions, media, and audiences.
6. Review translation and transmission
Track language gaps, transcription, adaptation, media shift, archive loss, and performance loss.
7. Check local interpretation
Use local scholarship, community commentary, performer notes, and source-language materials where possible.
8. Audit power and archive history
Ask who collected, classified, translated, preserved, and controls access to the stories.
9. Avoid template capture
Do not force stories into hero’s journey, morphology, archetype, or plot models before testing whether those models fit.
10. Govern AI use
Use AI only for assistance, not authority. Verify sources, translations, corpus balance, cultural protocols, and expert review.
The method treats comparison as disciplined attention to both shared narrative problems and distinct cultural meanings.
Common Pitfalls
Several pitfalls appear when comparative storytelling becomes too confident.
- Universalism by shortcut: Claiming all stories are the same because several motifs recur.
- Template capture: Forcing stories into a familiar model before studying their own form.
- Archive innocence: Treating collected texts as neutral evidence without asking how they were gathered.
- Translation blindness: Comparing translated summaries as if no meaning was lost.
- Performance erasure: Reducing oral tradition to plot transcript.
- Origin obsession: Treating the oldest recoverable version as the only meaningful one.
- Motif extraction: Pulling symbols out of cultural, ritual, ecological, or theological context.
- Comparative ranking: Treating some traditions as more advanced, complete, rational, literary, or universal than others.
- AI overconfidence: Trusting machine-generated comparisons without source verification and expert review.
- Ethical detachment: Forgetting that some stories are sacred, restricted, living, or community-governed.
The central pitfall is turning comparison into conquest: making stories serve a theory rather than letting them challenge the theory.
Why Comparative Storytelling Requires Humility
Comparative storytelling can reveal striking patterns. Stories across the world return to creation, death, kinship, trickery, loss, exile, animals, strangers, monsters, ancestors, gifts, tests, and transformation. These patterns matter. They show that narrative responds to recurring human conditions.
But comparison becomes responsible only when it also preserves difference. A story is not just a pattern. It is a practice, performance, memory, archive, translation, institution, ritual, media form, and relation to people. It belongs somewhere before it becomes material for comparison.
The goal is not to find one master story underneath all stories. The goal is to understand how different communities use narrative to organize experience, value, obligation, memory, and meaning. Sometimes comparison reveals resonance. Sometimes it reveals divergence. Sometimes it reveals the limits of comparison itself.
Comparative storytelling requires humility because the stories being compared may exceed the categories brought to them. Good comparison listens for that excess. It lets stories correct theory. It protects context. It recognizes archive power. It checks translation. It resists universalism. It treats living traditions with care.
The strongest comparative perspective does not make all stories the same. It helps us see why stories matter differently across the world.
Further Reading
- Aarne, A., Thompson, S. and Uther, H.-J. (2004/2024) The Types of International Folktales: A Classification and Bibliography. Helsinki: Academia Scientiarum Fennica. Available at: https://www.folklorefellows.fi/ffc-284-286-2024-edition/
- Ben-Amos, D. (1971) ‘Toward a Definition of Folklore in Context’, Journal of American Folklore, 84(331), pp. 3–15.
- Dundes, A. (1989) Folklore Matters. Knoxville: University of Tennessee Press.
- Finnegan, R. (2012) Oral Literature in Africa. Cambridge: Open Book Publishers. Available at: https://www.openbookpublishers.com/books/10.11647/obp.0025
- Finnegan, R. (2025) Oral Poetry. Cambridge: Open Book Publishers. Available at: https://www.openbookpublishers.com/books/10.11647/obp.0428
- Lord, A.B. (1960/2019) The Singer of Tales. Cambridge, MA: Harvard University Press / Center for Hellenic Studies. Available at: https://chs.harvard.edu/book/lord-albert-bates-the-singer-of-tales/
- Ong, W.J. (1982) Orality and Literacy: The Technologizing of the Word. London: Methuen.
- Propp, V. (1968) Morphology of the Folktale. 2nd edn. Austin: University of Texas Press.
- UNESCO (n.d.) ‘Oral traditions and expressions including language as a vehicle of the intangible cultural heritage’. Available at: https://ich.unesco.org/en/oral-traditions-and-expressions-00053
- Zhang, L. (2017) ‘Toward a Comparative Narratology: A Chinese Perspective’, Comparative Literature Studies, 54(1), pp. 52–70. Available at: https://scholarlypublishingcollective.org/psup/cls/article/54/1/52/199563/Toward-a-Comparative-Narratology-A-Chinese
References
- Aarne, A., Thompson, S. and Uther, H.-J. (2004/2024) The Types of International Folktales: A Classification and Bibliography. Helsinki: Academia Scientiarum Fennica. Available at: https://www.folklorefellows.fi/ffc-284-286-2024-edition/
- Bauman, R. (1986) Story, Performance, and Event: Contextual Studies of Oral Narrative. Cambridge: Cambridge University Press.
- Ben-Amos, D. (1971) ‘Toward a Definition of Folklore in Context’, Journal of American Folklore, 84(331), pp. 3–15.
- Campbell, J. (1949) The Hero with a Thousand Faces. Princeton: Princeton University Press.
- Dundes, A. (1989) Folklore Matters. Knoxville: University of Tennessee Press.
- Finnegan, R. (2012) Oral Literature in Africa. Cambridge: Open Book Publishers. Available at: https://www.openbookpublishers.com/books/10.11647/obp.0025
- Finnegan, R. (2025) Oral Poetry. Cambridge: Open Book Publishers. Available at: https://www.openbookpublishers.com/books/10.11647/obp.0428
- Lord, A.B. (1960/2019) The Singer of Tales. Cambridge, MA: Harvard University Press / Center for Hellenic Studies. Available at: https://chs.harvard.edu/book/lord-albert-bates-the-singer-of-tales/
- Ong, W.J. (1982) Orality and Literacy: The Technologizing of the Word. London: Methuen.
- Propp, V. (1968) Morphology of the Folktale. 2nd edn. Austin: University of Texas Press.
- Thompson, S. (1955–1958) Motif-Index of Folk-Literature. Revised edn. Bloomington: Indiana University Press.
- UNESCO (n.d.) ‘Oral traditions and expressions including language as a vehicle of the intangible cultural heritage’. Available at: https://ich.unesco.org/en/oral-traditions-and-expressions-00053
- Zhang, L. (2017) ‘Toward a Comparative Narratology: A Chinese Perspective’, Comparative Literature Studies, 54(1), pp. 52–70. Available at: https://scholarlypublishingcollective.org/psup/cls/article/54/1/52/199563/Toward-a-Comparative-Narratology-A-Chinese
