# @faubulous/mentor-rdf 中文文档

规范地址：https://npmcn.com/package/%40faubulous/mentor-rdf/

版本：2\.7\.0
npm 元数据更新时间：2026-11-02T16:36:47.269Z
中文译文更新时间：2026-11-14T11:58:50.961Z
软件包许可：GPL

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40faubulous/mentor-rdf
原文对照：https://npmcn.com/package/%40faubulous/mentor-rdf/?lang=original
项目主页：https://github.com/faubulous/mentor-rdf#readme
源码仓库：https://github.com/faubulous/mentor-rdf

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：8 MB，74 个文件
- 模块格式：CommonJS
- TypeScript 类型：包内自带
- Node.js 要求：\>=22
- 运行依赖：8 个
- 首次发布：2023-09-13T15:34:51.250Z
- 最新版本发布：2026-11-02T16:36:46.915Z
- 近 30 天下载量：3005（2026-10-15 至 2026-11-13，npm 官方下载统计）
- 已发布版本数：120（近 12 个月 40 个）

## 中文简介

用于与RDF词汇合作的图书馆,支持RDFS基础和OWL推论.

## 安装

```sh
npm install @faubulous/mentor-rdf
```

也可以使用：`pnpm add @faubulous/mentor-rdf`、`yarn add @faubulous/mentor-rdf`、`bun add @faubulous/mentor-rdf`

## README

# 指导RDF API

