Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
SIO follows a worldview that primarily differentiates objects from processes: objects are entities that occupy space (in their mass or energy), persist in time, and maintains their identity even as they gain or lose parts. Consider an apple: an apple remains an apple even if we take a bite out of it - of course, if we eat enough of the apple and all that remains is the apple core, then the apple ceases to exist. In contrast, a process is an entity that only exists in time and only has temporal parts, if it has them at all. For instance, the process of eating of an apple may include the subprocesses of biting into the apple, chewing the flesh of apple in your mouth, and repeating this until only the apple core remains. Of course, this process is localized to some space because of spatial extent of individuals involved in those sub processes.
While all SIO entities exist at and are located in some space and time, these are not necessarily only in the space and time of our universe, but may instead occur in a hypothetical (propositional), virtual (electronic), or fictional (creative work) setting. This feature distinguishes SIO from many other ontologies such as the Basic Formal Ontology.
These and other qualities (intrinsic attributes) or realizable entities such as capabilities (action specifications) and roles (behaviors, rights and obligations) exist in the entities that bear them. SIO also enables us to specify which quality, capability or role is involved in a particular process so as to more richly describe the key components for that process to occur. Importantly, information about an entity (e.g. a title or description) are themselves (information) objects and literal values such as strings, numbers (integer, float, double), booleans and dates, are captured using SIO’s only datatype property - sio:has-value and associated to the entity of interest using sio:has-attribute. SIO's choice of a single datatype property forces adopters to create more detailed class-based descriptions of entity attributes, thereby enabling a standardized description of their provenance.
SIO also takes the position that there should be a limited set of binary predicates that we can employ to create more sophisticated class-based descriptions, or to use to describe relationships among instances. Thus, SIO will reject domain-specialized relations (e.g. has-protein-part) in favour of a minimal set of maximally expressive relations (e.g. has-part, has-proper-part, has-ordered-part, has-first-part).