I would like to create an ordinal scale class, to be a sibling class of "categorical value specification
" in the ontology of biomedical investigations
Loosely speaking, each item in the scale is "more" than the previous.
I think I will need to indicate the rank or order of each item in my ordinal scale instances. Also, I would like to enforce that the instances of ordinal scales have one and only one item at each rank, with no gaps. So an ordinal scale with items ranked 1, 2, 3
would pass reasoning, but a scale with ranks 1,2,2
or 1,2,4
would be considered inconsistent. I guess it could be implemented in OWL or SWRL? I just don't know how.
Seems like these guys have envisioned this as ordered rdf:lists
, but I haven't seen an implementation yet.
Prefix: : <http://example.com/>
Prefix: dc: <http://purl.org/dc/elements/1.1/>
Prefix: obo: <http://purl.obolibrary.org/obo/>
Prefix: owl: <http://www.w3.org/2002/07/owl#>
Prefix: rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
Prefix: rdfs: <http://www.w3.org/2000/01/rdf-schema#>
Prefix: xml: <http://www.w3.org/XML/1998/namespace>
Prefix: xsd: <http://www.w3.org/2001/XMLSchema#>
Ontology: <http://example.com/Likert>
AnnotationProperty: rdfs:label
Datatype: owl:rational
Datatype: rdf:PlainLiteral
Datatype: xsd:integer
Datatype: xsd:nonNegativeInteger
ObjectProperty: hasPart
InverseOf:
partOf
ObjectProperty: partOf
InverseOf:
hasPart
DataProperty: hasMaxRank
Characteristics:
Functional
Domain:
ordinalValSpec
Range:
xsd:nonNegativeInteger
SubPropertyOf:
owl:topDataProperty
DataProperty: hasMinRank
Characteristics:
Functional
Domain:
ordinalValSpec
Range:
xsd:nonNegativeInteger
DataProperty: hasRank
Characteristics:
Functional
Domain:
ordinalItem
Range:
xsd:nonNegativeInteger
DataProperty: owl:topDataProperty
Class: obo:OBI_0001933
Annotations:
rdfs:label "value specification"
Class: ordinalItem
EquivalentTo:
partOf only ordinalValSpec
Class: ordinalValSpec
EquivalentTo:
hasPart only ordinalItem,
hasMaxRank exactly 1 owl:rational,
hasMinRank exactly 1 owl:rational
SubClassOf:
obo:OBI_0001933
Individual: Dislike
Types:
ordinalItem
Facts:
hasRank 1
Individual: Like
Types:
ordinalItem
Facts:
hasRank 3
Individual: Likert
Types:
ordinalValSpec
Facts:
hasPart Dislike,
hasPart Like,
hasPart Neutral
Individual: Neutral
Types:
ordinalItem
Facts:
hasRank 2