一个TypeScript库,用于在Node.js和浏览器中与RDF词汇工作. 它授权 [导师](https://github.com/faubulous/mentor-vscode) VS代码扩展,通过寄存器模式和轻量级结构推理提供结构化访问本体学.

[![License: LGPL-2.1](https://img.shields.io/badge/License-LGPL--2.1-blue.svg)](https://opensource.org/licenses/LGPL-2.1) [![API Docs](https://img.shields.io/badge/API-docs-blue.svg)](https://faubulous.github.io/mentor-rdf/) [![Coverage](https://img.shields.io/endpoint?url=https://faubulous.github.io/mentor-rdf/coverage-badge.json)](https://faubulous.github.io/mentor-rdf/coverage/) [![npm downloads](https://img.shields.io/npm/dm/@faubulous/mentor-rdf.svg)](https://www.npmjs.com/package/@faubulous/mentor-rdf) [![TypeScript](https://img.shields.io/badge/TypeScript-6.0-blue.svg)](https://www.typescriptlang.org/)

## 特征

### 仓库模式

通过提供类型安全、SPARQL免费查询的专用寄存器访问 RDF 资源 :

-   **词汇库** - 查询本体学和SKOS概念方案
-   **类仓库** - 获取具有分级结构的 OWL/RDFS 类
-   **财产仓库** - 访问对象、数据类型和注释属性
-   **个人仓库** - 查询类实例及其属性
-   **形状仓库** - 与SHACL节点和财产形状合作

### 结构原因

内置理性器扩展了您的 RDF 图表,并带有推断出的三个:

-   **红外线** – 说吧 – `rdfs:subClassOf`, (中文(简体) ), `rdfs:subPropertyOf`,域/范围推论
-   **猫头鹰** - OWL 类表达式、属性特征、等同性
-   **Skos Reasoner 软件** - SKOS概念等级和语义关系
-   **阴影** - SHACL形状目标推论

### RDF 存储器

一个 [卢旺达国防军](https://rdf.js.org/)\- 与下列三家店兼容:

-   多格式支持:Turtle,N3,N-Triples,N-Quads,TriG,RDF/XML
-   命名的图表管理
-   捆绑的W3C肿瘤(RDF、RDFS、OWL、SKOS、SHACL、XSD)

### 词汇常数

捆绑词汇的IRI作为常数输出: `RDF.type` 财务报告和审定财务报表 `XSD.string` 作为弦, `rdf.type` 作为RDF/JS术语,以及 `_RDF` 或者说 `_XSD` 用于命名空间。 仅需要这些常量的代码,例如浏览器捆绑,从自己的入口导入这些常量,以便库的其余部分不加入捆绑:

```ts
import { RDF, XSD } from '@faubulous/mentor-rdf/ontologies';
```

## SKOS 概念计划和收藏

SKOS等级不是树,标准也不要求它们留在概念计划中. 因此,存放处采用明确的规则,以便分级查看既不会失去资源,也不会在错误的地方显示资源.

### 哪些概念属于计划

一个概念是 **关联** 有计划,当它携带 `skos:inScheme` 或者说 `skos:topConceptOf` 因为.. `skos:broader` 财务报告和审定财务报表 `skos:narrower` 故意的 故意的 _没有_ 考虑到,因为它们可能跨越计划界限.

`getTopConcepts` 返回指定的概念 `skos:hasTopConcept`编号 :`skos:topConceptOf`, (中文(简体) ), **加号** 计划的所有概念,如果没有更广泛的概念 _在同一计划中_第二部分涉及这样的词汇:

```turtle
:TaskScheme a skos:ConceptScheme ; skos:hasTopConcept :task--root .

:task--paint a skos:Concept ;
    skos:inScheme :TaskScheme ;           # belongs to the task scheme …
    skos:broader  :group--finishing .     # … but hangs off a concept of another scheme
```

仅跟随 `skos:broader` 将离开 `:task--paint` 完全可达到 `:GroupScheme`,以及 `:TaskScheme` 似乎只包含 `:task--root`由于广义的概念不是 `:TaskScheme`, (中文(简体) ), `:task--paint` 是计划的一个顶级概念 宣布它.

当扩张时, `getNarrowerConcepts(graphs, conceptUri, { inScheme })` 返回该图中较窄的概念,或与之相关的概念 **没有** 计划。 第二项条款保留了概念在词汇中可见,这些词汇只标出部分概念——严格的过滤会隐藏. 它不提供上概念规则,因此一个没有被扫描的概念从不单独成为上概念;无论它来自何处,都显示它.

### 三个不同的问题

| 方法 | 答复 |
| --- | --- |
| `getConcepts(graphs)` | 每个 `skos:Concept` 在图表中,无论方案. |
| `getConceptsOfScheme(graphs, scheme)` | 概念 **关联** 计划(`skos:inScheme`编号 :`skos:topConceptOf`) (中文(简体) ). 一个指数扫描. |
| `getAllConceptsInScheme(graphs, scheme)` | 对方案的分级观点可以 **到达** 顶端的概念加上下面可能显示的更窄的任何东西. |

显示一个数值的UI 应该使用 `getAllConceptsInScheme`,因此数字与扩大计划所揭示的一致。 使用 `getConcepts` 在每个计划下报告整个文件总数。 转录索引了等级关系,每次调用一次,而不是查询每个概念,这样它就可以在大沙里语上使用(4,577-概念教科文组织词库中为~37 ms,而6 ms用于 `getConceptsOfScheme`) (中文(简体) ).

### 嵌入式收藏

A 类 `skos:Collection` 可能还有其他的收藏作为会员,所以收藏也形成等级:

-   `getCollections` 返回每个收藏; `getRootCollections` 返回只返回不属于其他收藏的收藏,这是等级视图应当在顶层显示的内容.
-   `getSubCollections` 返回收藏的会员; `getCollectionMembers` 返回所有成员。 都决心 `skos:member` **财务报告和审定财务报表** `skos:memberList`,并保留成员列表顺序 `skos:OrderedCollection`。 。 。 .
-   `getSuperCollections` 解决反向方向。 对于 `skos:memberList` 它走着 `rdf:rest` 从成员向后链,所以它也找到共享列表的收藏.
-   所有这些接受 `inScheme` 将结果限于收集一个概念方案,或 `inScheme: null` 给与无.

### 周期和自我参考

SKOS禁止等级循环,但真正的词汇包含它们,所以曲面是防御性的:

-   一个资源是它自己更广泛的概念或它自己的成员仍然是根或上的概念—— `:A skos:member :A` 不删除 `:A` 从 `getRootCollections`。 。 。 .
-   每个收藏都由 `getCollections` 或是一个根集,或可到达下方。 如果一组藏品只能通过会籍周期才能得到,则其中之一会被作为根还原,这样就不会丢失.
-   旅行者由被参观的一组人看守,并且总是终止,包括自行车 `rdf:rest` 成员列表中的链条.

`src/rdf/tests/cases/valid-concept-cycle.ttl` 财务报告和审定财务报表 `valid-collection-cycle.ttl` 标出这一行为.

**已知的限制:**

-   由空白节点所识别的集合不能为其成员查询,所以总是作为根集合报告.
-   以上"一无所失"的担保适用于收藏. 广义关系构成 _关闭_ 没有顶端概念的周期没有切入点,也没有达到 `getTopConcepts` 或者说 `getAllConceptsInScheme`。 。 。 .

## 安装

在Node.js(QQ22)和现代浏览器中工作:

```bash
npm install @faubulous/mentor-rdf
```

## 快速启动

```typescript
import { Store, VocabularyRepository, OwlReasoner } from '@faubulous/mentor-rdf';

const graph = 'http://example.org/test';

// Create a store with OWL reasoning
const store = new Store(new OwlReasoner());

// Load an ontology
await store.loadFromTurtleStream(turtleData, graph);

// Query using repositories
const repository = new VocabularyRepository(store);

// Get all classes defined in the ontology
for (const classUri of repository.getClasses(graph)) {
  console.log(classUri);
}

// Get class hierarchy (includes inferred subclass relationships)
const subClasses = repository.getSubClasses(graph, 'http://example.org/MyClass');
```

## 常见问题

### @faubulous/mentor-rdf 是什么？

用于与RDF词汇合作的图书馆,支持RDFS基础和OWL推论\.

### 如何安装 @faubulous/mentor-rdf？

在项目目录运行 npm install @faubulous/mentor-rdf，或使用 pnpm add / yarn add / bun add。

### @faubulous/mentor-rdf 支持 TypeScript 吗？

支持。包内自带 TypeScript 类型声明（package\.json 声明了 types 入口），安装后即可获得类型提示，无需再安装 @types 包。

### @faubulous/mentor-rdf 支持 ESM 还是 CommonJS？

以 CommonJS 形式发布，可以直接 require\(\)；在 ES Module 项目中也可以用 import 引入（Node\.js 会把 module\.exports 作为默认导出）。

### @faubulous/mentor-rdf 需要什么版本的 Node\.js？

package\.json 的 engines 字段要求 Node\.js \>=22。版本不符时 npm 默认只给出警告，开启 engine-strict 后会拒绝安装。

### @faubulous/mentor-rdf 可以商用吗？

@faubulous/mentor-rdf 使用 GPL 许可。声明的许可为 GPL，请阅读许可原文确认使用条件。以上为概括，不构成法律意见，请以许可原文为准。

### @faubulous/mentor-rdf 的下载量有多少？

根据 npm 官方下载统计，@faubulous/mentor-rdf 在 2026/10/15 – 2026/11/13 这 30 天内被下载 3,005 次，日均约 100 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @faubulous/mentor-rdf 还在维护吗？

最新版本 2\.7\.0 发布于 2026/11/03（11 天前）；至今共发布 120 个版本，其中过去 12 个月发布了 40 个；首次发布于 2023/09/13。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

