COALAIP/specs

Create new type for Works

sohkai opened this issue · 3 comments

Right now, we have some hand-wavy methods of differentiating between a Work and a Manifestation. This could be simplified if we subtype schema:CreativeWork with something like coala:AbstractWork and enforce that all Works use this type. Works right now are always schema:CreativeWork anyway.

Would require some changes to pycoalaip.

Thoughts @TimDaub?

his could be simplified if we subtype schema:CreativeWork with something like coala:AbstractWork and enforce that all Works use this type.

OK, but what's the exact benefit from subclassing?

Avoiding having

hand-wavy methods of differentiating between a Work and a Manifestation

in implementations. The current implementation is also kind of ugly, since it forces us to tack on some additional properties to assert that it is in fact a Manifestation and not a Work (isManifestation) when we already enforce Works to be a specific type.

since it forces us to tack on some additional properties to assert that it is in fact a Manifestation and not a Work (isManifestation) when we already enforce Works to be a specific type.

Makes sense! Go for it 👍