5

There are a couple of plural form properties mentioned, like events or actors. What exactly does it mean in regards to usage? Can I just stack them together as mentioned in this answer?

I am mainly wondering how to tackle with the statement Supersedes actors. while actors (plural) is not mentioned somewhere else explicitly. Do I just have to look for that supersedes… statement and can deduce that this means I am able to put multiple of these properties (in their singluar form) back to back?

Like: "Supersedes actors." can be translated to "Multiple actor properties can be used."?

To make an additional securing: no wrapping element is necessary, like itemprop="actors" where the itemprop=actorelements will stack, right?

Community
  • 1
  • 1
Adrian Föder
  • 770
  • 1
  • 7
  • 22

1 Answers1

6

You can use every property multiple times. It might not always make sense to do this, but it’s allowed anyway.

However, some properties take (or to be more precise: expect) multiple values by definition.¹
If this is the case, it’s mentioned in the property’s definition. It’s best not to try to deduct this from the property name. Semantically, it doesn’t matter if a property is named actor, actors, schauspieler, or 4323. The name can be a hint, but not more than that.

If it says that a property supersedes another property, it just means that authors are encouraged to use the superseding property instead of the superseded property. The properties still mean exactly the same (or the superseding property has a broader meaning), otherwise this superseding mechanism wouldn’t be used.

tl;dr:

  • Don’t use superseded properties.
  • Don’t use the property’s name to decide whether the property takes multiple values. Use the property’s definition instead.
  • All properties can be used multiple times.

¹ An example for a property that takes multiple values is the keywords property, which says:

Multiple entries in a keywords list are typically delimited by commas.

It’s still fine to use this property multiple times, whether with one or multiple (comma-separated) values.

So in Microdata you could use one of these (or all together):

<span itemprop="keywords">a, b, c</span>
<span itemprop="keywords">a</span>
<span itemprop="keywords">b</span>
<span itemprop="keywords">c</span>
<span itemprop="keywords">a</span>
<span itemprop="keywords">b, c</span>

(And no, there is never a "wrapping" property needed; syntactically there doesn’t even exist such a thing.)

unor
  • 92,415
  • 26
  • 211
  • 360
  • Can you elaborate on superseding. For instance what does it mean to say review supersedes reviews. They are not semantically identical. For example I can't list all reviews of a thing under the review property (it represents a single review not an array) – Matt Evans Apr 25 '17 at 12:15
  • 1
    @MatthewEvans: As I mentioned in my answer, ignore the name of the property, only consider the definition: "Review of the item" vs. "A review of the item". So both properties take a single review as value. They *are* semantically identical. -- If you have multiple reviews for the same thing, simply provide the [`review`](http://schema.org/review) property multiple times (in case of Microdata/RDFa) or provide an array of values (in case of JSON-LD). – unor Apr 25 '17 at 16:13
  • Thanks - yes I picked up that they were both singular, therefore semantically identical. Could you illustrate the markup for an array of reviews in JSON-LD. I tried this: https://jsfiddle.net/wdsq8te0/ , but the structured data tool only detects the first review. – Matt Evans Apr 26 '17 at 07:51
  • 1
    @MatthewEvans: I can’t access the jsFiddle, but here is an [example for an array](http://stackoverflow.com/a/30506476/1591669) (the first one). – unor Apr 26 '17 at 15:38