ld4l-labs / vitrolib

Vitro editor for library cataloging
BSD 2-Clause "Simplified" License
10 stars 3 forks source link

Disallow adding an Item part to an Item that is not a BoundCollection #211

Open rjyounes opened 6 years ago

rjyounes commented 6 years ago

Domain class needs to be BoundCollection, not Item.

rjyounes commented 6 years ago

In the SHACL, there should be a BoundCollectionForm which sh:nodes the ItemForm but adds a property shape with sh:path bf:partOf. The general ItemForm should omit that property.

See https://github.com/LD4P/arm/issues/102 for more discussion.

Workaround: manually change domain of faux property to BoundCollection.

rjyounes commented 6 years ago

Current workaround: hardcoded this change in ARMItem.n3:

http://vitro.mannlib.cornell.edu/ns/vitro/siteConfig/fpgn313 http://vitro.mannlib.cornell.edu/ns/vitro/ApplicationConfiguration#qualifiedByDomain http://id.loc.gov/ontologies/bibframe/Item .

to

http://vitro.mannlib.cornell.edu/ns/vitro/siteConfig/fpgn313 http://vitro.mannlib.cornell.edu/ns/vitro/ApplicationConfiguration#qualifiedByDomain https://w3id.org/arm/core/ontology/0.1/BoundCollection .

Note that this change will be wiped out when this file is regenerated, so ideally would fix LD4P/arm#102.