Code Monkey home page Code Monkey logo

bfo's Introduction

Basic Formal Ontology (BFO)

The Basic Formal Ontology (BFO) is a small, upper-level ontology that is designed for use in supporting information retrieval, analysis and integration in scientific and other domains. BFO is a genuine upper ontology. Thus it does not contain physical, chemical, biological or other terms which would properly fall within the coverage domains of the special sciences. BFO is used by more than 130 ontology-driven endeavors throughout the world.

The BFO project was initiated in 2002 under the auspices of the project Forms of Life sponsored by the Volkswagen Foundation. The theory behind BFO was developed first by Barry Smith and Pierre Grenon and presented in a series of publications listed here.

Since then important contributions to BFO have been made by many people, including:

... and by more than hundred other members of the BFO Discussion Group.

News: BFO 2.0 Now Released

Implementations

Current Version: 2.0

Previous Version: 1.1.1

Material

Publications

Code license: New BSD License

Content license: Creative Commons 4.0 BY

bfo's People

Contributors

alanruttenberg avatar cmungall avatar cthoyt avatar holger-stenzhorn avatar jamesaoverton avatar jannahastings avatar johnbeve avatar mcourtot avatar ngrewe avatar rudnicki avatar steschu63 avatar zhengj2007 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

bfo's Issues

There are two different arities for the projects_onto relation

From [email protected] on May 22, 2012 11:20:52

"ELUCIDATION: To say that each spatiotemporal region r projects_onto some temporal region t is to say that t serves as the temporal extension of r. [080-001]
ELUCIDATION: To say that spatiotemporal region r projects_onto spatial region s at t is to say that s serves as the spatial extent of r at t. [081-001]
"

so we have projects_onto spatiotemporal region -> temporal region
and
projects_onto spatiotemporal region -> spatial region at t

As in other such cases, we need two separately named relations in this case.

Original issue: http://code.google.com/p/bfo/issues/detail?id=41

Release 2.0

From [email protected] on August 09, 2009 23:56:49

What we need to do between here and there.

  1. Decision has already been made on URI - http://purl.obolibrary.org/obo/BFO_xxxxxx 2) Need to decide on relations to include - first pass Chris to supply Common Logic formulations.
    At last RO meeting we decided to have separate class and instance level relations.
  2. Resolve any outstanding issues we can. Alan will tag such issues in this list as "maybe20"
  3. We will assume OWL 2 for the next release
  4. Incorporate latest changes on realizable entities.
  5. Examples need to be reviewed - some, particularly in realizable entities are poor
  6. Solicit feedback from OBO Foundry candidates and other interested parties before release: OBO,
    IAO, NIF, etc.

Original issue: http://code.google.com/p/bfo/issues/detail?id=7

Have bfo-owl-devel and bfo-devel teams review reference document, flag consensus/contentious

From [email protected] on May 08, 2012 00:45:17

We need to have people know what the current reference says and to critically review it. Then whoever has an opinion needs to say which parts they are comfortable with, which uncomfortable, and which they have questions about.

This will be used for release notes for the reference document, as well as to plan strated in prerelease bfo

Original issue: http://code.google.com/p/bfo/issues/detail?id=25

Policy on inverse relations

From [email protected] on January 13, 2012 14:12:34

BFO2 reference doesn't always define an inverse relation when a relation is defined.
See http://groups.google.com/group/bfo-owl-devel/browse_thread/thread/9527351b8a7e2d58/40117a6afbd3154f?lnk=gst&q=inverse#40117a6afbd3154f Sense from existing discussion is that always having inverse is desirable.

The proposal is that we always define the inverse.
Q: Do we duplicate/rewrite documentation?
Q: Do we ask that the inverses are given labels and mention in BFO2 reference?

Original issue: http://code.google.com/p/bfo/issues/detail?id=19

Name properties uniformly - with a verb

From [email protected] on May 20, 2012 12:14:53

e.g. has part ok
part of -> is part of

--- Conversation with Barry

On Sat, May 19, 2012 at 4:53 PM, Alan Ruttenberg [email protected] wrote:
I want to do some edits related to annotations and don't want to merge
if I can help it.

In the discussion group we agreed on having relation names be uniform

  • always including a verb.

Good idea

So:

has part (ok)
part of -> is part of

etc.

Can I make this change in the reference?

I would be very happy for you to do this when I hand it back to you

Original issue: http://code.google.com/p/bfo/issues/detail?id=31

Is spatiotemporal region the same universal as BFO1 connected spatiotemporal region or BFO1 scattered spatiotemporal region or neither

From [email protected] on May 22, 2012 22:40:17

Or neither.

