ESIPFed / sweet

Official repository for Semantic Web for Earth and Environmental Terminology (SWEET) Ontologies
Other
119 stars 33 forks source link

Resolve "Illegal redeclarations of entities" errors in Protege log #124

Closed lewismc closed 4 years ago

lewismc commented 5 years ago
Protege (master branch) 5.6.0 Build beta-1-SNAPSHOT

When I load sweetAll.ttl from local SWEET master branch I get the following errors in the Protege log

...
Illegal redeclarations of entities: reuse of entity http://sweetontology.net/relaSci/rangeOf in punning not allowed [Declaration(ObjectProperty(<http://sweetontology.net/relaSci/rangeOf>)), Declaration(DataProperty(<http://sweetontology.net/relaSci/rangeOf>))]
Illegal redeclarations of entities: reuse of entity http://sweetontology.net/relaSci/hasUpperQuantity in punning not allowed [Declaration(DataProperty(<http://sweetontology.net/relaSci/hasUpperQuantity>)), Declaration(ObjectProperty(<http://sweetontology.net/relaSci/hasUpperQuantity>))]
Illegal redeclarations of entities: reuse of entity http://sweetontology.net/relaSci/hasLowerQuantity in punning not allowed [Declaration(DataProperty(<http://sweetontology.net/relaSci/hasLowerQuantity>)), Declaration(ObjectProperty(<http://sweetontology.net/relaSci/hasLowerQuantity>))]
Illegal redeclarations of entities: reuse of entity http://sweetontology.net/relaSci/hasQuantity in punning not allowed [Declaration(DataProperty(<http://sweetontology.net/relaSci/hasQuantity>)), Declaration(ObjectProperty(<http://sweetontology.net/relaSci/hasQuantity>))]
Annotation property domain axiom turned to data property domain after parsing. This could introduce errors if the original domain was an anonymous expression: http://sweetontology.net/matrBiomass/Species is the new domain.
Annotation property domain axiom turned to object property domain after parsing. This could introduce errors if the original domain was an anonymous expression: http://sweetontology.net/matrBiomass/Species is the new domain.
Annotation property domain axiom turned to object property domain after parsing. This could introduce errors if the original domain was an anonymous expression: http://sweetontology.net/propQuantity/Quantity is the new domain.
Annotation property domain axiom turned to object property domain after parsing. This could introduce errors if the original domain was an anonymous expression: http://sweetontology.net/propQuantity/Quantity is the new domain.
Annotation property domain axiom turned to object property domain after parsing. This could introduce errors if the original domain was an anonymous expression: http://sweetontology.net/prop/Role is the new domain.
Annotation property domain axiom turned to data property domain after parsing. This could introduce errors if the original domain was an anonymous expression: http://sweetontology.net/phenGeolSeismicity/Earthquake is the new domain.
Annotation property domain axiom turned to data property domain after parsing. This could introduce errors if the original domain was an anonymous expression: http://sweetontology.net/propQuantity/Quantity is the new domain.
Annotation property domain axiom turned to data property domain after parsing. This could introduce errors if the original domain was an anonymous expression: http://sweetontology.net/propQuantity/Quantity is the new domain.
...
Illegal redeclarations of entities: reuse of entity http://sweetontology.net/relaSci/rangeOf in punning not allowed [Declaration(ObjectProperty(<http://sweetontology.net/relaSci/rangeOf>)), Declaration(DataProperty(<http://sweetontology.net/relaSci/rangeOf>))]
Illegal redeclarations of entities: reuse of entity http://sweetontology.net/relaSci/hasUpperQuantity in punning not allowed [Declaration(DataProperty(<http://sweetontology.net/relaSci/hasUpperQuantity>)), Declaration(ObjectProperty(<http://sweetontology.net/relaSci/hasUpperQuantity>))]
Illegal redeclarations of entities: reuse of entity http://sweetontology.net/relaSci/hasLowerQuantity in punning not allowed [Declaration(DataProperty(<http://sweetontology.net/relaSci/hasLowerQuantity>)), Declaration(ObjectProperty(<http://sweetontology.net/relaSci/hasLowerQuantity>))]
Illegal redeclarations of entities: reuse of entity http://sweetontology.net/relaSci/hasQuantity in punning not allowed [Declaration(DataProperty(<http://sweetontology.net/relaSci/hasQuantity>)), Declaration(ObjectProperty(<http://sweetontology.net/relaSci/hasQuantity>))]
...
Illegal redeclarations of entities: reuse of entity http://sweetontology.net/relaSci/rangeOf in punning not allowed [Declaration(ObjectProperty(<http://sweetontology.net/relaSci/rangeOf>)), Declaration(DataProperty(<http://sweetontology.net/relaSci/rangeOf>))]
Illegal redeclarations of entities: reuse of entity http://sweetontology.net/relaSci/hasUpperQuantity in punning not allowed [Declaration(DataProperty(<http://sweetontology.net/relaSci/hasUpperQuantity>)), Declaration(ObjectProperty(<http://sweetontology.net/relaSci/hasUpperQuantity>))]
Illegal redeclarations of entities: reuse of entity http://sweetontology.net/relaSci/hasLowerQuantity in punning not allowed [Declaration(DataProperty(<http://sweetontology.net/relaSci/hasLowerQuantity>)), Declaration(ObjectProperty(<http://sweetontology.net/relaSci/hasLowerQuantity>))]
Illegal redeclarations of entities: reuse of entity http://sweetontology.net/relaSci/hasQuantity in punning not allowed [Declaration(DataProperty(<http://sweetontology.net/relaSci/hasQuantity>)), Declaration(ObjectProperty(<http://sweetontology.net/relaSci/hasQuantity>))]
...
Illegal redeclarations of entities: reuse of entity http://sweetontology.net/relaSci/rangeOf in punning not allowed [Declaration(ObjectProperty(<http://sweetontology.net/relaSci/rangeOf>)), Declaration(DataProperty(<http://sweetontology.net/relaSci/rangeOf>))]
Illegal redeclarations of entities: reuse of entity http://sweetontology.net/relaSci/hasUpperQuantity in punning not allowed [Declaration(DataProperty(<http://sweetontology.net/relaSci/hasUpperQuantity>)), Declaration(ObjectProperty(<http://sweetontology.net/relaSci/hasUpperQuantity>))]
Illegal redeclarations of entities: reuse of entity http://sweetontology.net/relaSci/hasLowerQuantity in punning not allowed [Declaration(DataProperty(<http://sweetontology.net/relaSci/hasLowerQuantity>)), Declaration(ObjectProperty(<http://sweetontology.net/relaSci/hasLowerQuantity>))]
Illegal redeclarations of entities: reuse of entity http://sweetontology.net/relaSci/hasQuantity in punning not allowed [Declaration(DataProperty(<http://sweetontology.net/relaSci/hasQuantity>)), Declaration(ObjectProperty(<http://sweetontology.net/relaSci/hasQuantity>))]
...
Illegal redeclarations of entities: reuse of entity http://sweetontology.net/relaSci/rangeOf in punning not allowed [Declaration(ObjectProperty(<http://sweetontology.net/relaSci/rangeOf>)), Declaration(DataProperty(<http://sweetontology.net/relaSci/rangeOf>))]
Illegal redeclarations of entities: reuse of entity http://sweetontology.net/relaSci/hasUpperQuantity in punning not allowed [Declaration(DataProperty(<http://sweetontology.net/relaSci/hasUpperQuantity>)), Declaration(ObjectProperty(<http://sweetontology.net/relaSci/hasUpperQuantity>))]
Illegal redeclarations of entities: reuse of entity http://sweetontology.net/relaSci/hasLowerQuantity in punning not allowed [Declaration(DataProperty(<http://sweetontology.net/relaSci/hasLowerQuantity>)), Declaration(ObjectProperty(<http://sweetontology.net/relaSci/hasLowerQuantity>))]
Illegal redeclarations of entities: reuse of entity http://sweetontology.net/relaSci/hasQuantity in punning not allowed [Declaration(DataProperty(<http://sweetontology.net/relaSci/hasQuantity>)), Declaration(ObjectProperty(<http://sweetontology.net/relaSci/hasQuantity>))]
...
Illegal redeclarations of entities: reuse of entity http://sweetontology.net/relaSci/rangeOf in punning not allowed [Declaration(ObjectProperty(<http://sweetontology.net/relaSci/rangeOf>)), Declaration(DataProperty(<http://sweetontology.net/relaSci/rangeOf>))]
Illegal redeclarations of entities: reuse of entity http://sweetontology.net/relaSci/hasUpperQuantity in punning not allowed [Declaration(DataProperty(<http://sweetontology.net/relaSci/hasUpperQuantity>)), Declaration(ObjectProperty(<http://sweetontology.net/relaSci/hasUpperQuantity>))]
Illegal redeclarations of entities: reuse of entity http://sweetontology.net/relaSci/hasLowerQuantity in punning not allowed [Declaration(DataProperty(<http://sweetontology.net/relaSci/hasLowerQuantity>)), Declaration(ObjectProperty(<http://sweetontology.net/relaSci/hasLowerQuantity>))]
Illegal redeclarations of entities: reuse of entity http://sweetontology.net/relaSci/hasQuantity in punning not allowed [Declaration(DataProperty(<http://sweetontology.net/relaSci/hasQuantity>)), Declaration(ObjectProperty(<http://sweetontology.net/relaSci/hasQuantity>))]
...
Illegal redeclarations of entities: reuse of entity http://sweetontology.net/relaSci/rangeOf in punning not allowed [Declaration(ObjectProperty(<http://sweetontology.net/relaSci/rangeOf>)), Declaration(DataProperty(<http://sweetontology.net/relaSci/rangeOf>))]
Illegal redeclarations of entities: reuse of entity http://sweetontology.net/relaSci/hasUpperQuantity in punning not allowed [Declaration(DataProperty(<http://sweetontology.net/relaSci/hasUpperQuantity>)), Declaration(ObjectProperty(<http://sweetontology.net/relaSci/hasUpperQuantity>))]
Illegal redeclarations of entities: reuse of entity http://sweetontology.net/relaSci/hasLowerQuantity in punning not allowed [Declaration(DataProperty(<http://sweetontology.net/relaSci/hasLowerQuantity>)), Declaration(ObjectProperty(<http://sweetontology.net/relaSci/hasLowerQuantity>))]
Illegal redeclarations of entities: reuse of entity http://sweetontology.net/relaSci/hasQuantity in punning not allowed [Declaration(DataProperty(<http://sweetontology.net/relaSci/hasQuantity>)), Declaration(ObjectProperty(<http://sweetontology.net/relaSci/hasQuantity>))]
...
Illegal redeclarations of entities: reuse of entity http://sweetontology.net/relaSci/rangeOf in punning not allowed [Declaration(ObjectProperty(<http://sweetontology.net/relaSci/rangeOf>)), Declaration(DataProperty(<http://sweetontology.net/relaSci/rangeOf>))]
Illegal redeclarations of entities: reuse of entity http://sweetontology.net/relaSci/hasUpperQuantity in punning not allowed [Declaration(DataProperty(<http://sweetontology.net/relaSci/hasUpperQuantity>)), Declaration(ObjectProperty(<http://sweetontology.net/relaSci/hasUpperQuantity>))]
Illegal redeclarations of entities: reuse of entity http://sweetontology.net/relaSci/hasLowerQuantity in punning not allowed [Declaration(DataProperty(<http://sweetontology.net/relaSci/hasLowerQuantity>)), Declaration(ObjectProperty(<http://sweetontology.net/relaSci/hasLowerQuantity>))]
Illegal redeclarations of entities: reuse of entity http://sweetontology.net/relaSci/hasQuantity in punning not allowed [Declaration(DataProperty(<http://sweetontology.net/relaSci/hasQuantity>)), Declaration(ObjectProperty(<http://sweetontology.net/relaSci/hasQuantity>))]
...
Illegal redeclarations of entities: reuse of entity http://sweetontology.net/relaSci/rangeOf in punning not allowed [Declaration(ObjectProperty(<http://sweetontology.net/relaSci/rangeOf>)), Declaration(DataProperty(<http://sweetontology.net/relaSci/rangeOf>))]
Illegal redeclarations of entities: reuse of entity http://sweetontology.net/relaSci/hasUpperQuantity in punning not allowed [Declaration(DataProperty(<http://sweetontology.net/relaSci/hasUpperQuantity>)), Declaration(ObjectProperty(<http://sweetontology.net/relaSci/hasUpperQuantity>))]
Illegal redeclarations of entities: reuse of entity http://sweetontology.net/relaSci/hasLowerQuantity in punning not allowed [Declaration(DataProperty(<http://sweetontology.net/relaSci/hasLowerQuantity>)), Declaration(ObjectProperty(<http://sweetontology.net/relaSci/hasLowerQuantity>))]
Illegal redeclarations of entities: reuse of entity http://sweetontology.net/relaSci/hasQuantity in punning not allowed [Declaration(DataProperty(<http://sweetontology.net/relaSci/hasQuantity>)), Declaration(ObjectProperty(<http://sweetontology.net/relaSci/hasQuantity>))]
...
Illegal redeclarations of entities: reuse of entity http://sweetontology.net/relaSci/rangeOf in punning not allowed [Declaration(ObjectProperty(<http://sweetontology.net/relaSci/rangeOf>)), Declaration(DataProperty(<http://sweetontology.net/relaSci/rangeOf>))]
Illegal redeclarations of entities: reuse of entity http://sweetontology.net/relaSci/hasUpperQuantity in punning not allowed [Declaration(DataProperty(<http://sweetontology.net/relaSci/hasUpperQuantity>)), Declaration(ObjectProperty(<http://sweetontology.net/relaSci/hasUpperQuantity>))]
Illegal redeclarations of entities: reuse of entity http://sweetontology.net/relaSci/hasLowerQuantity in punning not allowed [Declaration(DataProperty(<http://sweetontology.net/relaSci/hasLowerQuantity>)), Declaration(ObjectProperty(<http://sweetontology.net/relaSci/hasLowerQuantity>))]
Illegal redeclarations of entities: reuse of entity http://sweetontology.net/relaSci/hasQuantity in punning not allowed [Declaration(DataProperty(<http://sweetontology.net/relaSci/hasQuantity>)), Declaration(ObjectProperty(<http://sweetontology.net/relaSci/hasQuantity>))]
...
Illegal redeclarations of entities: reuse of entity http://sweetontology.net/relaSci/rangeOf in punning not allowed [Declaration(ObjectProperty(<http://sweetontology.net/relaSci/rangeOf>)), Declaration(DataProperty(<http://sweetontology.net/relaSci/rangeOf>))]
Illegal redeclarations of entities: reuse of entity http://sweetontology.net/relaSci/hasUpperQuantity in punning not allowed [Declaration(DataProperty(<http://sweetontology.net/relaSci/hasUpperQuantity>)), Declaration(ObjectProperty(<http://sweetontology.net/relaSci/hasUpperQuantity>))]
Illegal redeclarations of entities: reuse of entity http://sweetontology.net/relaSci/hasLowerQuantity in punning not allowed [Declaration(DataProperty(<http://sweetontology.net/relaSci/hasLowerQuantity>)), Declaration(ObjectProperty(<http://sweetontology.net/relaSci/hasLowerQuantity>))]
Illegal redeclarations of entities: reuse of entity http://sweetontology.net/relaSci/hasQuantity in punning not allowed [Declaration(DataProperty(<http://sweetontology.net/relaSci/hasQuantity>)), Declaration(ObjectProperty(<http://sweetontology.net/relaSci/hasQuantity>))]
...
Illegal redeclarations of entities: reuse of entity http://sweetontology.net/relaSci/rangeOf in punning not allowed [Declaration(ObjectProperty(<http://sweetontology.net/relaSci/rangeOf>)), Declaration(DataProperty(<http://sweetontology.net/relaSci/rangeOf>))]
Illegal redeclarations of entities: reuse of entity http://sweetontology.net/relaSci/hasUpperQuantity in punning not allowed [Declaration(DataProperty(<http://sweetontology.net/relaSci/hasUpperQuantity>)), Declaration(ObjectProperty(<http://sweetontology.net/relaSci/hasUpperQuantity>))]
Illegal redeclarations of entities: reuse of entity http://sweetontology.net/relaSci/hasLowerQuantity in punning not allowed [Declaration(DataProperty(<http://sweetontology.net/relaSci/hasLowerQuantity>)), Declaration(ObjectProperty(<http://sweetontology.net/relaSci/hasLowerQuantity>))]
Illegal redeclarations of entities: reuse of entity http://sweetontology.net/relaSci/hasQuantity in punning not allowed [Declaration(DataProperty(<http://sweetontology.net/relaSci/hasQuantity>)), Declaration(ObjectProperty(<http://sweetontology.net/relaSci/hasQuantity>))]
...
Illegal redeclarations of entities: reuse of entity http://sweetontology.net/relaSci/rangeOf in punning not allowed [Declaration(ObjectProperty(<http://sweetontology.net/relaSci/rangeOf>)), Declaration(DataProperty(<http://sweetontology.net/relaSci/rangeOf>))]
Illegal redeclarations of entities: reuse of entity http://sweetontology.net/relaSci/hasUpperQuantity in punning not allowed [Declaration(DataProperty(<http://sweetontology.net/relaSci/hasUpperQuantity>)), Declaration(ObjectProperty(<http://sweetontology.net/relaSci/hasUpperQuantity>))]
Illegal redeclarations of entities: reuse of entity http://sweetontology.net/relaMath/approximates in punning not allowed [Declaration(AnnotationProperty(<http://sweetontology.net/relaMath/approximates>)), Declaration(ObjectProperty(<http://sweetontology.net/relaMath/approximates>))]
Illegal redeclarations of entities: reuse of entity http://sweetontology.net/relaSci/hasLowerQuantity in punning not allowed [Declaration(DataProperty(<http://sweetontology.net/relaSci/hasLowerQuantity>)), Declaration(ObjectProperty(<http://sweetontology.net/relaSci/hasLowerQuantity>))]
Illegal redeclarations of entities: reuse of entity http://sweetontology.net/relaSci/hasQuantity in punning not allowed [Declaration(DataProperty(<http://sweetontology.net/relaSci/hasQuantity>)), Declaration(ObjectProperty(<http://sweetontology.net/relaSci/hasQuantity>))]
Annotation property domain axiom turned to object property domain after parsing. This could introduce errors if the original domain was an anonymous expression: http://sweetontology.net/propFunction/Average is the new domain.
...
Illegal redeclarations of entities: reuse of entity http://sweetontology.net/relaSci/rangeOf in punning not allowed [Declaration(ObjectProperty(<http://sweetontology.net/relaSci/rangeOf>)), Declaration(DataProperty(<http://sweetontology.net/relaSci/rangeOf>))]
Illegal redeclarations of entities: reuse of entity http://sweetontology.net/relaSci/hasUpperQuantity in punning not allowed [Declaration(DataProperty(<http://sweetontology.net/relaSci/hasUpperQuantity>)), Declaration(ObjectProperty(<http://sweetontology.net/relaSci/hasUpperQuantity>))]
Illegal redeclarations of entities: reuse of entity http://sweetontology.net/relaMath/approximates in punning not allowed [Declaration(AnnotationProperty(<http://sweetontology.net/relaMath/approximates>)), Declaration(ObjectProperty(<http://sweetontology.net/relaMath/approximates>))]
Illegal redeclarations of entities: reuse of entity http://sweetontology.net/relaSci/hasLowerQuantity in punning not allowed [Declaration(DataProperty(<http://sweetontology.net/relaSci/hasLowerQuantity>)), Declaration(ObjectProperty(<http://sweetontology.net/relaSci/hasLowerQuantity>))]
Illegal redeclarations of entities: reuse of entity http://sweetontology.net/relaSci/hasQuantity in punning not allowed [Declaration(DataProperty(<http://sweetontology.net/relaSci/hasQuantity>)), Declaration(ObjectProperty(<http://sweetontology.net/relaSci/hasQuantity>))]
...
Illegal redeclarations of entities: reuse of entity http://sweetontology.net/relaSci/rangeOf in punning not allowed [Declaration(ObjectProperty(<http://sweetontology.net/relaSci/rangeOf>)), Declaration(DataProperty(<http://sweetontology.net/relaSci/rangeOf>))]
Illegal redeclarations of entities: reuse of entity http://sweetontology.net/relaSci/hasUpperQuantity in punning not allowed [Declaration(DataProperty(<http://sweetontology.net/relaSci/hasUpperQuantity>)), Declaration(ObjectProperty(<http://sweetontology.net/relaSci/hasUpperQuantity>))]
Illegal redeclarations of entities: reuse of entity http://sweetontology.net/relaMath/approximates in punning not allowed [Declaration(AnnotationProperty(<http://sweetontology.net/relaMath/approximates>)), Declaration(ObjectProperty(<http://sweetontology.net/relaMath/approximates>))]
Illegal redeclarations of entities: reuse of entity http://sweetontology.net/relaSci/hasLowerQuantity in punning not allowed [Declaration(DataProperty(<http://sweetontology.net/relaSci/hasLowerQuantity>)), Declaration(ObjectProperty(<http://sweetontology.net/relaSci/hasLowerQuantity>))]
Illegal redeclarations of entities: reuse of entity http://sweetontology.net/relaSci/hasQuantity in punning not allowed [Declaration(DataProperty(<http://sweetontology.net/relaSci/hasQuantity>)), Declaration(ObjectProperty(<http://sweetontology.net/relaSci/hasQuantity>))]
...
Illegal redeclarations of entities: reuse of entity http://sweetontology.net/relaSci/rangeOf in punning not allowed [Declaration(ObjectProperty(<http://sweetontology.net/relaSci/rangeOf>)), Declaration(DataProperty(<http://sweetontology.net/relaSci/rangeOf>))]
Illegal redeclarations of entities: reuse of entity http://sweetontology.net/relaSci/hasUpperQuantity in punning not allowed [Declaration(DataProperty(<http://sweetontology.net/relaSci/hasUpperQuantity>)), Declaration(ObjectProperty(<http://sweetontology.net/relaSci/hasUpperQuantity>))]
Illegal redeclarations of entities: reuse of entity http://sweetontology.net/relaMath/approximates in punning not allowed [Declaration(AnnotationProperty(<http://sweetontology.net/relaMath/approximates>)), Declaration(ObjectProperty(<http://sweetontology.net/relaMath/approximates>))]
Illegal redeclarations of entities: reuse of entity http://sweetontology.net/relaSci/hasLowerQuantity in punning not allowed [Declaration(DataProperty(<http://sweetontology.net/relaSci/hasLowerQuantity>)), Declaration(ObjectProperty(<http://sweetontology.net/relaSci/hasLowerQuantity>))]
Illegal redeclarations of entities: reuse of entity http://sweetontology.net/relaSci/hasQuantity in punning not allowed [Declaration(DataProperty(<http://sweetontology.net/relaSci/hasQuantity>)), Declaration(ObjectProperty(<http://sweetontology.net/relaSci/hasQuantity>))]

