词表 czns
这是 命名空间里那些自定义类与属性的机读定义:四个类、七个属性,用 Turtle 与 JSON-LD 各写一份。有了它,czns:IntangibleHeritage 不再只是一个指向页面锚点的名字,而是一个有定义、有取值范围的术语。
一、这份词表包含什么
四个类:IntangibleHeritage(非遗项目)、Guide(行程编排)、FoodItem(饮食品类)、Fact(事实条目)。七个属性:pageType、subjectType、cluster、charCount、hasSourceSection、claim、verifiedOn。每个都给 rdfs:label、rdfs:comment 与 rdfs:range;类给 rdfs:subClassOf。
为什么要写 rdfs:comment 而不是只列名字:因为几个术语的边界正是被误用过的地方。比如 FoodItem 的注释里明写「不使用 schema:FoodEstablishment——那指餐厅、饮食店等经营场所」;verifiedOn 的注释里明写「与 schema:dateModified 不是一回事,不合并」。这些说明写在词表里,比写在一篇文章里更难被绕过。
二、Turtle
@prefix czns: <https://chaoshanwiki.cn/ns/#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix schema: <https://schema.org/> .
<https://chaoshanwiki.cn/ns/#> a owl:Ontology ;
rdfs:label "潮俗网词表 czns"@zh ;
rdfs:comment "定义本站自有的类与属性。前缀 czns: 展开为 https://chaoshanwiki.cn/ns/# 。"@zh ;
owl:versionInfo "2026-10-19" .
czns:IntangibleHeritage a owl:Class ;
rdfs:label "非遗项目"@zh ;
rdfs:comment "对应国家级非物质文化遗产代表性项目名录中的项目或子项。页内须标编号、序号、批次与申报地区;项目名用名录原名,不做简写。"@zh ;
rdfs:subClassOf schema:Thing .
czns:Guide a owl:Class ;
rdfs:label "行程编排"@zh ;
rdfs:comment "按城市与天数编排的路线页。区别于 schema:TouristTrip——后者的行程项是结构化的 itinerary,本类不承诺该结构。"@zh ;
rdfs:subClassOf schema:Thing .
czns:FoodItem a owl:Class ;
rdfs:label "饮食品类"@zh ;
rdfs:comment "菜、粿、茶这一类文化品类。不使用 schema:FoodEstablishment——那指餐厅、饮食店等经营场所。"@zh ;
rdfs:subClassOf schema:Thing .
czns:Fact a owl:Class ;
rdfs:label "事实条目"@zh ;
rdfs:comment "单一可核查主张的记录。一条只表达一件事;复合说法须拆分。"@zh ;
rdfs:subClassOf schema:Thing .
czns:pageType a owl:DatatypeProperty ;
rdfs:label "页面类型"@zh ;
rdfs:comment "页面本身是什么。取值:Article、CollectionPage、WebPage、Dataset、FAQPage、DefinedTermSet。"@zh ;
rdfs:range xsd:string .
czns:subjectType a owl:DatatypeProperty ;
rdfs:label "主体类型"@zh ;
rdfs:comment "页面主要描述的对象是什么。取值:Person、Place、TouristAttraction、Event、czns:IntangibleHeritage、czns:Guide、czns:FoodItem、DefinedTermSet、Thing。"@zh ;
rdfs:range xsd:string .
czns:cluster a owl:DatatypeProperty ;
rdfs:label "跨语言簇"@zh ;
rdfs:comment "同一内容各语言版本共用的值,取母本 slug,用于把五种语言的分支认作同一对象。"@zh ;
rdfs:range xsd:string .
czns:charCount a owl:DatatypeProperty ;
rdfs:label "正文用字数"@zh ;
rdfs:comment "去标签、去空白后的字符数,含标点与拉丁字符;不含 script、style 标签内的嵌入数据(如事实清单的 JSON)。"@zh ;
rdfs:range xsd:integer .
czns:hasSourceSection a owl:DatatypeProperty ;
rdfs:label "设有来源节"@zh ;
rdfs:comment "该页是否设「来源」一节。"@zh ;
rdfs:range xsd:boolean .
czns:claim a owl:DatatypeProperty ;
rdfs:label "事实断言"@zh ;
rdfs:comment "一条可独立核查的陈述。不使用 schema:text——那表示某作品的正文。"@zh ;
rdfs:range xsd:string .
czns:verifiedOn a owl:DatatypeProperty ;
rdfs:label "核查日期"@zh ;
rdfs:comment "该条事实最后核对通过的日期。与 schema:dateModified(页面修改日期)不是一回事,不合并。"@zh ;
rdfs:range xsd:date .
三、JSON-LD
同一份内容,换成 JSON-LD。这个图另整段嵌在 script#cz-vocab-json 里,类型为 application/ld+json——不执行脚本也能取到,爬虫与解析器都能直接读。
{
"@context": {
"@vocab": "https://chaoshanwiki.cn/ns/#",
"czns": "https://chaoshanwiki.cn/ns/#",
"rdfs": "http://www.w3.org/2000/01/rdf-schema#",
"owl": "http://www.w3.org/2002/07/owl#",
"xsd": "http://www.w3.org/2001/XMLSchema#",
"schema": "https://schema.org/",
"@language": "zh",
"label": {
"@id": "rdfs:label"
},
"comment": {
"@id": "rdfs:comment"
},
"subClassOf": {
"@id": "rdfs:subClassOf",
"@type": "@id"
},
"range": {
"@id": "rdfs:range",
"@type": "@id"
}
},
"@graph": [
{
"@id": "https://chaoshanwiki.cn/ns/#",
"@type": "owl:Ontology",
"label": "潮俗网词表 czns",
"comment": "定义本站自有的类与属性。前缀 czns: 展开为 https://chaoshanwiki.cn/ns/# 。",
"owl:versionInfo": {
"@value": "2026-10-19",
"@language": null
}
},
{
"@id": "czns:IntangibleHeritage",
"@type": "owl:Class",
"label": "非遗项目",
"comment": "对应国家级非物质文化遗产代表性项目名录中的项目或子项。页内须标编号、序号、批次与申报地区;项目名用名录原名,不做简写。",
"subClassOf": "schema:Thing"
},
{
"@id": "czns:Guide",
"@type": "owl:Class",
"label": "行程编排",
"comment": "按城市与天数编排的路线页。区别于 schema:TouristTrip——后者的行程项是结构化的 itinerary,本类不承诺该结构。",
"subClassOf": "schema:Thing"
},
{
"@id": "czns:FoodItem",
"@type": "owl:Class",
"label": "饮食品类",
"comment": "菜、粿、茶这一类文化品类。不使用 schema:FoodEstablishment——那指餐厅、饮食店等经营场所。",
"subClassOf": "schema:Thing"
},
{
"@id": "czns:Fact",
"@type": "owl:Class",
"label": "事实条目",
"comment": "单一可核查主张的记录。一条只表达一件事;复合说法须拆分。",
"subClassOf": "schema:Thing"
},
{
"@id": "czns:pageType",
"@type": "owl:DatatypeProperty",
"label": "页面类型",
"comment": "页面本身是什么。取值:Article、CollectionPage、WebPage、Dataset、FAQPage、DefinedTermSet。",
"range": "xsd:string"
},
{
"@id": "czns:subjectType",
"@type": "owl:DatatypeProperty",
"label": "主体类型",
"comment": "页面主要描述的对象是什么。取值:Person、Place、TouristAttraction、Event、czns:IntangibleHeritage、czns:Guide、czns:FoodItem、DefinedTermSet、Thing。",
"range": "xsd:string"
},
{
"@id": "czns:cluster",
"@type": "owl:DatatypeProperty",
"label": "跨语言簇",
"comment": "同一内容各语言版本共用的值,取母本 slug,用于把五种语言的分支认作同一对象。",
"range": "xsd:string"
},
{
"@id": "czns:charCount",
"@type": "owl:DatatypeProperty",
"label": "正文用字数",
"comment": "去标签、去空白后的字符数,含标点与拉丁字符;不含 script、style 标签内的嵌入数据(如事实清单的 JSON)。",
"range": "xsd:integer"
},
{
"@id": "czns:hasSourceSection",
"@type": "owl:DatatypeProperty",
"label": "设有来源节",
"comment": "该页是否设「来源」一节。",
"range": "xsd:boolean"
},
{
"@id": "czns:claim",
"@type": "owl:DatatypeProperty",
"label": "事实断言",
"comment": "一条可独立核查的陈述。不使用 schema:text——那表示某作品的正文。",
"range": "xsd:string"
},
{
"@id": "czns:verifiedOn",
"@type": "owl:DatatypeProperty",
"label": "核查日期",
"comment": "该条事实最后核对通过的日期。与 schema:dateModified(页面修改日期)不是一回事,不合并。",
"range": "xsd:date"
}
]
}
四、这份词表不做什么
三条,先讲清楚,免得当它比实际更强。一是没有推理承诺:subClassOf 写的是 schema:Thing,属声明性质,本站不提供 reasoner,也不保证任何机器推理结论。二是没有独立文件端点:平台不收 .ttl 与 .json,所以不存在 czns.ttl 这样的地址;能取的是页面本身,以及页内的 script。三是没有全量覆盖:词表只管本站自定义的部分,其余一律复用 schema.org,不另造同义词。
四是没有取值校验:pageType、subjectType 的允许值写在 rdfs:comment 里,rdfs:range 只声明为 xsd:string。也就是说,词表说明了允许值,不等于机器会拦住别的值。要强制约束,得另加 SHACL 一类的东西,本站没有做。
还有一处限制写在明处:czns: 下的术语 URI 是 /ns/# 加锚点,属哈希命名空间——一个 HTML 页面就能承载全部术语,不需要为每个术语开一个地址。这与「不能做内容协商」是同一处短板的两面,如实记在这里。
那么现在到底靠什么把关?两条,2026 年 10 月 24 日又重跑过:一是全站 272 页内嵌的 JSON-LD 逐页 JSON.parse,结果全部可解析;二是把这 272 页的 pageType、subjectType 取值,与上面两个允许值清单逐一比对,没有越界值。除这两条之外没有自动闸门,词条内容与事实条目靠人工复核。
五、怎么用
数据里写 "subjectType": "czns:IntangibleHeritage",同时在 @context 里声明 "czns": {"@id": "https://chaoshanwiki.cn/ns/#", "@prefix": true},展开即得术语 URI。完整的内嵌上下文对象见命名空间第六节,可直接复制。
一处要注意:subjectType 的值写的是紧凑 IRI(如 czns:IntangibleHeritage),但它的 range 是 xsd:string,所以 JSON-LD 处理器不会把它展开成术语 URI,取出来仍是原样的字符串。按同一张前缀表做一次字符串替换,即得 https://chaoshanwiki.cn/ns/#IntangibleHeritage。之所以不声明为 @type: @id,是因为取值里还有 Person、Place、Thing 这类 schema.org 的裸类名——一旦按 @id 处理,它们会被 @vocab 拼成 ns/#Person 这种并不存在的术语。
类与属性的人读定义、取值说明与两层类型的划分,都在命名空间;实际用到这些字段的数据在数据集与事实清单。
首页 › 机器可读 › 词表
最后修订时间:2026年10月26日