General Actions:
The open world assumption implies that the CB-NL core specifies known features of constructs. It allows other features, defined in a separate ontology, to be valid even though they have not been defined (yet). Only if new features are specified that contradict the CB-NL core, the new features may be "rejected" by any system that takes both ontologies into account.
This means that querying the CB-NL for information on any construct will provide a basic set of information, which may not be sufficient for building a useable, complete “form”, which is intended to specify any instance of the construct. This is so, because the domain of interest, the application of the CB-NL information, is undetermined. For any "use case" a different set of data, and therefore different models, may be required.
As a methaphor, you cannot build sentences with a dictionary only.
For example, the CB-NL defines a concept Building. It also defines a property Height. It however does not specify that a Building has a property Height or that it has a Roof. This is the consequence of our intent to support an Open World Assumption: the world around the CB-NL has more to say about buildings, each in a particular context, or "use case", and therefore the CB-NL does not contain relations between concepts and properties. The CB-NL does define the constructs Building and Roof, but does not link these together. It is left to the context ontology to introduce these constraints, if needed.
In short: the CB-NL describes the fundamental constructs, but does not prescribe that a construct must (only) be used in the context of another construct.
The CB-NL core exists only to allow separate ontologies to be linked to each other, and subsequently to integrate software systems that are founded on these ontologies. We must distinguish between identity, type relations and structural similarity between two or more ontologies.
The way the CB-NL is constructed is founded on the Open world assumption (OWA). CB-NL only records what must be stated about a construct, and avoids constraining the statements. As a sideline: the CB-NL does not use domains or ranges (in the OWL sense), as these limit the applicability of a relation (realized as an OWL ObjectProperty).
Taking the nature of the CB-NL as a mix of core concepts and context mappings into account, the question remains on how to access the CB-NL.
It should be understood that the CB-NL is a formal OWL specification, not a software system or a server. So, first and foremost, it may be downloaded as a file. This typically takes the form of an OWL RDF file (http://api.cbnl.org/sparql/CBNL/statements). This ontology then in integrated into more elaborate RDF/OWL contexts, local to any application.
As the specification evolves (additional contexts added, concepts changed, added, removed) new releases are created. Such releases are notified.
In general, in a linked data world, it is good practice to keep the information where it is maintained; there should be one point of reference for any knowledge base. Technically this means that the CB-NL should be served from a single triple store. This triple store is available as http://api.cbnl.org/sparql and may be accessed using SPARQL, passing queries in a REST fashion. The SPARQL queries may access graphs that conform to a specific release.
Currently not all software engineers are familiar with OWL or RDF. The need for an XML and JSON interface has been formulated. Therefore, any release is also available using a REST interface which serves XML or JSON on request (http://api.cbnl.org/xml/1.0). This API provides access to the OWL specification, but the information is modelled in accordance with an information model expressed in UML.
Again, as the CB-NL is not a service or software system, the availability of these services (OWL, XML, or JSON) is not fully guaranteed.