{
  "messages": [
    {
      "role": "system",
      "content": "You are a knowledge graph extraction agent for long-form novels. Extract entities and relations from the given text chunk. Return JSON only."
    },
    {
      "role": "user",
      "content": "Ontology constraints (prefer these core types and normalized relations):\nAllowed core entity types:\n- 人物: 角色姓名, 主角/关键人物, 配角\n- 地点: 山岳/洞天, 洞府/殿阁, 城镇/疆域, 秘境\n- 组织: 宗门, 门派, 势力, 机构\n- 物品: 兵器, 法器, 经卷典籍, 其他道具\n- 功法体系: 功法, 法门, 修炼体系\n- 术法神通: 法术, 剑诀, 神通, 招式\n- 境界体系: 练气, 筑基, 金丹, 元婴\n- 生物种族: 妖兽, 异种, 神魔, 灵体\n- 职位称号: 真人, 真君, 掌门, 老祖\n- 事件仪式: 拜师, 祭祀, 闭关, 试炼\n- 概念法则: 大道/天道, 世界规则, 禁忌概念\n- 其他\nNormalized relations:\n- 告知: aliases=说道, 问道, 笑道, 答道, 开口\n- 修炼: aliases=修炼, 修行, 参悟, 参修, 修习\n- 拥有: aliases=拥有, 持有, 携带, 手持, 背着\n- 前往: aliases=前往, 来到, 进入, 回到, 抵达\n- 对抗: aliases=出手, 拔剑, 斩向, 追杀, 打斗\n- 施展: aliases=施法, 施展, 催动, 发动, 召出\nKey rules:\n- 实体 type 必须落在核心类型集合中；subtype 仅作细分，不得替代 type。\n- 若实体更像角色身份标签而非完整人物名，优先使用职位称号。\n- 若实体强调修炼路径与长期体系，优先使用功法体系；强调施展动作时优先使用术法神通。\n- 无法安全判断时允许使用其他，但应在后续 Type Consolidation 中优先收缩。\n\nCHUNK_ID: C0035 | PARA_RANGE: 304-315\n\nFrom the text chunk below, extract entities and relations. Output STRICT JSON with keys: entities (list) and relations (list). Entity schema: {name,type,aliases,attributes,descriptions,evidence,mentions}. mentions is a list of {chunk_id,summary,attributes,evidence}. Relation schema: {subject,relation,object,evidence,mentions}. mentions is a list of {chunk_id,summary,evidence}. Use ontology core types when possible. Do not invent new top-level entity type labels outside the ontology if an existing type fits. Prefer normalized relation names from the ontology alias list. If an existing entity card clearly matches a mention in this chunk, reuse that card's canonical name. If the chunk uses a title, alias, or shortened reference that matches a card, keep it under the same entity instead of splitting it. Keep outputs compact: at most 8 entities and 8 relations for this pass. Each description/evidence/summary should be short (<=30 characters) and avoid full sentences. Limit each entity to <=2 descriptions and <=2 mentions; each relation to <=1 mention. For mentions in this chunk, set chunk_id to the provided CHUNK_ID. Only include information supported by the chunk. Return a single JSON object and nothing else (no markdown, no code fences). If unsure, return {\"entities\":[],\"relations\":[]}.\n\nTEXT CHUNK:\n东连沙碛，两抵诸番；南达乌戈，北通鞑靼。径过有八百里遥。上下有千万里远。水流一似的翻身，浪滚却如山耸背。洋洋浩浩，漠漠茫茫，十里遥闻万丈洪。仙槎难到此，莲叶莫能浮。衰草斜阳流曲浦，黄云影日暗长堤。那里得客商来往？何曾有渔叟依栖？平沙无雁落，远岸有猿啼。只是红蓼花絮知景色，白苹香细任依依。\n\n菩萨正然点看，只见那河中，泼剌一声响亮，水波里跳出一个妖魔来，十分丑恶。他生得：\n\n青不青，黑不黑，晦气色脸；长不长，短不短，赤脚筋躯。眼光闪烁，好似灶底双灯；口角角丫叉。就如屠家火钵。撩牙撑剑刃，红发乱蓬松。一声叱咤如雷吼，两脚奔波似滚风。\n\n那怪物手执一根宝杖，走上岸就捉菩萨。却被惠岸掣浑铁棒挡住，喝声：“休走！”那怪物就持定杖来迎。两个在流沙河边。这一场恶杀，真个惊人：\n\n木吒浑铁棒，护法显神通；怪物降妖杖，努力逞英雄。双条银蟒河边舞，一对神谱岸上冲。那一个威镇流沙施本事，这一个力保观音建大功。那一个翻波跃浪。这一个吐雾喷云。翻波跃浪乾坤暗，吐雾喷云日月昏。那个降妖杖，好便似出山的白虎；这个浑铁棒，却就如卧道的黄龙。那个使将来。寻蛇拔草；这个丢开去，扑鹞分松。只杀得昏漠漠，星辰灿烂；雾腾腾，天地腾胧。那个久住弱水惟他狠。这个初出灵山第一功。\n\n他两个来来往往，战上数十合，不分胜负。那怪物架住了铁棒道；“你是哪里和尚，敢来与我抵敌？”木吒道：“我是托塔天王二太子木吒惠岸行者，今保我师父往东土寻取经人去。你是何怪，敢大胆阻路？”那怪方才醒悟道：“我记得你踉南海观音在紫竹林中修行，你为何来此？”木呼道：“那岸上不是我师父？”\n\n怪物闻言，连声喏喏，收了宝杖，让木吒揪了去见观音。纳头下拜，告道：“菩萨，恕我之罪，待我诉告。我不是妖邪，我是灵霄殿下侍銮舆的卷帘大将。只因在蟋桃会上，失手打碎了玻璃盏，玉帝把我打了八百，贬下界来，变得这般模样；又教七日一次，将飞剑来穿我胸胁百余下方回，故此这般苦恼。没奈何，饥寒难忍，三二日间，出波涛寻一个行人食用。不期今日无知，冲撞了大慈菩萨。”菩萨道：“你在天有罪，既贬下来，今又这等伤生，正所谓罪上加罪。我今领了佛旨。上东上寻取经人。你何不入我门来，皈依善果，跟那取经人做个徒弟，上西天拜佛求经？我教飞剑不来穿你。那时节功成免罪，复你本职，心下如何？”\n\n那怪道：“我愿皈正果。”乃向前道：“菩萨，我在此间吃人无数，向来有几次取经人来，都被我吃了。凡吃的人头，抛落流沙，竟沉水底（这个水，鹅毛也不能浮），惟有九个取经人的骷髅，浮在水面，再不能沉。我以为异物，将索儿穿在一处，闲时拿来顽耍，这去，但恐取经人不得到此，却不是反误了我的前程也？”菩萨日：“岂有不到之理？你可将骷髅地挂在头顶下，等候取经入，自有用处。”怪物道：“既然如此，愿领教诲。”菩萨方与他摩项受戒，指沙为姓，就姓了沙，起个法名，叫做个沙悟净。当时入了沙门，送菩萨过了河，他洗心涤虑。再不伤生，专等取经人。\n\n菩萨与他别了，同木吒径奔东土。行了多时，又见一座高山，山上有恶气遮漫，不能步上。正欲驾云过山，不觉狂风起处，又闪上一个妖魔。他生得又甚凶险：\n\n卷上莲蓬吊搭嘴，耳如蒲扇显金睛。獠牙锋利如钢挫，长嘴张开似火盆。金盔紧系腮边带，勒甲丝绦蟒退鳞。手执钉把龙探爪，腰挎弯弓月十轮。纠纠威风欺太岁，昂昂志气压天神。他撞上来，不分好歹，望菩萨，举钉把就筑，被木呼行者挡住，大喝一声道：“那泼怪，休得无礼！看棒！”妖魔道：“这和尚不知死活！看钯！”两个在山底下，一冲一撞，赌斗输赢。真个好杀；\n\n妖魔凶猛，惠岸威能。铁棒分心捣，钉钻劈面迎。播土扬尘天地暗，飞砂走石鬼神惊。九齿钯，光耀耀，双环响亮；一条棒，黑悠悠，两手飞腾。这个是天王太子，那个是元帅精灵。一个在普陀为护法，一个在山洞作妖精。这场相遇争高下，不知那个亏输那个赢。\n\n他两个正杀到好处，观世音在半空中，抛下莲花，隔开钯杖。怪物见了心惊，便问：“你是哪里和尚，敢弄甚么‘眼前花’哄我？”木吒道：“我把你这个肉眼凡胎的泼物！我是南海菩萨的徒弟。这是我师父抛来的莲花，你也不认得哩！”那怪道：“南海菩萨，可是扫三灾救八难的观世音么？”木吐道：“不是他是谁？”怪物撇了钉把，纳头下礼道；“老兄，菩萨在哪里？累烦你引见一引见。”木吐仰面指道：“哪不是？”怪物朝上磕头，厉声高叫道：“菩萨，恕罪！恕罪！”"
    }
  ]
}