Improvements to Ontology Information via Foundry API

We are building an application directly on the Foundry API without OSDK. The intention is to not re-deploy the app and having to update the OSDK when something changes in the ontology.

Currently, there are a few things missing in the metadata / object type and link type endpoints when it comes to the Foundry API

Object Type Groups:
The information about which object types belong to a group is currently not available at all in the Foundry API and would greatly help to navigate the ontology and reduce the amount of complexity for the end-user while being consistent with the experience in Foundry.
Ideally, one would be able to get a list of object types or object type api names by selecting an object type group. Also, listing all object type groups of an ontology would be helpful here.

Typeclass information
You can assign custom typeclasses in the ontology manager to object types, link types and properties. Historically, one was able to steer the behavior of the Foundry Platform with the respective ontology entity despite no UI being there. With regard to building custom applications outside the platform it is interesting though to also use this approach of flagging entities to have a certain behavior or simply mark them for a specific intent. This would be great for creating resuable workflows, similar to interfaces but less strict on the actual implementation. One example could be that you could provide the link to an IRI of a public ontology e.g. <rdfs:Class rdf:about=“http://xmlns.com/foaf/0.1/Person” rdfs:label=“Person” rdfs:comment=“A person.” vs:term_status=“stable”> To make use of this powerful capability, the Foundry API would need to provide a list of all typeclasses assigned to the respective object type, link type or property.

Inverse Link Type apiName
Link Types are defined in the ontology manager always bidirectional. They follow they are defined by the tuple: (Ontology, ObjectTypeApiName, LinkTypeApiName).
Unfortunately, when querying the FoundryAPI for the outgoing link types of an object type, you cannot determine the inverse link type reliably. This is because the LinkTypeApiName of the inverse relationship direction is not known and simply checking all link types from the opposite Object Type is not reliable, since the can be an arbitary amount of linkt types between to object types where the most prominent case for this is a target / destination relation of locations or a parent/child reference between persons.
Hence, I would be happy to see the inversion of LinkTypes being possible via the FoundryAPI.

1 Like