Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Any reference to a URI in any context other than as the object of an annotation property must have a type triple for that URI. https://github.com/edmcouncil/fibo/blob/master/etc/testing/hygiene/testHygiene1testHygiene0001.sqsparql 

Crossing domains / ranges

If one property is a sub of another, then the domains (respectively ranges) should not be subClasses in the opposite direction. https://github.com/edmcouncil/fibo/blob/master/etc/testing/hygiene/testHygiene2.sqtestHygiene0002sparql

 https://github.com/edmcouncil/fibo/blob/master/etc/testing/hygiene/testHygiene3testHygiene0003.sqsparql

Labels and Definitions

Every Class and Property defined in FIBO must have an rdfs:label and a skos:definition https://github.com/edmcouncil/fibo/blob/master/etc/testing/hygiene/testHygiene4testHygiene0004.sqsparql

Ontology Metadata

Every Ontology defined in FIBO must have a rdfs:label, sm:copyright, dct:license, dct:abstract https://github.com/edmcouncil/fibo/blob/master/etc/testing/hygiene/testHygiene0005.sparql 

String printability

Text should not use special characters https://github.com/edmcouncil/fibo/blob/master/etc/testing/hygiene/testHygiene5.sq/testHygiene0114.sparql

References to owl:Thing

We should not make explicit references to owl:Thing https://github.com/edmcouncil/fibo/blob/master/etc/testing/hygiene/testHygiene0268.sparql

Unique Labels

Labels should be unique across FIBO for classes and properties. https://github.com/edmcouncil/fibo/blob/master/etc/testing/hygiene/testHygiene1067.sparql

Multiple Inverses

Object properties shouldn't have more than one inverse. https://github.com/edmcouncil/fibo/blob/master/etc/testing/hygiene/testHygiene1078.sparql

Annotation vocabulary

rdfs:comment shouldn't be used for FIBO annotation.https://github.com/edmcouncil/fibo/blob/master/etc/testing/hygiene/testHygiene1079.sparql

Equivalent Named Classes

Equivalent classes may indicate polysemy spread accross multiple classes https://github.com/edmcouncil/fibo/blob/master/etc/testing/hygiene/testHygiene1103.sparql

Disjunctive definitions

Definitions should not contain the "or" connective. https://github.com/edmcouncil/fibo/blob/master/etc/testing/hygiene/testHygiene1127.sparql






Proposed Hygiene tests:

Definition Format

 https://wiki.edmcouncil.org/display/FLT/Policy+for+Naming+Conventions 


No property may have more than one inverse

SPARQL: 

SELECT ?p1 ?p2 ?p 
WHERE { ?p1 owl:inverseOf ?p.
?p2 owl:inverseOf ?p.
FILTER (?p1 != ?p2) }

Proposed Hygiene tests:

Definition Format

...

Annotations Conventions

Do not use rdfs:Comment for anything. Here is a SPARQL query to catch them. I found two, so this is no big deal.

...