tetherless-world / dco-ontology

Deep Carbon Observatory Ontology
Creative Commons Zero v1.0 Universal
1 stars 0 forks source link

change dco:isDCOPublication to either a boolean type or object property #18

Open mrpatrickwest opened 9 years ago

mrpatrickwest commented 9 years ago

Currently the property has range of string. But this allows users to use strings like yes or true as a value, or no or false. This either needs to be a boolean, which makes more sense since we can't easily have multi-typing (create a dco:DCOPublication type that publications are types of) or create an object property (not sure why we'd do that?)

dco:isDCOPublication
      a       owl:FunctionalProperty , owl:DatatypeProperty ;
      rdfs:label "is DCO publication"@en-US ;
      rdfs:range xsd:string .
zednis commented 9 years ago

What about making it a class?

dco:DCOPublication
    a owl:Class ;
    rdfs:label "DCO Publication" ;
    rdfs:comment "publication authored by a DCO member" ;
    rdfs:subClassOf bibo:Document .
mrpatrickwest commented 9 years ago

That was one of my suggestions. The problem here is how difficult it is to multi-type something in VIVO. It's doable, but not easy, especially for most of our DCO users. Create a publication, then click "Edit this Individual", then click "add a type", then select DCOPublication.

If they enter a DOI and we go that route then it becomes a little easier because we can add the multi-type ourselves.

Or are you thinking of using DCOPublication differently?

zednis commented 9 years ago

Not thinking of using it differently, but since we are using the property to classify a subset of publications I thought it made sense to use a class.

Implementing any interface that makes sense for this in VIVO may prove a challenge.

A string input field is sub-optimal.

It would be nice if the form provided a checkbox - "DCO Publication" - and when the checkbox is selected the boolean datatype property would be set to true or the additional class would be asserted (however we decide to model it). If the user does not select the checkbox I would say we do not do anything - whether the publication is a DCO publication or not can be considered "unknown".

This brings up the question of do we want the user to be able to explicitly say that the publication is known to NOT be a DCO publication? How would we do that in the interface?

If we want this to be the case then perhaps we have a select menu for the property with values Yes/No/Unknown with Unknown being the default value...?

and once we decide on an ideal interface and representation in the model, how much of a pain will it be to implement in VIVO?

mrpatrickwest commented 8 years ago

I think instead of doing that we should make the instance a subclass of dco:ContributionToTheDCO. That way we can find all publications that are contributions.