Package org.gcube.informationsystem.model.knowledge
package org.gcube.informationsystem.model.knowledge
-
ClassDescriptionModelKnowledge<T,
TI extends TypeInformation<T>> Builds an in-memory knowledge base over the full set of known types: one inheritanceDagperAccessType, plus a per-type-name usage index (TypeUsage: Composition/Association/Property usage) tracking which types reference which other types (viaConsistsOf/IsRelatedTorelations) and which generic property types are embedded by which type.ExtendsNodeInformationto provide additional type-related information.A pluggable strategy for discovering all known types of a givenAccessType, so that aModelKnowledgecan be populated without hard-coding how types are located.Static Composition/Association/Property usage data for aType-- i.e. which other types declare, in the schema, that they reference this one; not to be confused with a possible future effective/dynamic usage (which types actually have live instances referencing this one, sourced from the graph database rather than the schema -- tracked separately, under its own property name, once designed; not part of this class).Builds aTypeUsagefor aTypefrom aModelKnowledgeand attaches it to the type as an additional property (seeType.setAdditionalProperty(String, Object)) rather than as a new field on theTypehierarchy itself.Tracks, per type name, the list of recorded usage occurrences of a given kind — e.g. whichConsistsOf/IsRelatedTorelations a type participates in, or which types embed a given generic property type.