@prefix dc: .
@prefix dcat: .
@prefix dcterms: .
@prefix foaf: .
@prefix mod: .
@prefix omv: .
@prefix owl: .
@prefix pav: .
@prefix rdf: .
@prefix rdfs: .
@prefix schema: .
@prefix skos: .
@prefix sulo: .
@prefix vann: .
@prefix xsd: .
dc:creator a owl:AnnotationProperty .
dcterms:alternative a owl:AnnotationProperty .
dcterms:bibliographicCitation a owl:AnnotationProperty .
dcterms:contributor a owl:AnnotationProperty .
dcterms:created a owl:AnnotationProperty .
dcterms:issued a owl:AnnotationProperty .
dcterms:language a owl:AnnotationProperty .
dcterms:license a owl:AnnotationProperty .
dcterms:modified a owl:AnnotationProperty .
dcterms:publisher a owl:AnnotationProperty .
dcterms:title a owl:AnnotationProperty .
pav:authoredBy a owl:AnnotationProperty .
vann:preferredNamespacePrefix a owl:AnnotationProperty .
vann:preferredNamespaceUri a owl:AnnotationProperty .
skos:example a owl:AnnotationProperty .
dcat:accessURL a owl:AnnotationProperty .
foaf:homepage a owl:AnnotationProperty .
schema:funding a owl:AnnotationProperty .
schema:includedInDataCatalog a owl:AnnotationProperty .
mod:definitionProperty a owl:AnnotationProperty .
mod:hasRepresentationLanguage a owl:AnnotationProperty .
mod:hasSyntax a owl:AnnotationProperty .
mod:prefLabelProperty a owl:AnnotationProperty .
mod:status a owl:AnnotationProperty .
sulo:atTime a owl:ObjectProperty ;
rdfs:label "at time"@en ;
dcterms:alternative "existsAt"@en ;
rdfs:comment "a relation between any thing and the time in which it occurs at."@en ;
rdfs:domain owl:Thing ;
rdfs:range sulo:Time ;
owl:inverseOf sulo:isTimeOf .
sulo:isPrecededBy a owl:ObjectProperty ;
rdfs:label "is preceded by"@en ;
rdfs:comment "A relation in which one process occurs after to another process."@en ;
rdfs:domain sulo:Process ;
rdfs:range sulo:Process ;
owl:inverseOf sulo:precedes .
sulo:isReferredToIn a owl:ObjectProperty ;
rdfs:label "is referred to in"@en ;
rdfs:comment "is referred to in is relation between an object that is the subject of an information object."@en ;
rdfs:domain owl:Thing ;
rdfs:range sulo:InformationObject ;
owl:inverseOf sulo:refersTo .
sulo: a owl:Ontology ;
rdfs:label "Simplified Upper Level Ontology"@en ;
dc:creator ;
dcterms:alternative "SULO"@en ;
dcterms:bibliographicCitation "Michel Dumontier, Remzi Çelebi, Komal Gilani, Isabelle de Zegher, Katerina Serafimova, Catalina Martínez Costa and Stefan Schulz. SULO - a simplified upper-level ontology. Proceedings of the Joint Ontology Workshops (JOWO) - Episode XI: The Sicilian Summer under the Etna, co-located with the 15th International Conference on Formal Ontology in Information Systems (FOIS 2025), September 8-9, 2025, Catania, Italy"@en ;
dcterms:contributor ;
dcterms:created "2024-11-11" ;
dcterms:issued "2025-07-11" ;
dcterms:language ;
dcterms:license ;
dcterms:modified "2026-05-19" ;
dcterms:publisher ;
dcterms:title "Simplified Upper Level Ontology"@en ;
pav:authoredBy ;
vann:preferredNamespacePrefix "sulo" ;
vann:preferredNamespaceUri sulo: ;
rdfs:comment "The Simplified Upper Level Ontology (SULO) is ontology with a minimal set of classes and relations to guide the development of a personal health knowledge graph."@en ;
owl:backwardCompatibleWith sulo:sulo-0.2.3.ttl ;
owl:priorVersion sulo:sulo-0.2.3.ttl ;
owl:versionIRI sulo:sulo-0.2.14.ttl ;
owl:versionInfo "0.2.14" ;
dcat:accessURL sulo:sulo.ttl ;
foaf:homepage ;
schema:funding "This work is partially supported by the AIDAVA project (GA 101057062), as part of the European Union's Horizon Europe research and innovation programme."@en ;
schema:includedInDataCatalog ;
mod:definitionProperty rdfs:comment ;
mod:hasRepresentationLanguage omv:OWL ;
mod:hasSyntax ;
mod:prefLabelProperty rdfs:label ;
mod:status "active" .
sulo:EndTime a owl:Class ;
rdfs:label "end time"@en ;
rdfs:comment "an end time is a time instant at the end of a process/time interval."@en ;
rdfs:subClassOf sulo:TimeInstant ;
owl:disjointWith sulo:StartTime .
sulo:contains a owl:ObjectProperty,
owl:TransitiveProperty ;
rdfs:label "contains"@en ;
rdfs:comment "A binary relation where the subject entity includes the object entity within its spatial, temporal, structural, or conceptual extent."@en ;
owl:inverseOf sulo:isIn .
sulo:hasFeature a owl:ObjectProperty ;
rdfs:label "has feature"@en ;
rdfs:comment "has feature is a relation between a thing and an internal, contextual, or externally attributed characteristic."@en ;
rdfs:domain [ a owl:Class ;
owl:unionOf ( sulo:Object sulo:Process ) ] ;
rdfs:range sulo:Feature ;
owl:inverseOf sulo:isFeatureOf .
sulo:hasItem a owl:ObjectProperty ;
rdfs:label "has item"@en ;
rdfs:comment "has item is a relation between a collection and an item contained therein."@en ;
rdfs:domain sulo:Collection ;
rdfs:range owl:Thing ;
owl:inverseOf sulo:isItemIn .
sulo:hasParticipant a owl:ObjectProperty ;
rdfs:label "has participant"@en ;
rdfs:comment "has participant is a relation that describes the participation of a (non-process) thing in a process."@en ;
rdfs:domain sulo:Process ;
rdfs:range sulo:Object ;
owl:inverseOf sulo:isParticipantIn ;
owl:propertyChainAxiom ( sulo:hasParticipant [ owl:inverseOf sulo:hasFeature ] ) .
sulo:isDirectPartOf a owl:ObjectProperty ;
rdfs:label "is direct part of"@en ;
rdfs:comment "is direct part is a non-transitive parthood relation that can be used to specify cardinality constraints between a part and its whole."@en ;
rdfs:subPropertyOf sulo:isPartOf .
sulo:isItemIn a owl:ObjectProperty ;
rdfs:label "is item in"@en ;
rdfs:comment "has item is a relation between an item and the collection in which it contained."@en ;
rdfs:domain owl:Thing ;
rdfs:range sulo:Collection ;
rdfs:subPropertyOf owl:topObjectProperty .
sulo:isParticipantIn a owl:ObjectProperty ;
rdfs:label "is participant in"@en ;
rdfs:comment "is participant in is a relation to relate an object and the process in which it participates."@en ;
rdfs:domain sulo:Object ;
rdfs:range sulo:Process .
sulo:isTimeOf a owl:ObjectProperty ;
rdfs:label "is time of" ;
rdfs:comment "a relation between a time and an object that occurs within it."@en ;
rdfs:domain sulo:Time ;
rdfs:range owl:Thing .
sulo:precedes a owl:ObjectProperty ;
rdfs:label "precedes" ;
rdfs:comment "A relation in which one process occurs prior to another process."@en ;
rdfs:domain sulo:Process ;
rdfs:range sulo:Process .
sulo:refersTo a owl:ObjectProperty ;
rdfs:label "refers to"@en ;
rdfs:comment "refers to is a binary relation between an information object and any other object that it mentions, describes, represents, encodes, or otherwise provides information about."@en ;
rdfs:domain sulo:InformationObject ;
rdfs:range owl:Thing .
sulo:Capability a owl:Class ;
rdfs:label "capability" ;
rdfs:comment "A capability is a feature that describes what an entity is able to do, under some set of circumstances."@en ;
rdfs:subClassOf sulo:Feature ;
skos:example "the capability to fly, the capabilty to reduce the activation energy of a chemical reaction, the capability to reason"@en .
sulo:Collection a owl:Class ;
rdfs:label "collection"@en ;
rdfs:comment "A collection is an information object for which there may be zero or more items."@en ;
rdfs:subClassOf [ a owl:Restriction ;
owl:allValuesFrom owl:Thing ;
owl:onProperty sulo:hasItem ],
sulo:InformationObject ;
owl:disjointWith sulo:Quantity ;
skos:example "a stamp collection, a murder of crows, the arm of a clinical trial"@en .
sulo:Quality a owl:Class ;
rdfs:label "quality"@en ;
rdfs:comment "A quality is a feature that is intrinsically associated with its bearer (or its parts)."@en,
"the color of an apple, the smoothness of skin, the brightness of a star, the speed of an event"@en ;
rdfs:subClassOf sulo:Feature .
sulo:Role a owl:Class ;
rdfs:label "role"@en ;
rdfs:comment "A role is a feature that describes a context-dependent behaviour."@en ;
rdfs:subClassOf sulo:Feature ;
skos:example "a teacher, a student, a catalyst, a substrate, a product, a patient"@en .
sulo:SpatialObject a owl:Class ;
rdfs:label "spatial object"@en ;
rdfs:comment "A spatial object is an object that occupies space"@en ;
rdfs:subClassOf [ a owl:Restriction ;
owl:allValuesFrom sulo:SpatialObject ;
owl:onProperty sulo:hasPart ],
sulo:Object ;
skos:example "a mountain, a planet, a photon, the lining of the stomach, the cavity of the stomach, the space between mars and earth"@en .
sulo:StartTime a owl:Class ;
rdfs:label "start time"@en ;
rdfs:comment "a start time is a time instant at the beginning of a process/time interval."@en ;
rdfs:subClassOf sulo:TimeInstant .
sulo:TimeInterval a owl:Class ;
rdfs:label "time interval" ;
rdfs:comment "A time interval is a quantity for a continuous and bounded extent of time, characterized by a start time and an end time."@en ;
rdfs:subClassOf [ a owl:Restriction ;
owl:onProperty sulo:hasPart ;
owl:someValuesFrom sulo:Duration ],
[ a owl:Restriction ;
owl:onProperty sulo:hasPart ;
owl:someValuesFrom sulo:Unit ],
[ a owl:Restriction ;
owl:onProperty sulo:hasDirectPart ;
owl:someValuesFrom sulo:EndTime ],
[ a owl:Restriction ;
owl:onProperty sulo:hasDirectPart ;
owl:someValuesFrom sulo:StartTime ],
sulo:Time .
sulo:hasDirectPart a owl:ObjectProperty ;
rdfs:label "has direct part" ;
rdfs:comment "has direct part is a non-transitive parthood relation that can be used to specify cardinality constraints between a whole and its parts."@en ;
rdfs:subPropertyOf sulo:hasPart ;
owl:inverseOf sulo:isDirectPartOf .
sulo:isFeatureOf a owl:ObjectProperty ;
rdfs:label "is feature of"@en ;
rdfs:comment "is feature of is a relation between an internal, contextual, or externally attributed characteristic and some Thing."@en ;
rdfs:domain sulo:Feature ;
rdfs:range [ a owl:Class ;
owl:unionOf ( sulo:Object sulo:Process ) ] .
sulo:isIn a owl:ObjectProperty,
owl:TransitiveProperty ;
rdfs:label "is in"@en ;
rdfs:comment "A binary relation where the object entity includes the subject entity within its spatial, temporal, structural, or conceptual extent."@en ;
rdfs:subPropertyOf owl:topObjectProperty .
sulo:isPartOf a owl:ObjectProperty,
owl:ReflexiveProperty,
owl:TransitiveProperty ;
rdfs:label "is part of"@en ;
rdfs:comment "is part of is a transitive, reflexive and antisymmetric relation between a part and itself or a part and a whole."@en ;
rdfs:subPropertyOf sulo:isIn .
sulo:Duration a owl:Class ;
rdfs:label "duration"@en ;
rdfs:comment "Duration is a temporal quantity that represents the extent or (non-negative) amount of time that elapses between two temporal points, typically the start and end of a time interval."@en ;
rdfs:subClassOf [ a owl:Restriction ;
owl:onProperty sulo:hasValue ;
owl:someValuesFrom [ a rdfs:Datatype ;
owl:onDatatype xsd:decimal ;
owl:withRestrictions ( [ xsd:minInclusive 0.0 ] ) ] ],
sulo:Time .
sulo:Quantity a owl:Class ;
rdfs:label "quantity"@en ;
rdfs:comment "A quantity is an information object that represents the magnitude (and unit) of an object or process."@en ;
rdfs:subClassOf [ a owl:Restriction ;
owl:onProperty sulo:hasPart ;
owl:someValuesFrom sulo:Unit ],
sulo:InformationObject .
sulo:Unit a owl:Class ;
rdfs:label "unit" ;
rdfs:comment "a unit is a standardized quantity that is used as a reference for a particular quantity."@en ;
rdfs:subClassOf sulo:Quantity .
sulo:hasValue a owl:DatatypeProperty,
owl:FunctionalProperty ;
rdfs:label "has value"@en ;
rdfs:comment "has value is the (only) data type attribute to store the values of information objects."@en ;
rdfs:domain sulo:InformationObject .
sulo:TimeInstant a owl:Class ;
rdfs:label "time instant"@en ;
rdfs:comment "time instant is a quantity of time a particular moment in time."@en ;
rdfs:subClassOf [ a owl:Restriction ;
owl:allValuesFrom [ a rdfs:Datatype ;
owl:unionOf ( xsd:dateTime xsd:dateTimeStamp ) ] ;
owl:onProperty sulo:hasValue ],
sulo:Time .
sulo:Time a owl:Class ;
rdfs:label "time"@en ;
rdfs:comment "time is a quantity pertaining to the duration of some interval of time or a particular instant of time (against some frame of reference)."@en ;
rdfs:subClassOf sulo:Quantity ;
owl:disjointUnionOf ( sulo:Duration sulo:TimeInstant sulo:TimeInterval ) ;
owl:disjointWith sulo:Unit .
sulo:Feature a owl:Class ;
rdfs:label "feature"@en ;
rdfs:comment "A feature is any characteristic that stems from the intrisinc structure and/or context"@en ;
rdfs:subClassOf [ a owl:Restriction ;
owl:onProperty sulo:isFeatureOf ;
owl:someValuesFrom [ a owl:Class ;
owl:unionOf ( sulo:Object sulo:Process ) ] ],
[ a owl:Restriction ;
owl:allValuesFrom sulo:Feature ;
owl:onProperty sulo:hasPart ],
sulo:Object ;
owl:disjointUnionOf ( sulo:Capability sulo:InformationObject sulo:Quality sulo:Role ) ;
owl:disjointWith sulo:SpatialObject ;
skos:example "the capability to fly, a collection of cards, a measured height of 170cm."@en .
sulo:InformationObject a owl:Class ;
rdfs:label "information object"@en ;
rdfs:comment "an information object is a feature that represents, is about, or encodes some information."@en ;
rdfs:subClassOf [ a owl:Restriction ;
owl:allValuesFrom sulo:InformationObject ;
owl:onProperty sulo:hasPart ],
[ a owl:Restriction ;
owl:allValuesFrom rdfs:Literal ;
owl:onProperty sulo:hasValue ],
sulo:Feature .
sulo:Object a owl:Class ;
rdfs:label "object"@en ;
rdfs:comment "An object is an entity that maintains its identity through time, and does not have processes as its parts." ;
rdfs:subClassOf [ a owl:Class ;
owl:complementOf [ a owl:Restriction ;
owl:onProperty sulo:hasPart ;
owl:someValuesFrom sulo:Process ] ],
[ a owl:Restriction ;
owl:allValuesFrom sulo:Object ;
owl:onProperty sulo:hasPart ] ;
owl:disjointWith sulo:Process ;
skos:example "a heart, the function to pump blood, the role of a doctor"@en .
sulo:hasPart a owl:ObjectProperty,
owl:ReflexiveProperty,
owl:TransitiveProperty ;
rdfs:label "has part"@en ;
rdfs:comment "has part is a transitive, reflexive and antisymmetric relation between a whole and itself or a whole and its part." ;
rdfs:subPropertyOf sulo:contains ;
owl:inverseOf sulo:isPartOf .
sulo:Process a owl:Class ;
rdfs:label "process"@en ;
rdfs:comment "a process is a entity that unfolds in time, has temporal parts, and has objects that participate in the process."@en ;
rdfs:subClassOf [ a owl:Restriction ;
owl:allValuesFrom sulo:Process ;
owl:onProperty sulo:hasPart ] ;
skos:example "the process of diagnosing a problem condition, the process of walking down the street, the process of teaching a class"@en .
[] a owl:AllDisjointClasses ;
owl:members ( sulo:Capability sulo:InformationObject sulo:Quality sulo:Role ) .
[] a owl:AllDisjointClasses ;
owl:members ( sulo:Duration sulo:TimeInstant sulo:TimeInterval ) .