The current elucidation mentions neither scattered nor connected, only being part. I would conclude that it is, therefore, a new term in BFO2, and that should a bridging file be created between BFO1.1 and BFO2 it would be asserted to be equivalent to the union of connected and scattered

Is this correct?

Original issue: http://code.google.com/p/bfo/issues/detail?id=44

immaterial parts and MaterialEntity

From [email protected] on February 17, 2010 09:21:01

Hello,

This is not a problem with BFO as such, but something to bear in mind in
the presentation.

Objects and FiatObjectParts at least may (and possibly must) have
immaterial parts such as cavities, hollows and tunnels. I'm not sure about
whether the space in between penguins in a huddle counts as an immaterial
part of that ObjectAggregate, but that ObjectAggregate definitely has
immaterial parts inside and on the surface of the penguins.

Calling the parent of these three MaterialEntity does make it sound as if
they don't include the immaterial parts.

Also, whereas process--result polysemy (examples: infection, distribution)
relates an occurrent and a continuant, figure--ground polysemy (examples:
door, gate, conduit, tunnel) relates the whole and an immaterial part in a
rather more complicated way. I'm happy with the inside of a fireplace or a
blood vessel being a Site, but it seems less obvious that a door (in the
sense of walking through a door with a pout as opposed to walking through a
door with a crash and splintering wood) is a Site.

Where do immaterial parts that aren't Sites go?

Best wishes,
Colin.

Original issue: http://code.google.com/p/bfo/issues/detail?id=12

Disjointness axioms

From [email protected] on May 08, 2012 09:49:19

The reference, in prose, asserts that the tree is pairwise disjoint at each level but I don't see this reflected in the axioms or FOL. Apologies if I've missed it. In that section there is also a statement of universal exhaustiveness, though I think in conversations we have left some (all?) sibling sets as not mutually exhaustive.

Original issue: http://code.google.com/p/bfo/issues/detail?id=27

Deprecation/Continuity between BFO 1.1 and BFO 2

From [email protected] on May 22, 2012 00:22:34

There are a number of types that are no longer present. Missing: 'scattered' temporal|spatiotemporal regions, object boundary, processual context , process_aggregate, fiat_process_part, processual_entity (renamed/merged with process).

Shall we call these out as officially obsolete?

Pictures of the two hierarchies are attached to this issue.

Attachment:
BFO 1.1.PNG
BFO 2.PNG

Original issue: http://code.google.com/p/bfo/issues/detail?id=37

Simple Extensional Mereology or Classical Extensional Mereology

From [email protected] on May 08, 2012 23:01:55

In section: Relations of parthood

"As our starting point in understanding the parthood relation, we take the axioms of Simple Extensional Mereology as defined in [46]. "
[46] is Simons "Parts"

However Simons doesn't define Simple Extensional Mereology afaik, it defines Classical Extensional Mereology.

I also don't see the Axioms included in the document.

In Parts (Sections 1.3.5, 1.5) Classical Extensional Mereology has SA0-3 and SA24. Briefly, SA0 specifies first order predicate calculus with equality, SA1 is asymmetry, SA2 is transitivity, SA3 is weak supplementation, SA24 is the general sum principle.

Note the primitive is proper part of.

--

So the actions are: 1) Fix the typo 2) Include the SEM axioms

Original issue: http://code.google.com/p/bfo/issues/detail?id=28

coming and going out of existence relations

From [email protected] on May 25, 2012 16:09:55

As discussed informally, in the past, I would like (all or some of) the following relations added to the reference.

continuant begins_to_exist_during process inverse: process has_participant_that_begins_to_exist continuant
continuant ceased_to_exist_during process inverse: process has_participant_that_ceases_to_exist continuant

c begins_to_exist_during p
<=>
continuant(c) and process(p) and first_time_point(p,t1) and last_time_point(p,t2) and not(exists_at(c,t1)) and exists_at(c,t2)

We don't have first_time_point and last_time_point as relations currently. This can be probably be expressed using only part_of and "<" but it looks more complicated so perhaps it is easier to just add first and last_time_point. relations.

etc.

Original issue: http://code.google.com/p/bfo/issues/detail?id=50

o causes o'

From [email protected] on January 07, 2010 18:42:31

Hello,

Currently in RO there's a causes relation between a continuant and an
occurrent.

But often one in addition would like to say that occurrent A causes
occurrent B; the jogging of my elbow causes the spilling of my drink, the
binding of a transcription factor to a DNA molecule causes the
transcription of a gene, the singing of the soprano causes the vase to
shatter and so forth.

von Wachter (doi:10.1002/cfg.258) talks in these terms:

