i-adopt / ontology

Sources of the I-ADOPT ontology.
https://w3id.org/iadopt/
2 stars 2 forks source link

standard introduces prefix confusion for iop ending in `/` or `#` #11

Closed marc-portier closed 1 year ago

marc-portier commented 1 year ago

As things are being published now this vocabulary is totally introducing confusion on how to properly use it.

obviously there is a clear statement at Line #3 of v1.0.0

@prefix iop: <https://w3id.org/iadopt/ont/> .

in favor of the trailing / slash

But then there are the comments on Line #117, Line #125, Line #134, Line #142 and Line #203 that suggest some properties and classes to belong to the # trailing (fragment identifier) space:

###  https://w3id.org/iadopt/ont#«something»
:«something» rdf:type owl:ObjectProperty ;

To make matters worse the effective lines following those suggestive comments are in each of these cases actually placed relative to the @base on Line #12 which ommits declaring its trailing preference:

@base <https://w3id.org/iadopt/ont> .

this interesting combo in turn results to this odd outcome:

# find me the odd placed props and classes:
curl -s -L "https://w3id.org/iadopt/ont/" -H "Accept: text/turtle"|grep -P "^<.*iadopt/ont[^/].*>"
<https://w3id.org/iadopt/onthasApplicableContextObject> rdf:type owl:ObjectProperty ;
<https://w3id.org/iadopt/onthasApplicableMatrix> rdf:type owl:ObjectProperty ;
<https://w3id.org/iadopt/onthasApplicableObjectOfInterest> rdf:type owl:ObjectProperty ;
<https://w3id.org/iadopt/onthasApplicableProperty> rdf:type owl:ObjectProperty ;
<https://w3id.org/iadopt/ontVariableSet> rdf:type owl:Class ;

#find me the good ones
curl -s -L "https://w3id.org/iadopt/ont/" -H "Accept: text/turtle"|grep -P "^<.*iadopt/ont/.*>"
<https://w3id.org/iadopt/ont/constrains> rdf:type owl:ObjectProperty ;
<https://w3id.org/iadopt/ont/hasConstraint> rdf:type owl:ObjectProperty ;
<https://w3id.org/iadopt/ont/hasContextObject> rdf:type owl:ObjectProperty ;
<https://w3id.org/iadopt/ont/hasMatrix> rdf:type owl:ObjectProperty ;
<https://w3id.org/iadopt/ont/hasObjectOfInterest> rdf:type owl:ObjectProperty ;
<https://w3id.org/iadopt/ont/hasProperty> rdf:type owl:ObjectProperty ;
<https://w3id.org/iadopt/ont/Constraint> rdf:type owl:Class ;
<https://w3id.org/iadopt/ont/Entity> rdf:type owl:Class ;
<https://w3id.org/iadopt/ont/Property> rdf:type owl:Class ;
<https://w3id.org/iadopt/ont/Variable> rdf:type owl:Class ;

This has already lead some adopters to use an own variant assuming the trailing # to be the more common used and thus intended pattern.

This is not how standards are building the trust needed for further consistent and fruitful use. Please address at your earliest convenience!

To help out: as things are it really is hard to guess what the intentions were:

but I am opting for my own preference (more consistency - less surprise) here, and will thus provide a fix (PR) along the lines of option 2

gwemon commented 1 year ago

Hi @marc-portier, thanks for posting this issue. We'll look into it.

SirkoS commented 1 year ago

Hi @marc-portier, thank you for spotting this and providing bugfix as well! This was not intentional. As you can see, it only affects the concepts added in v1.0.0 and as such was a mistake while adding those. I left another comment in the merge request. For a cleaner history, I would like to see that fixed before merging.

marc-portier commented 1 year ago

Makes sense. Will follow up accordingly. Thx for the feedback.

SirkoS commented 1 year ago

Changes are merged and published - thank you again!