schemaorg / schemaorg

Schema.org - schemas and supporting software
https://schema.org/
Apache License 2.0
5.38k stars 822 forks source link

Add 3DModel type (as a CreativeWork subtype; original proposal was 3DModelObject, subtype of MediaObject) #2140

Closed vholland closed 5 years ago

vholland commented 5 years ago

3D imaging is gaining traction. While we should not pick winners amongst the emerging file formats, it would be nice to be able to express something is a 3D object rather than just an ImageObject.

I propose we add 3DModelObject as a subtype of MediaObject.

philbarker commented 5 years ago

+1 I went to an Elixir Biohackathon last November and people there were interested in how 3d molecular models could be marked up in schema.org. This would help.

danbri commented 5 years ago

We can use https://schema.org/encodingFormat to deal with the huge variety of formats, and make the definition inclusive. There are many kind of file that could usefully be seen as carrying 3D models, we should aim to make sure the definition makes it clear the type should be equally useful for VR, AR, scientific data sharing, geospatial data, 3d molecular data etc.

Draft definition

We'll be needing a definition. How about:

"A media object that represents some kind of 3D content. Many formats are available (e.g. see https://en.wikipedia.org/wiki/Category:3D_graphics_file_formats ); specific encoding formats can be represented using the encodingFormat property."

Zipped files

We will also want to consider and document the situation where a bundle of several files have been packaged as a .zip or similar archive format.

This is a detail, and not specific to 3D formats except that several approaches use multiple files:

This came up elsewhere w.r.t. datasets, where I had this interim advice:

Short version: use "encodingFormat": "text/csv+zip"

Long version:

It does not appear that there is a strong consensus currently on how to do this in the general case (with arbitrary levels of nesting etc.), either using Schema.org or the closely related W3C DCAT format. However I do see that this was discussed in the DCAT community previously, and they reached a recommendation for the situation with zipped CSV files:

See https://joinup.ec.europa.eu/release/how-refer-media-types-within-zip-files for their guidance and discussion.

" The recommendation proposed by IETF should be followed, as to know to add ‘+zip’ as suffix in the structured syntax to the IANA registry for media types and for files within a ZIP package"

I'm a member of the W3C DCAT group and will follow up there to try to improve Schema.org's documentation around this, and make sure that we keep Schema.org and DCAT as close as possible on such details. It is possible that this guidance will evolve over time, but for right now "text/csv+zip" seems the best option.

(I still need to investigate this further, as it does not deal explicitly with several files of different media types, all in the same .zip package.)

See also

thadguidry commented 5 years ago

As long as we have 3 separate Types to deal with 1. the CONTENT , 2. the FORMATS, 3. the PACKAGING then I don't really care much here. (Those 3 Types, the trifecta of Information Storage, have been around for 10's of years since the beginning of Information and Storage Retrieval)

danbri commented 5 years ago

I've been talking this over with @vholland, we think it'll work better up at the CreativeWork level (as "3DModel"), leaving a generic MediaObject for the specific downloadable "bag of bits" representation. That way you can either have a simple "one 3DModel and one downloadable media object encoding of it" description, or you can say "there's a 3DModel and here are x, y and z alternate representations to download".

danbri commented 5 years ago

See also #2151 to sanity check the name won't hit any coding assumptions about terms names beginning with letters.

thadguidry commented 5 years ago

@danbri you mean with terms possibly beginning with NUMBERS. :) Long day?

danbri commented 5 years ago

"Assumptions like terms always beginning with letters"; but thanks for the extra email.

RichardWallis commented 5 years ago

Implemented in release 3.5