This indicates that there is a large degree of duplication across several ontology files. I've got no clue how or when this happened but I think it needs cleaned up. I'm going to to do that right now.

lewismc commented 5 years ago

In particular, the message "...Illegal redeclarations of entities: reuse of entity" relates to http://sweetontology.net/relaSci/rangeOf (as an example) being used as both an ObjectProperty and DataTypeProperty. A note on punning in OWL 2 DL... which ...still imposes certain restrictions: it requires that a name cannot be used for both a class and a datatype and that a name can only be used for one kind of property. We therefore need to discuss how to resolve the punning issues stated above. This occurs in several places.

lewismc commented 5 years ago

Some similar thread on the Protege mailing list - http://protege-project.136.n4.nabble.com/Errors-loading-FOAF-into-Protege-td4670537.html

smrgeoinfo commented 5 years ago

I'm seeing the same problem. In the ttl file relaPhysical.ttl where one of these properties (moreVisibleThan) is defined, there is

###  http://sweetontology.net/relaPhysical/moreVisibleThan
prela:moreVisibleThan rdf:type owl:ObjectProperty ;

But in sweet\src\stateVisibility.ttl there is:

     ###  http://sweetontology.net/relaPhysical/moreVisibleThan
     prela:moreVisibleThan rdf:type owl:AnnotationProperty . 

