edmcouncil / fibo

The Financial Industry Business Ontology (FIBO) defines the sets of things that are of interest in financial business applications and the ways that those things can relate to one another. In this way, FIBO can give meaning to any data (e.g., spreadsheets, relational databases, XML documents) that describe the business of finance.
https://spec.edmcouncil.org/fibo/
MIT License
307 stars 66 forks source link

Bug report: fibo-fbc-dae-dbt:hasAccrualBasis has missing superproperty #1928

Closed aamedina closed 1 year ago

aamedina commented 1 year ago

https://github.com/edmcouncil/fibo/blob/723433558c37d04439cc5b98e51fc2b1f5b7914a/FBC/DebtAndEquities/Debt.rdf#LL945C49-L945C49

cmns-col:hasMethod isn't in the vocabulary as far as I can tell.

Source: https://www.omg.org/spec/COMMONS/Collections.ttl

Thank you for your work on FIBO.

ElisaKendall commented 1 year ago

@aamedina Hi Adrian, I think this is an issue with what is published on the OMG site. The formal revision of the COMMONS Ontology Library was approved in December at OMG by the membership, and in March by the OMG Board of Directors. I've attached the zip file for the revised ontologies so that you have them and will reach out to OMG staff to find out what is delaying posting the revisions (which should have been done in early April). Commons 1.0 Turtle Serialized OWL Files.zip

If I can get any guidance about when the files will be posted, I'll let you know. We would also be delighted if you can share anything about what you are doing with FIBO - use case, etc., as we don't always hear.

aamedina commented 1 year ago

Hi, thank you for the files. I have patched it manually in the interim.

I am designing an OWL-centric datalog based linked data video game in Clojure that can "plug-in" FIBO as a modular source of its data models: https://github.com/aamedina/fibo.

Using this library: https://github.com/aamedina/rdf a Clojure program can automatically translate any RDF model Apache Jena can read (in Turtle, RDF/XML, JSON/LD, etc.) into a Clojure namespace containing the vocabulary, which creates a totally reflective and interactive system for navigating the ontologies as pure Clojure data inside a Clojure read-eval-print-loop.

Then, I can query the loaded graph with datalog. Datomic is especially interesting as its underlying fact structure is essentially an RDF triple plus time (and whether or not the fact has been retracted or asserted at that time). So you can think of a Datomic database modeled with RDF as a functionally immutable series of RDF graphs over time. This permits modelling and analyzing the evolution of your graph (the classes, properties and instances/individuals are all persisted in this architecture in the same database), preserving a complete audit log for each database.

I have only been experimenting with FIBO for the last year, but the data modeling is the best I have seen in the ecosystem of the Semantic Web in terms of being production-quality, and so I also have come to use it as a benchmark and learning resource as I learn about RDF and OWL. I really appreciate that this amazing knowledge graph is open source.

I aspire to be able to use FIBO to infer logically consistent and valid Datomic database schemas (where the RDF predicate is used as the Datomic attribute and the RDF subject is the entity) which can be tested and validated rigorously for financial applications to meet (and exceed) compliance requirements.

Sorry for the long answer but it's an odd use-case. Thanks again for your work! I look forward to continuing to learn from your best practices.

ElisaKendall commented 1 year ago

@aamedina Hi Adrian,

Thanks so much for sharing! It's a really interesting use case, so we'll look forward to your findings. And, I appreciate your support for what we are doing. OMG posted the updated Commons ontologies yesterday, which turned out to show that the property I used as the parent of hasAccrualBasis wasn't the right one - it caused punning. I wouldn't have found that if you hadn't said something. It will be fixed in the context of the SEC-73 pull request I just completed, though.

We will have a few more revisions for the Q2 release, which is coming in a couple of weeks, FYI, so you might want to update what you are using once that is available. It will have new MIC codes, some other updates to reference data, and a few more changes, FYI, which I'll document in our release notes.

We have another project, IDMP, which is also open source in our GitHub - not as complete yet, and not all of the Commons ontologies we are testing are available on the OMG site, but they are all in GitHub at edmcouncil/IDMP if you are interested in playing with that as well.

Also, my long-time friend, Paula Gearon, is really active in the Clojure community, so I'm sure that she will be interested in what you are doing as well.

aamedina commented 1 year ago

It appears that we were colleagues at Cisco for a period of time, albeit in different teams. I should certainly make an effort to reconnect with her.

I've also been exploring IDMP, although I haven't updated it recently due to changes I've been making to my RDF library. I've been focusing on FIBO, ensuring it's always in sync and installable into Datomic. You can find my work on IDMP here: https://github.com/aamedina/idmp. Additionally, I've been working on the Automotive Ontology, which can be found here: https://github.com/aamedina/auto. I find it particularly impressive how very different domains are being modeled in a consistent manner.

I'm eagerly anticipating the upcoming release. Please feel free to close this issue whenever you deem appropriate. Thank you for your time and assistance.

ElisaKendall commented 1 year ago

@aamedina You're welcome - it will be forthcoming next week as we attempt to get a few more things in. Note that the issue you originally raised has been fixed by the OMG now :).