如何使用 schema.org 类型和 JSON-LD 语法为目录和文件建模?

How to model directories and files using schema.org types with JSON-LD syntax?

我正在尝试对文件夹(或目录)和文件的概念进行建模。文件夹可以包含文件或其他文件夹(任意嵌套递归结构,就像典型的文件系统一样)。理想情况下,我想从 schema.org 上下文和基本类型开始,然后扩展它以表示这些实体。由于各种原因,我也有兴趣使用JSON-LD作为格式。

经过一些研究和查看示例后,似乎使用 http://schema.org/CreativeWork, along with additionalType 的基数与 productontology.org 的结合相对简单 表达这一点的方式。但这是表达这些概念的好的方式吗?我愿意使用任何其他东西来代替 productontology.org 中的条目,如 additionalType,特别是如果它允许我表达比简单地使用 CreativeWork 中的那些更有意义的属性.

建议的文件夹示例 (playground link):

{
  "@context": "http://schema.org/",
  "@type": "CreativeWork",
  "@id": "http://my-site.com/folder/1",
  "additionalType": "http://www.productontology.org/doc/Directory_(computing)",
  "name": "My Folder",
  "url": "http://my-site.com/folder/1"
}

建议的文件示例 (playground link):

{
  "@context": "http://schema.org/",
  "@type": "CreativeWork",
  "@id": "http://my-site.com/file/2",
  "additionalType": "http://www.productontology.org/doc/Computer_file",
  "name": "My File",
  "isPartOf": {
    "@context": "http://schema.org/",
    "@type": "CreativeWork",
    "@id": "http://my-site.com/folder/1",
    "additionalType": "http://www.productontology.org/doc/Directory_(computing)",
    "name": "My Folder",
    "url": "http://my-site.com/folder/1"
  },
  "url": "http://my-site.com/file/2"
}

您可能想考虑 Nepomuk File Ontology (NFO)