The Commons Ontology Library (Commons) v1.0 Specification was approved for formalization at the December 2022 OMG Technical Meeting. The specification and ontologies are available on the OMG site at https://www.omg.org/spec/COMMONS and in GitHub at https://github.com/ObjectManagementGroup/Commons. FIBO has depended on classes and properties that, for many years, were embedded in the Languages, Countries and Codes (LCC) ontologies (also an OMG standard, available at ), which include content that is not needed in many cases. The domain independent concepts and properties have been implemented in the building blocks in the Commons ontology library, extended and improved on. Use of the Commons Ontology Library is a more appropriate solution, as only the immediately relevant concepts are included in those ontologies. The concepts and properties that are redundant with the new Commons library will be deprecated as the LCC 1.3 release is completed at OMG, and will be eliminated from LCC over time.
The table below includes the mapping from what we have used to date in FIBO to the corresponding replacement for FIBO users to assist with transitioning their applications of FIBO to use the Commons library instead.
Table 1. Mapping Reused Terms from LCC to Replacements in Commons
Ontology | Original Element | Original Element IRI | New Element | New Element IRI | Notes |
---|---|---|---|---|---|
Language Representation | denotes | lcc-lr;denotes | denotes | cmns-dsg;denotes | cmns-id;identifies is a subproperty of cmns-dsg;denotes, so in cases where both occur we are eliminating the use of cmns-dsg;denotes in FIBO going forward. |
has | lcc-lr;has | For the most part, this is used as a parent property for other properties, and will be retired. In certain cases, where the property in FIBO characterizes or classifies something, a more appropriate parent property from Commons will be used. | |||
has denotation | lcc-lr:hasDenotation | is signified by | cmns-dsg;isSignifiedBy | ||
has member | lcc-lr;hasMember | has member | cmns-col;hasMember | ||
identifies | lcc-lr;identifies | identifies | cmns-id;identifies | ||
is identified by | lcc-lr;isIdentifiedBy | is identified by | cmns-id;isIdentifiedBy | ||
is member of | lcc-lr;isMemberOf | is member of | cmns-col;isMemberOf | ||
has name | lcc-lr;hasName | has text value | cmns-txt;hasTextValue fibo-fnd-rel-rel;hasTextualName | 'has name' is a data property in LCC, and an object property in Commons - thus a new property, 'has textual name' has been added to the Agents ontology as a subproperty of 'has text value'. | |
has tag | lcc-lr;hasTag | has text value | cmns-txt;hasTextValue fibo-fnd-rel-rel;hasTag | 'has tag' is used throughout FIBO to provide a text value for certain codes - thus a new property, 'has tag' has been added to the Agents ontology as a subproperty of 'has text value'. | |
arrangement | lcc-lr;Arrangement | arrangement | cmns-col;Arrangement | ||
code element | lcc-lr;CodeElement | code element | cmns-cds;CodeElement | ||
code set | lcc-lr;CodeSet | code set | cmns-cds;CodeSet | ||
collection | lcc-lr;Collection | collection | cmns-col;Collection | ||
identification scheme | lcc-lr;IdentificationScheme | identification scheme | cmns-id;IdentificationScheme | ||
identifier | lcc-lr;Identifier | identifier | cmns-id;Identifier | ||
Country Representation | classifies | lcc-cr;classifies | classifies | cmns-cls;classifies | |
has part | lcc-cr;hasPart | has part | cmns-col;hasPart | ||
is classified by | lcc-cr;isClassifiedBy | is classified by | cmns-cls;isClassifiedBy | ||
is part of | lcc-cr;isPartOf | is part of | cmns-col;isPartOf | ||
is used by | lcc-cr;isUsedBy | is used by | cmns-cxtdsg;isUsedBy | ||
uses | lcc-cr;uses | uses | cmns-cxtdsg;uses |
In addition to LCC, there is some (minimal) redundancy in FIBO with the now published Commons ontologies. The mapping from what was used in FIBO to the relevant Commons replacements is given in Table 2, below. Elements that are now redundant in FIBO have been deprecated and will eventually be eliminated from the FIBO ontologies.
Ontology | Original Element | Original Element IRI | New Element | New Element IRI | Notes |
---|---|---|---|---|---|
Agents | language-tagged string | rdf;langString | language-tagged string | rdf;langString | This declaration is now available in the Commons Text Datatypes ontology and not needed in FIBO. No deprecation is required in this case. |
has structured name | fibo-fnd-aap-agt;hasStructuredName | has name | cmns-dsg;hasName | ||
has text value | fibo-fnd-aap-agt;hasTextValue | has text value | cmns-txt;hasTextValue | ||
is structured name of | fibo-fnd-aap-agt;isStructuredNameOf | is name of | cmns-dsg;isNameOf | ||
name | fibo-fnd-aap-agt;Name | name | cmns-dsg;Name | ||
text | fibo-fnd-aap-agt;Text | text | cmns-txt;Text | ||
Arrangements | collection constituent | fibo-fnd-arr-arr;CollectionConstituent | constituent | cmns-col;Constituent | |
structured collection | fibo-fnd-arr-arr;StructuredCollection | structured collection | cmns-col;StructuredCollection | ||
has constituent | fibo-fnd-arr-arr;hasConstituent | has constituent | cmns-col;hasConstituent | ||
is constituent of | fibo-fnd-arr-arr;isConstituentOf | is constituent of | cmns-col;isConstituentOf | ||
Relations | comprises | fibo-fnd-rel-rel;comprises | comprises | cmns-col;comprises | |
is included in | fibo-fnd-rel-rel;isIncludedIn | is included in | cmns-col;isIncludedIn | ||
has context | fibo-fnd-rel-rel;hasContext | is applicable in | cmns-cxtdsg;isApplicableIn | ||
has representation | fibo-fnd-rel-rel;hasRepresentation | is signified by | cmns-dsg;isSignifiedBy | ||
represents | fibo-fnd-rel-rel;represents | denotes | cmns-dsg;denotes | ||
defines | fibo-fnd-rel-rel;defines | defines | cmns-dsg;defines | ||
is defined in | fibo-fnd-rel-rel;isDefinedIn | is defined in | cmns-dsg;isDefinedIn | ||
is conferred on | fibo-fnd-rel-rel:isConferredOn | is conferred on | fibo-fnd-law-lcap;isConferredOn | This property was moved to eliminate a potential circular relationship between ontologies using Relations | |
applies to | fibo-fnd-rel-rel;appliesTo | applies to | cmns-cxtdsg;appliesTo | ||
characterizes | fibo-fnd-rel-rel;characterizes | characterizes | cmns-cls;characterizes | ||
is characterized by | fibo-fnd-rel-rel;isCharacterizedBy | is characterized by | cmns-cls;isCharacterizedBy | ||
describes | fibo-fnd-rel-rel;describes | describes | cmns-dsg;describes | ||
is described by | fibo-fnd-rel-rel;isDescribedBy | is described by | cmns-dsg;isDescribedBy | ||
Classification Schemes | classifier | fibo-fnd-arr-cls;Classifier | classifier | cmns-cls;Classifier | |
classification scheme | fibo-fnd-arr-cls;ClassificationScheme | classification scheme | cmns-cls;ClassificationScheme | ||
Analytics | aspect | fibo-fnd-utl-alx;Aspect | aspect | cmns-cls;Aspect | |
Identifiers and Indices | composite identifier | fibo-fnd-arr-id;CompositeIdentifier | structured identifier | cmns-cxtid;StructuredIdentifier | |
Parties | contextual name | fibo-fnd-pty-pty;ContextualName | contextual name | cmns-cxtdsg;ContextualName | Note that the original restriction on contextual name with respect to the property 'holdsDuring' now uses the property 'cmns-cxtdsg;hasApplicablePeriod' |
Jurisdiction | applies in | fibo-fnd-law-jur;appliesIn | is applicable in | cmns-cxtdsg;isApplicableIn | |
Dates and Times | combined date time | fibo-fnd-dt-fd;CombinedDateTime | combined date time | cmns-dt;CombinedDateTime | |
date | fibo-fnd-dt-fd;Date | date | cmns-dt;Date | ||
date period | fibo-fnd-dt-fd;DatePeriod | date period | cmns-dt;DatePeriod | ||
date time | fibo-fnd-dt-fd;DateTime | date time | cmns-dt;DateTime | ||
date time stamp | fibo-fnd-dt-fd;DateTimeStamp | date time stamp | cmns-dt;DateTimeStamp | ||
day | fibo-fnd-dt-fd;Day | day | cmns-dt;Day | ||
duration | fibo-fnd-dt-fd;Duration | duration | cmns-dt;Duration | ||
explicit date | fibo-fnd-dt-fd;ExplicitDate | explicit date | cmns-dt;ExplicitDate | ||
explicit date period | fibo-fnd-dt-fd;ExplicitDatePeriod | explicit date period | cmns-dt;ExplicitDatePeriod | ||
explicit duration | fibo-fnd-dt-fd;ExplicitDuration | explicit duration | cmns-dt;ExplicitDuration | ||
time instant | fibo-fnd-dt-fd;TimeInstant | time instant | cmns-dt;TimeInstant | ||
time interval | fibo-fnd-dt-fd;TimeInterval | time interval | cmns-dt;TimeInterval | ||
time of day | fibo-fnd-dt-fd;TimeOfDay | time of day | cmns-dt;TimeOfDay | ||
has date | fibo-fnd-dt-fd;hasDate | has date | cmns-dt;hasDate | ||
has date period | fibo-fnd-dt-fd;hasDatePeriod | has date period | cmns-dt;hasDatePeriod | ||
has date time | fibo-fnd-dt-fd;hasDateTime | has date time | cmns-dt;hasDateTime | ||
has date time stamp | fibo-fnd-dt-fd;hasDateTime | has date time stamp | cmns-dt;hasDateTimeStamp | ||
has date time stamp value | fibo-fnd-dt-fd;hasDateTimeStampValue | has date time stamp value | cmns-dt;hasDateTimeStampValue | ||
has date time value | fibo-fnd-dt-fd;hasDateTimeValue | has date time value | cmns-dt;hasDateTimeValue | ||
has date value | fibo-fnd-dt-fd;hasDateValue | has date value | cmns-dt;hasDateValue | ||
has duration | fibo-fnd-dt-fd;hasDuration | has duration | cmns-dt;hasDuration | ||
has duration value | fibo-fnd-dt-fd;hasDurationValue | has duration value | cmns-dt;hasDurationValue | ||
has end date | fibo-fnd-dt-fd;hasEndDate | has end date | cmns-dt;hasEndDate | ||
has explicit date | fibo-fnd-dt-fd;hasExplicitDate | has explicit date | cmns-dt;hasExplicitDate | ||
has observed date time | fibo-fnd-dt-fd;hasObservedDateTime | has observed date time | cmns-dt;hasObservedDateTime | ||
has start date | fibo-fnd-dt-fd;hasStartDate | has start date | cmns-dt;hasStartDate | ||
has time value | fibo-fnd-dt-fd;hasTimeValue | has time value | cmns-dt;hasTimeValue | ||
precedes | fibo-fbc-pas-fpas;precedes | precedes | cmns-dt;precedes | ||
succeeds | fibo-fbc-pas-fpas;succeeds | succeeds | cmns-dt;succeeds |
2 Comments
John Gemski
Why not treat has name the same as has tag? I think we will need sub properties of has text value to specify what type of text value, e.g., has name and has tag. has text value is too broad. I also don't understand why identifier doesn't fall into the same problem. I would think it should be has identifier.
Elisa Kendall
We likely will need to create several subproperties of 'has text value' as you mention. I would do that in FIBO rather than depending on some of these things from LCC, though, to minimize issues if there is more divergence or change across FIBO, LCC, Commons, and other things. Note that the identifiers model uses classes that have identifiers as instances - which we need if we add things like when they were registered or valid dates, etc,, such as for security identifiers and LEIs. But we also have used a text value or tag for the actual value of the identifier so that using SPARQL one could get the identifier value returned.
The summary mapping, above, only covers the elements that are in FIBO from LCC, not other duplication that now exists between FIBO and the Commons library, which we should handle under a separate or multiple separate issues. Commons is relatively small, but the ontologies are really well-formed and can eliminate some inconsistencies that still lurk here and there in FIBO. We need to actually document some of the patterns we are using to be even more consistent, which is one of the things I'm starting to do.