Skip to content

基础用法

本文档介绍 relationship-ts 的基础用法。

查询称谓

简单关系

ts
import relationship from 'relationship-ts';

relationship({ text: '爸爸的妈妈' });
// => ['奶奶', '祖母']

relationship({ text: '妈妈的爸爸' });
// => ['姥爷', '外公', '祖父']

relationship({ text: '哥哥的老婆' });
// => ['嫂子', '嫂嫂', '阿嫂']

复杂关系

ts
relationship({ text: '妈妈的哥哥的老婆' });
// => ['舅妈', '舅母']

relationship({ text: '爸爸的哥哥的老婆' });
// => ['伯母', '大娘', '姆姆']

relationship({ text: '妈妈的姐妹的女儿' });
// => ['表姐', '表妹', '表姊', '表妹']

指定性别

某些关系需要知道你的性别才能正确计算:

ts
// 我是男性
relationship({ text: '哥哥的老婆', sex: 1 });
// => ['嫂子', '嫂嫂', '阿嫂']

// 我是女性
relationship({ text: '哥哥的老婆', sex: 0 });
// => ['嫂子', '嫂嫂', '阿嫂']

// 性别未知
relationship({ text: '哥哥的老婆', sex: -1 });
// => ['嫂子', '嫂嫂', '阿嫂']

反向查询

查询对方应该如何称呼我:

ts
// 我是男性,外婆应该叫我什么?
relationship({ text: '外婆', reverse: true, sex: 1 });
// => ['外孙']

// 我是女性,外婆应该叫我什么?
relationship({ text: '外婆', reverse: true, sex: 0 });
// => ['外孙女']

// 我是男性,舅舅应该叫我什么?
relationship({ text: '舅舅', reverse: true, sex: 1 });
// => ['外甥']

关系链查询

查询某个称谓代表什么关系:

ts
// "舅公"是什么亲戚?
relationship({ text: '舅公', type: 'chain' });
// => ['爸爸的妈妈的兄弟', '妈妈的妈妈的兄弟', '老公的妈妈的兄弟']

// "表姐"是什么关系?
relationship({ text: '表姐', type: 'chain' });
// => ['爸爸的姐妹的女儿&o', '妈妈的姐妹的女儿&o', ...]

关系合称

查询两个人之间是什么关系:

ts
// 外婆和奶奶之间是什么关系?
relationship({ text: '外婆', target: '奶奶', type: 'pair' });
// => ['儿女亲家']

// 哥哥和弟弟之间是什么关系?
relationship({ text: '哥哥', target: '弟弟', type: 'pair' });
// => ['兄弟']

// 姐姐和妹妹之间是什么关系?
relationship({ text: '姐姐', target: '妹妹', type: 'pair' });
// => ['姐妹']

相对关系

查询 A 和 B 之间的称谓关系:

ts
// 舅妈如何称呼外婆?
relationship({ text: '外婆', target: '舅妈', sex: 1 });
// => ['婆婆']

// 奶奶如何称呼姑姑?
relationship({ text: '奶奶', target: '姑姑', sex: 0 });
// => ['儿媳']

自然语言模式

支持自然语言表达式查询:

ts
// 直接用自然语言提问
relationship('舅妈如何称呼外婆?');
// => ['婆婆']

relationship('外婆和奶奶之间是什么关系?');
// => ['儿女亲家']

relationship('爸爸的妈妈是谁?');
// => ['奶奶', '祖母']

下一步

基于 MIT 许可发布