vivo-project / VIVO

VIVO is an extensible semantic web application for research discovery and showcasing scholarly work
http://vivoweb.org
BSD 3-Clause "New" or "Revised" License
202 stars 127 forks source link

Object property doesn't use functional setting #3848

Open litvinovg opened 1 year ago

litvinovg commented 1 year ago

Describe the bug Object property doesn't use functional setting

To Reproduce Steps to reproduce the behavior:

  1. Create object property, set functional setting.
  2. Create first instance of object property
  3. Create second instance of object property

Expected behavior No option to create second instance of object property should be available

brianjlowe commented 1 year ago

This is a bit of a tricky issue -- and not one that I consider a bug -- because if property P is functional we can have assertions P(x, y) and P(x, z) without making the ontology inconsistent so long as there is no asserted/inferred statement differentFrom(y, z). We simply get the inference sameAs(y, z).

I think settings limiting the number of entries that an editor can create for a property should be governed by an annotation (such as a cousin of displayLimit) or something in the display/configuration ontology.

It also may be the case that some/most Vitros would prefer to assume that all IRIs are differentFrom one another. Maybe this could be a universal configuration setting that would then allow the functionality of properties to limit entries to one per subject.