A caused B if and only if A was the basis of a tendency
towards B and the tendency was realized.

without actually saying what A and B are. Now in BFO we talk about
dispositions, which I take to subsume tendencies (though Ludger Jansen
seems to argue otherwise: "Tendencies and other Realizables in Medical
Information Sciences", in: The Monist 90/4 (2007) 534-555), 'surefire'
dispositions, vices and virtues.

Now the talk in BFO is of realizable entities being realized in some
context C. But what does this mean? I read it as something like this:

IC c has_disposition d realized_as process o'
and triggered_by process o

which is to say that because realizable entities are only realized at
particular times, as opposed to qualities which are present (though may be
determinable and hence have different determinate values over time) at all
times, something time-dependent, a process, maybe, let's say, a change in
determinable quality q (I will flesh this out in another issue for the
tracker) must be part of the context C. Taking the inverse of
triggered_by, triggers:

o causes o' = o triggers . realized_as o'

and there is some possibly-anonymous disposition d in that chain.

But what about quantification? realized_as is an all-only relationship, by
the dispositionality of d. Likewise triggered_by. But what about triggers?

We cannot say:

all singing triggers some (d and inheres_in vase), all d realized_as only
smashing

but maybe we can say:

all singing-in-context-C triggers some (d and inheres_in vase v), all d
realized_as in v only smashing

and I think, if my inferencing is correct (all-only . all-some = all.only),
that gives us:

all singing-in-context-C causes in v only smashing

This seems wrong. Are there other possibilities for quantification I am
missing?

Best wishes,
Colin.

Original issue: http://code.google.com/p/bfo/issues/detail?id=11

Proposed - for ternary relations in reference create two relations - R-at-all-times, R-at-some-time

From [email protected] on May 25, 2012 11:41:45

In order to support a reading of temporal relations in BFO2 it is proposed that for each temporal relation R specified in the reference, two properties are instead created:

R-at-some-time
R-at-all-times

For x R y at t,

The scope over which the some and all t are selected from is all t such that exists_at(x,t).

This proposal does not rule out other relations. It suggests only a minimally adequate change to support our goal. Further work should continue.

Original issue: http://code.google.com/p/bfo/issues/detail?id=49

exists_at treatment

From [email protected] on May 23, 2012 20:17:03

(mind the two uses of exists - exists( , ) is the relation, and exists without parentheses is the logical exists.)

Should it not be the case that for any categorical continuant predicate we have an axiom of the form:

forall t instantiates(x,cat,t) -> exists(x,t)

and for the rigid categories (most of BFO, other than subkinds of material entity?)

if there exists some t1 st. instantiates(x,cat,t1) then forall t exists(x,t) -> instantiates(x,cat,t)

and for occurrents:

occurrent(x) -> exists t projects_onto(x,t) and forall t, t1 part_of t -> exists_at(x,t)

and for time-dependent relations

r(x,y,t) -> exists(x,t), exists(y,t)

and for time independent relations

r(x,y)

not(exists(x,t)) or (not(exists(x,t)) -> not(r(x,y))

I don't know what to do about time itself, which is in the domain of discourse, and so can be predicted with exists_at

Original issue: http://code.google.com/p/bfo/issues/detail?id=48

Monohierarchy, disjointness, Subkinds of Material entity - 027-001

From [email protected] on May 23, 2012 13:31:55

"From this principle it follows that no two universals on the same level within an asserted hierarchy should have instances in common. "

However we discussed that there would be no assertion(or suggestion) of disjointness between object, fiat object part, and object aggregate. So this needs to be called out.

On this basis 027-001 seems to be amended in that it would seem to disallow at least some objects (ones that are not proper continuant parts of some other object) from being fiat object parts.

I don't see any obvious issue with the def of object aggregate but it should be checked. The easiest way would be to assert, in some test added to the CLIF, that there exists an entity that is both fiat object part and object, another that is object and object aggregate, and another that is fiat object part and object aggregate, and then see if an inconsistency is triggered.

Original issue: http://code.google.com/p/bfo/issues/detail?id=47

has_material_basis_in

From [email protected] on November 18, 2010 16:47:50

We often want to establish a relation between a disposition and the material entity that confers that disposition. This manifests itself in OGMS as a relation between a disease and the disorder(s) that confer the disease.

After some email discussions with Barry Smith, Lindsay Cowell, Bjoern Peters, and Alan Ruttenberg, I believe something like this might do the trick:

has_material_basis_in
domain: bfo:disposition
range: bfo:material entity
definition (*): d has_material_basis_in m iff
(1) d is_a bfo:disposition
(2) m is_a bfo:material entity
(3) i is_a bfo:independent continuant and i has_disposition d because i has_part m

(* Note: d, m, and i are instances per RO policy)

A synonym could be 'conferred_by'. Another proposal, 'has_physical_basis_in' I don't like as much because the 'physical' doesn't seem to make you think of the proper bfo type in the range (i.e., material entities).

Original issue: http://code.google.com/p/bfo/issues/detail?id=13

Object, FiatObjectPart, ObjectAggregate not univocal

From [email protected] on August 10, 2009 00:04:28

At different granularities we get different answers for which class things are.
Proposal: These become not mutually disjoint, and we add two relations:
fiat_object_part_of (super part_of) , aggregate_of (super has_part)

FiatObjectPart becomes defined class: fiat_part_of some MaterialEntity
ObjectAggregate becomes defined class: aggregrate_of min 2 MaterialEntity

Object becomes synonym for MaterialEntity

Original issue: http://code.google.com/p/bfo/issues/detail?id=8

Add an alternative term optimized for completion in protege?

From [email protected] on May 20, 2012 12:22:19

Some terms, having spaces in them, need to be start with a quote in protege. An example taken from the move to normalize property names is part of -> is part of. Because there are a lot of properties that will start with is and has, it is more of a pain to complete.

The implementation of this would be to create a subproperty of alternative term called "protege completion term" (other names welcome). Which would aim to have labels that are disambiguated well by the first few characters.

It might also be worth a check in with Matthew Horridge about whether completion can get smarter, for example completing from the middle of a word, or based on the letters of separate words in the name.

Original issue: http://code.google.com/p/bfo/issues/detail?id=32

Histories and course_of relation

From [email protected] on May 22, 2012 22:05:22

Again we have a theory that has been reasonably well developed, without having either technical or ontological disagreement - a 1:1 correspondence between occurrents and continuants. We need these terms in order to do a reasonable job in dealing with development and other temporal phenomena.

If not, remove them from the spec. The spec is long already and suffers for including topics that don't actually contribute to BFO2.

Original issue: http://code.google.com/p/bfo/issues/detail?id=43

immaterial entity

From [email protected] on March 01, 2012 19:08:27

Is it possible to include 'immaterial entity' as a sibling class to 'material entity'. Ideally site and boundaries would be subclasses of 'immaterial entity'.

In order to have anatomical space and anatomical boundaries classify as immaterial anatomical entities this would be nice to have. Barry suggested that the anatomical spaces should be sites. The anatomical boundaries would then be subclass of 'object boundary'? Or is 'object boundary' meant to be material? The examples given for boundaries can be construed as either material or immaterial. Can you tell me, are they intended to be sites of gene expression?

For example, here is how we are currently defining material anatomical entity:
'material entity' and ('is part of@en' some organism) and ('has quality@en' some mass)

ideally we'd have the parallel construction:
'immaterial entity' and ('is located in@en' some organism) and not ( 'has quality@en' some mass)

I am sure this has been discussed, please let me know how we might accommodate this using the new bfo.

Cheers
Melissa

Original issue: http://code.google.com/p/bfo/issues/detail?id=21

is part_of intended to be included in BFO2

From [email protected] on May 23, 2012 11:34:13

It is not given an elucidation or definition. It is not defined or used in the FOL.

If included it would be incoherent to have it be a superproperty of the various other subkinds of part_of as they have different arities.

Section 2.02 Relations of parthood, in the section on mereology axioms makes them in terms of part_of and proper_part_of, but these do not logically extend to continuant_part_of, occurrent_part_of without reformulation or additional axioms.

If it is intended to be included, please amend the above.

Discussions in threads: https://groups.google.com/forum/#!topic/bfo-owl-devel/fC963zXVAf0 https://groups.google.com/forum/#!topic/bfo-owl-devel/iXAk_yg6lrM

Original issue: http://code.google.com/p/bfo/issues/detail?id=46

domain and range of 'is preceded by'/'precedes' too narrow?

From [email protected] on June 23, 2011 07:13:46

domain and range of 'is preceded by', precedes and their child properties is currently process. But shouldn't this be occurrent?

Here're the current definition:

occurrent: An entity that has temporal parts and that happens, unfolds or develops through time. Sometimes also called perdurants.

process: A processual entity that is a maximally connected spatiotemporal whole and has bona fide beginnings and endings corresponding to real discontinuities.
SubClassOf: occurrent


A process must have 'bona fide beginnings and endings corresponding to real discontinuities', but if i subdivide a process or any other occurrent into fiat temporal parts, surely they will stand in 'is preceded by' relations to each other.

Original issue: http://code.google.com/p/bfo/issues/detail?id=15

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.