I'm guessing there are a lot of these inconsistent duplicate declarations. Is there some SPARQL query that could be constructed to ferret them out?

dr-shorthair commented 5 years ago
SELECT *
WHERE {
    ?subject a owl:AnnotationProperty .
    ?subject a owl:ObjectProperty .
}

-->

[subject]
crela:hasSubstance
mrela:approximates
mrela:basedOn
mrela:coordinate_1
mrela:coordinate_2
mrela:coordinate_3
mrela:hasOperand
owlt:hasBeginning
owlt:hasEnd
prela:fasterThan
prela:hasAstronomicalBody
prela:hasEnergyFlux
prela:hasSpeed
prela:moreVisibleThan
prela:slowerThan
prela:strongerThan
prela:warmerThan
rela:hasRole
screla:greaterRoleThan
screla:hasBaseUnit
screla:hasImpact
screla:hasPrefix
screla:hasUnit
screla:kills
screla:moreActiveThan
screla:moreExtensiveThan
screla:spawn
srela:fartherThan
srela:greaterVerticalExtentThan
srela:hasWavelength
srela:largerScaleThan
srela:largerThan
srela:oppositeTo
srela:orthogonalTo
srela:perpendicularTo
trela:hasEndTime
trela:hasFrequency
trela:hasNHTime
trela:hasPeriod
trela:hasSHTime
trela:hasStartTime
trela:moreFrequentThan
trela:olderThan
trela:temporalPartOf
smrgeoinfo commented 5 years ago

