w3c / wpub

W3C Web Publications
https://w3c.github.io/wpub/
Other
79 stars 19 forks source link

How we name things is potentially confusing #312

Closed dauwhe closed 6 years ago

dauwhe commented 6 years ago

to express "address" we use "url" in the manifest to express "title" we use "name" to express "canonical identifier" we use "@id" to express "publication date" we use "datePublished" to express "default reading order" we use "readingOrder" to express "resource list" we use "resources" to express "language" we use "inLanguage"

I know we inherited some of this terminology from schema.org, but basically everyone will have to look up what manifest term is used for each concept. There is no pattern.

HadrienGardeur commented 6 years ago

An alternate approach would be to map such properties using our JSON-LD context.

This is the approach that was adopted for Readium, you can take a look at the context document.

iherman commented 6 years ago

I sympathize with the feeling, but I am not sure about a complete renaming.

We know that the metadata we use here is a subset of what schema.org provides. We also know that there are quite a number of additional schema.org properties that publishers/authors MAY want to use that we do not talk about here; after all, we do not want to reproduce the full schema.org manual. Take, as a random example, the term license, defined on CreativeWork instances and which are, as a consequence fine terms to use in our manifests in practice.

What this means in practice is that our authors may want to look at the schema.org documentation and examples for further inspiration for terms; in that case these mapping will become a drag. Much as I do not like name for the usage of title, the disconnect within our document seems to be the lesser evil.

Another approach we could take (all my hopes are in @mattgarrish...) is to reformulate the general part of the spec, and reuse, as much as we can, the schema.org terms in the general text, too.

One such general remapping, via the context, that we may want to do nevertheless, is to remove the @ characters. Use value instead of @value, id instead of @id, etc. The extra bonus is that it would make the specification of the life cycle smoother (something that we discussed, separately, already).

HadrienGardeur commented 6 years ago

We also know that there are quite a number of additional schema.org properties that publishers/authors MAY want to use that we do not talk about here; after all, we do not want to reproduce the full schema.org manual.

We took a different approach in Readium as well:

This gives us access to all schema.org terms, for example for https://schema.org/license we can use schema:license.

This gives us better consistency and naming for our core metadata, without losing the ability to reference schema.org as an extensibility mechanism.

laudrain commented 6 years ago

I don't mind about technical terms, as soon as they come from standard specifications. BTW, all non native English speakers have to use terminology that are not what they use in their native language.

iherman commented 6 years ago

@HadrienGardeur per https://github.com/w3c/wpub/issues/312#issuecomment-414956343, I do not really understand why that setup would change anything significantly on this issue. We can put into our context whatever we want and we would get to the same result.

HadrienGardeur commented 6 years ago

@iherman it's a different approach:

There are pros and cons for both solutions, just pointing out how Readium handled this differently.

iherman commented 6 years ago

I have played with the google structured data checker (again...) and it is clear that a remapping of, say, title to name is certainly possible.

(That being said, their tool seems to be problematic: it does not read our context file from www.w3.org/ns, it reports an error, whereas if the context file is copied verbatim it is fine. I have sent them a feedback on this.)

Note also, b.t.w, that the mapping type->@type is part of the schema.org context file (alongside id->@id) already.

RachelComerford commented 6 years ago

To make sure we're all on the same page (and in hopes we can get some new voices on these threads), is this accurate?

Problem Statement: The terms/tags required for use in the manifest may not maintain a recognizable relationship to their meaning or a pattern, making it difficult to remember/apply them.

Who is impacted? Anyone 'authoring' (building) the wpub (including those who need to interpret the spec for 'authors')

Qualifier to take into account: Non-native english speakers may experience this issue, or something similar, no matter what the tags are.

Potential Solutions to consider:

We have a number of publishers and publishing vendors in this group that haven't yet weighed in on this but this will impact the ease with which they build wpubs. If the above is accurate, I would like to email it to some of these members for feedback that I'll happily add to this thread.

mattgarrish commented 6 years ago

I don't like a lot of the schema.org names, too, but like Ivan says, I'd rather know exactly what schema.org property I'm using than have to dig for a context document to figure out what a property re-maps to. And I highly suspect that authors are going to get confused by our revised naming and try to add already-mapped properties to the manifest and not understand why they're getting errors.

Plus it just tends to defeat the point of a common vocabulary like schema.org if everyone goes around renaming properties whenever they don't suit them. And maybe we should request new names for some of the real stinkers, like "readBy".

But I also suspect there is a way we can highlight the property names to bring them to the fore, whether it's in the property section titles, through a mapping table in the specification, etc.

iherman commented 6 years ago

This issue was discussed in a meeting.