duraspace / pcdm

Portland Common Data Model
http://pcdm.org/models
Apache License 2.0
90 stars 11 forks source link

Replace pcdm:hasMember with ore:Aggregates? #63

Open tpendragon opened 8 years ago

tpendragon commented 8 years ago

Creates as a response to this from @acoburn:

If the PCDM vocabulary did not use predicates such as pcdm:hasMember, pcdm:hasFileSet and pcdm:hasFile (and encouraged people to use ore:aggregates), then the model would support both the simple and complex use case. (With or without FileSets).

tpendragon commented 8 years ago

So I talked quickly with @escowles about this, and the one issue I ran into was hasRelatedObject. There was a need for aggregating an object which is not a member, for things like relating associated documents to a collection. However, right now at least that's a sub-property of ore:Aggregates, and so there'd be no way to tell what was aggregated, but not a "member", since they'd all be aggregated.

I see a few ways forward:

A) Don't support related objects. This would be unfortunate, but it's arguable that it's by definition not structural metadata. B) hasRelatedObject is NOT a sub-property of ore:aggregates. There's no use case for ordering them that I know of. C) Hold onto hasMember.

Thoughts?

azaroth42 commented 8 years ago

C. :-1: to throwing the baby out of the house along with the bath.

ruebot commented 8 years ago

hasMember questions/issues from the Islandora perspective:

pcdm:Object definition:

Links to a related Object. Typically used to link to component parts, such as a book linking to a page. Note on transitivity: hasMember is not defined as transitive, but applications may treat it as transitive as local needs dictate.

pcdm:Collection definition:

Links to an Object that is a member of this Collection, or a child Collection. Note on transitivity: hasMember is not defined as transitive, but applications may treat it as transitive as local needs dictate.

ajs6f commented 8 years ago

What is the baby that is being thrown out here? What is being lost?

escowles commented 8 years ago

@ruebot I think we would keep the hasMember definition in the ontology the same:

Links to a subsidiary Object or Collection. Typically used to link to component parts, such as a book linking to a page. Note on transitivity: hasMember is not defined as transitive, but applications may treat it as transitive as local needs.

@ajs6f The baby is the distinction between hasMember and hasRelatedObject — losing that by using ore:aggregates instead.

ajs6f commented 8 years ago

Why does option B not resolve that?

no-reply commented 8 years ago

The proposal (and resolution B) seems to assume that hasMember simply means "aggregates object". I'm not sure that's correct.

@ruebot's point that we don't seem to have a single definition is a good one. Putting some thought into that problem may help us reach consensus about this one.