Class JsonBasicOrJoinView
- java.lang.Object
-
- it.unibz.inf.ontop.dbschema.impl.json.JsonOpenObject
-
- it.unibz.inf.ontop.dbschema.impl.json.JsonView
-
- it.unibz.inf.ontop.dbschema.impl.json.JsonBasicOrJoinView
-
- Direct Known Subclasses:
JsonBasicView,JsonJoinView
public abstract class JsonBasicOrJoinView extends JsonView
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected static classJsonBasicOrJoinView.AddColumnsprotected static classJsonBasicOrJoinView.Columnsprotected static classJsonBasicOrJoinView.ParentDefinition-
Nested classes/interfaces inherited from class it.unibz.inf.ontop.dbschema.impl.json.JsonView
JsonView.AddForeignKey, JsonView.AddFunctionalDependency, JsonView.AddUniqueConstraints, JsonView.ForeignKeyPart, JsonView.ForeignKeys, JsonView.JSONViewDeSerializer, JsonView.NonNullConstraints, JsonView.OtherFunctionalDependencies, JsonView.TemporaryViewPredicate, JsonView.UniqueConstraints
-
-
Field Summary
Fields Modifier and Type Field Description JsonBasicOrJoinView.ColumnscolumnsStringfilterExpressionprotected static org.slf4j.LoggerLOGGER-
Fields inherited from class it.unibz.inf.ontop.dbschema.impl.json.JsonView
foreignKeys, name, nonNullConstraints, otherFunctionalDependencies, uniqueConstraints
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedJsonBasicOrJoinView(List<String> name, JsonView.UniqueConstraints uniqueConstraints, JsonView.OtherFunctionalDependencies otherFunctionalDependencies, JsonView.ForeignKeys foreignKeys, JsonView.NonNullConstraints nonNullConstraints, JsonBasicOrJoinView.Columns columns, String filterExpression)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected AtomPredicatecreateTemporaryPredicate(RelationID relationId, int arity, CoreSingletons coreSingletons)OntopViewDefinitioncreateViewDefinition(DBParameters dbParameters, MetadataLookup parentCacheMetadataLookup)protected abstract it.unibz.inf.ontop.com.google.common.collect.ImmutableList<JsonBasicOrJoinView.ParentDefinition>extractParentDefinitions(DBParameters dbParameters, MetadataLookup parentCacheMetadataLookup)protected it.unibz.inf.ontop.com.google.common.collect.ImmutableList<it.unibz.inf.ontop.com.google.common.collect.ImmutableList<Attribute>>getDerivedFromParentAttributes(OntopViewDefinition ontopViewDefinition, it.unibz.inf.ontop.com.google.common.collect.ImmutableList<Attribute> parentAttributes)Parent attributes are expected to all come from the same parentprotected VariablegetVariable(String attributeName, QuotedIDFactory quotedIdFactory, TermFactory termFactory)protected Stream<JsonView.AddForeignKey>inferForeignKeys(OntopViewDefinition relation, it.unibz.inf.ontop.com.google.common.collect.ImmutableList<NamedRelationDefinition> baseRelations)TODO: add FKs towards the base relationsprotected Stream<JsonView.AddForeignKey>inferForeignKeysFromParent(OntopViewDefinition relation, NamedRelationDefinition baseRelation)protected it.unibz.inf.ontop.com.google.common.collect.ImmutableList<JsonView.AddUniqueConstraints>inferInheritedUniqueConstraints(OntopViewDefinition relation, it.unibz.inf.ontop.com.google.common.collect.ImmutableList<NamedRelationDefinition> baseRelations, it.unibz.inf.ontop.com.google.common.collect.ImmutableList<QuotedID> addedConstraintsColumns, QuotedIDFactory idFactory, CoreSingletons coreSingletons)Inferred from the treeprotected voidinsertForeignKey(NamedRelationDefinition relation, MetadataLookup lookup, JsonView.AddForeignKey addForeignKey)protected voidinsertForeignKeys(OntopViewDefinition relation, MetadataLookup lookup, List<JsonView.AddForeignKey> addForeignKeys, it.unibz.inf.ontop.com.google.common.collect.ImmutableList<NamedRelationDefinition> baseRelations)voidinsertIntegrityConstraints(OntopViewDefinition relation, it.unibz.inf.ontop.com.google.common.collect.ImmutableList<NamedRelationDefinition> baseRelations, MetadataLookup metadataLookupForFK, DBParameters dbParameters)-
Methods inherited from class it.unibz.inf.ontop.dbschema.impl.json.JsonView
createAttributeBuilder, getAttributesIncludingParentOnes
-
Methods inherited from class it.unibz.inf.ontop.dbschema.impl.json.JsonOpenObject
getAdditionalProperties, setAdditionalProperty
-
-
-
-
Field Detail
-
LOGGER
protected static final org.slf4j.Logger LOGGER
-
columns
@Nonnull public final JsonBasicOrJoinView.Columns columns
-
-
Constructor Detail
-
JsonBasicOrJoinView
protected JsonBasicOrJoinView(List<String> name, @Nullable JsonView.UniqueConstraints uniqueConstraints, @Nullable JsonView.OtherFunctionalDependencies otherFunctionalDependencies, @Nullable JsonView.ForeignKeys foreignKeys, @Nullable JsonView.NonNullConstraints nonNullConstraints, @Nonnull JsonBasicOrJoinView.Columns columns, @Nonnull String filterExpression)
-
-
Method Detail
-
createViewDefinition
public OntopViewDefinition createViewDefinition(DBParameters dbParameters, MetadataLookup parentCacheMetadataLookup) throws MetadataExtractionException
- Specified by:
createViewDefinitionin classJsonView- Throws:
MetadataExtractionException
-
insertIntegrityConstraints
public void insertIntegrityConstraints(OntopViewDefinition relation, it.unibz.inf.ontop.com.google.common.collect.ImmutableList<NamedRelationDefinition> baseRelations, MetadataLookup metadataLookupForFK, DBParameters dbParameters) throws MetadataExtractionException
- Specified by:
insertIntegrityConstraintsin classJsonView- Throws:
MetadataExtractionException
-
extractParentDefinitions
protected abstract it.unibz.inf.ontop.com.google.common.collect.ImmutableList<JsonBasicOrJoinView.ParentDefinition> extractParentDefinitions(DBParameters dbParameters, MetadataLookup parentCacheMetadataLookup) throws MetadataExtractionException
- Throws:
MetadataExtractionException
-
getVariable
protected Variable getVariable(String attributeName, QuotedIDFactory quotedIdFactory, TermFactory termFactory)
-
createTemporaryPredicate
protected AtomPredicate createTemporaryPredicate(RelationID relationId, int arity, CoreSingletons coreSingletons)
-
inferInheritedUniqueConstraints
protected it.unibz.inf.ontop.com.google.common.collect.ImmutableList<JsonView.AddUniqueConstraints> inferInheritedUniqueConstraints(OntopViewDefinition relation, it.unibz.inf.ontop.com.google.common.collect.ImmutableList<NamedRelationDefinition> baseRelations, it.unibz.inf.ontop.com.google.common.collect.ImmutableList<QuotedID> addedConstraintsColumns, QuotedIDFactory idFactory, CoreSingletons coreSingletons)
Inferred from the tree
-
insertForeignKeys
protected void insertForeignKeys(OntopViewDefinition relation, MetadataLookup lookup, List<JsonView.AddForeignKey> addForeignKeys, it.unibz.inf.ontop.com.google.common.collect.ImmutableList<NamedRelationDefinition> baseRelations) throws MetadataExtractionException
- Throws:
MetadataExtractionException
-
inferForeignKeys
protected Stream<JsonView.AddForeignKey> inferForeignKeys(OntopViewDefinition relation, it.unibz.inf.ontop.com.google.common.collect.ImmutableList<NamedRelationDefinition> baseRelations)
TODO: add FKs towards the base relations
-
inferForeignKeysFromParent
protected Stream<JsonView.AddForeignKey> inferForeignKeysFromParent(OntopViewDefinition relation, NamedRelationDefinition baseRelation)
-
insertForeignKey
protected void insertForeignKey(NamedRelationDefinition relation, MetadataLookup lookup, JsonView.AddForeignKey addForeignKey) throws MetadataExtractionException
- Throws:
MetadataExtractionException
-
getDerivedFromParentAttributes
protected it.unibz.inf.ontop.com.google.common.collect.ImmutableList<it.unibz.inf.ontop.com.google.common.collect.ImmutableList<Attribute>> getDerivedFromParentAttributes(OntopViewDefinition ontopViewDefinition, it.unibz.inf.ontop.com.google.common.collect.ImmutableList<Attribute> parentAttributes)
Parent attributes are expected to all come from the same parent
-
-