Thanks, @dr-shorthair. Before going through and cleaning up those inconsistent definitions, do we keep the annotation property or the object property. I think we probably want to keep the object properties, but might need to be evaluated on a case by case basis. Suggestions?

dr-shorthair commented 5 years ago

Duplicates are not a problem, inconsistencies are, which Protege is picking up. owl:AnnotationProperty and owl:ObjectProperty are disjoint, so one of these is wrong.

cmungall commented 5 years ago

It's likely that you want to turn all of these into OPs, unless it is used in a triple ?c ?p ?v, where ?p is the property, and ?c is a owl:Class.

On Sun, Jul 21, 2019 at 12:36 AM Stephen Richard notifications@github.com wrote:

Thanks, @dr-shorthair https://github.com/dr-shorthair. Before going through and cleaning up those duplicate definitions, question: do we keep the annotation property or the object property. I think we probably want to keep the object properties, but might need to be evaluated on a case by case basis. Suggestions?

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/ESIPFed/sweet/issues/124?email_source=notifications&email_token=AAAMMONJRJPZC3JVLPGVFE3QAOHO3A5CNFSM4IECQ7A2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD2NXGUY#issuecomment-513504083, or mute the thread https://github.com/notifications/unsubscribe-auth/AAAMMOOYPNZVUOGOBDINVX3QAOHO3ANCNFSM4IECQ7AQ .

