@Override final Entity asSelf(Concept concept) { return concept.asEntity(); } }
@Override protected final Entity asInstance(Concept concept) { return concept.asEntity(); } }
@Override final Entity asCurrentBaseType(Concept other) { return other.asEntity(); } }
@Override protected final Entity asInstance(Concept concept) { return concept.asEntity(); } }
private Stream<IsaAtom> inferEntityTypes(ConceptMap sub) { Set<Var> typedVars = getAtoms(IsaAtomBase.class).map(AtomicBase::getVarName).collect(Collectors.toSet()); return Stream.concat( getAtoms(IdPredicate.class), sub.toPredicates(this).stream().map(IdPredicate.class::cast) ) .filter(p -> !typedVars.contains(p.getVarName())) .map(p -> new Pair<>(p, tx().<Concept>getConcept(p.getPredicate()))) .filter(p -> Objects.nonNull(p.getValue())) .filter(p -> p.getValue().isEntity()) .map(p -> IsaAtom.create(p.getKey().getVarName(), var(), p.getValue().asEntity().type(), false,this)); }
private void attachAttribute(Concept owner, Attribute attribute){ if (owner.isEntity()){ EntityImpl.from(owner.asEntity()).attributeInferred(attribute); } else if (owner.isRelationship()){ RelationshipImpl.from(owner.asRelationship()).attributeInferred(attribute); } else if (owner.isAttribute()){ AttributeImpl.from(owner.asAttribute()).attributeInferred(attribute); } }
static Pattern toPattern(Concept concept) { if (!concept.isThing()){ throw GraqlQueryException.conceptNotAThing(concept); } if (concept.isEntity()) { return new EntityConverter().pattern(concept.asEntity()); } else if (concept.isRelationship()) { return new RelationshipConverter().pattern(concept.asRelationship()); } else if (concept.isAttribute()) { return new AttributeConverter().pattern(concept.asAttribute()); } else { throw CommonUtil.unreachableStatement("Unrecognised concept " + concept); } }