Я пытаюсь смоделировать концепцию папок (или каталогов) и файлов. Папки могут содержать файлы или другие папки (произвольная вложенная рекурсивная структура, как в вашей типичной файловой системе). В идеале я хотел бы начать с контекста schema.org и базового типа и расширить их для представления этих сущностей. По разным причинам меня также интересует использование JSON-LD в качестве формата.
После некоторого исследования и изучения примеров кажется, что используется база http://schema.org/CreativeWork, вместе с additionalType
в сочетании с productontology.org - относительно простой способ выразить это. Но насколько это хороший способ выразить эти концепции? Я готов использовать что угодно, вместо записи с productontology.org, как additionalType
, особенно если это позволяет мне выражать более значимые свойства, чем просто использовать свойства из CreativeWork
.
Пример предлагаемой папки (ссылка на игровую площадку):
{
"@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"
}
Пример предлагаемого файла (ссылка на игровую площадку):
{
"@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"
}