graybeal commented 5 years ago

Funny, I just assumed you were saying turn them all into Annotation Properties, Chris. A lot are clearly strings (e.g., time values, and other values), but a few at least sometimes would want objects ('fartherThan' some class of object, 'hasSubstance' some class of substance), and some would beg for both (e.g., all the unit relations hasBaseUnit, hasPrefix, hasUnit would all ideally be objects, but of course lots of people think of the prefix as the characters and would expect to enter it that way. A bit tricky, some of that.

dr-shorthair commented 5 years ago

Also:

SELECT *
WHERE {
    ?subject a owl:ObjectProperty .
    ?subject a owl:DatatypeProperty .
}

-->

[subject]
mrela:hasDimension
screla:hasLowerQuantity
screla:hasQuantity
screla:hasUpperQuantity
screla:rangeOf

and

SELECT *
WHERE {
    ?subject a owl:AnnotationProperty .
    ?subject a owl:DatatypeProperty .
}

-->

[subject]
mrela:hasError
mrela:hasIntegerValue
mrela:hasLowerBound
mrela:hasScalingNumber
mrela:hasShiftingNumber
mrela:hasUpperBound
mrela:toThePower
prela:hasCharge
screla:hasNumericValue
screla:hasSymbol
screla:hasTrophicLevel
trela:dayOfYear
cmungall commented 5 years ago

Sorry, meant to say logical properties: DP if value is literal, OP if value is object. Investigate if both. Only AP if it's used for metadata

On Mon, Jul 22, 2019 at 8:16 AM John Graybeal notifications@github.com wrote:

Funny, I just assumed you were saying turn them all into Annotation Properties, Chris. A lot are clearly strings (e.g., time values, and other values), but a few at least sometimes would want objects ('fartherThan' some class of object, 'hasSubstance' some class of substance), and some would beg for both (e.g., all the unit relations hasBaseUnit, hasPrefix, hasUnit would all ideally be objects, but of course lots of people think of the prefix as the characters and would expect to enter it that way. A bit tricky, some of that.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/ESIPFed/sweet/issues/124?email_source=notifications&email_token=AAAMMOPPQP5ZEXLWVUBD4FDQAVGEVA5CNFSM4IECQ7A2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD2O4F7I#issuecomment-513655549, or mute the thread https://github.com/notifications/unsubscribe-auth/AAAMMOKCOHCTS2T3G6R3353QAVGEVANCNFSM4IECQ7AQ .

dr-shorthair commented 5 years ago

I wrote:

owl:AnnotationProperty and owl:ObjectProperty are disjoint, so one of these is wrong.

Actually I'm not so sure about this, as I can't find it defined in any of the OWL recs that I can grok (which is only a small subset of them :-( ) @cmungall can you confirm the basis of the problem? Maybe it isn't stated explicitly, its just that DPs and OPs have disjoint ranges (resources vs. literals). Not sure how that affects APs though ...

cmungall commented 5 years ago

https://www.w3.org/TR/owl2-new-features/#F12:_Punning a name can only be used for one kind of property

dr-shorthair commented 5 years ago

So strictly that is an OWL-DL feature? Can you select which OWL model Protege uses, or is it only DL? (Curiosity only.)

cmungall commented 5 years ago

DL.

But I think we are OK here. Just remove all the AP declarations, I assume they were added as a mistake.

dr-shorthair commented 5 years ago

What about the OP/DP clashes I reported here?https://github.com/ESIPFed/sweet/issues/124#issuecomment-513659095

cmungall commented 5 years ago

Ah yes. These all seem to be used in quantified restrictions where the filler is a class, so OP for those.

Will show my working in sparql later...

dr-shorthair commented 5 years ago
mrela:hasDimension rdfs:range xsd:integer .                 # DP
screla:hasLowerQuantity rdfs:range quan:Quantity .     # OP
screla:hasQuantity rdfs:range quan:Quantity .               # OP
screla:hasUpperQuantity rdfs:range quan:Quantity .     # OP
screla:rangeOf rdfs:range quan:Quantity .                     # OP
dr-shorthair commented 5 years ago

I think labels and symbols are annotations, not data ... screla:hasSymbol etc.

(Except perhaps for UCUM labels, which have a formal syntax behind them?)

cmungall commented 5 years ago

There are some advantages to using a logical property - e.g. a domain constraint is already stated for hasSymbol. We might want to make these inverseFunctional too? If the quantities are already individuals, not classes, then there is not much of a use case for APs. This is in contrast to OBO style modeling where the quantities would be classes, and symbols apply at the class level necessitating AP....

lewismc commented 5 years ago

Can anyone confirm if this is still an issue?

brandonnodnarb commented 5 years ago

I can confirm this is still an issue.

lewismc commented 5 years ago

same with me

lewismc commented 4 years ago

Fixed in #169