@Override boolean equalsCurrentBaseType(Concept other) { return other.isType(); }
@Override boolean isSelf(Concept concept) { return concept.isType(); }
@Override Label transform(MatchableConcept item) { Concept concept = item.get(); return concept.isType() ? concept.asType().label() : null; } };
@Override public Collection<PropertyExecutor> define(Var var) throws GraqlQueryException { PropertyExecutor.Method method = executor -> { Concept concept = executor.get(var); if (concept.isType()) { concept.asType().isAbstract(true); } else { throw GraqlQueryException.insertAbstractOnNonType(concept.asSchemaConcept()); } }; return ImmutableSet.of(PropertyExecutor.builder(method).requires(var).build()); }
@Override public String toString() { if (concept.isAttribute()) { return "hasValue(" + valueToString(concept.asAttribute().value()) + ")"; } else if (concept.isThing()) { Thing thing = concept.asThing(); Stream<Attribute<?>> resources = thing.attributes(); Optional<?> value = resources .filter(resource -> NAME_TYPES.contains(resource.type().label())) .map(Attribute::value).findFirst(); return "instance(" + value.map(StringUtil::valueToString).orElse("") + ") isa " + thing.type().label(); } else if (concept.isType()) { return "type(" + concept.asType().label() + ")"; } else if (concept.isRole()) { return "role(" + concept.asRole().label() + ")"; } else if (concept.isRule()) { return "rule(" + concept.asRule().label() + ")"; } else { throw CommonUtil.unreachableStatement("Unrecognised concept " + concept); } }
public static GrpcConcept.BaseType getBaseType(Concept concept) { if (concept.isEntityType()) { return GrpcConcept.BaseType.EntityType; } else if (concept.isRelationshipType()) { return GrpcConcept.BaseType.RelationshipType; } else if (concept.isAttributeType()) { return GrpcConcept.BaseType.AttributeType; } else if (concept.isEntity()) { return GrpcConcept.BaseType.Entity; } else if (concept.isRelationship()) { return GrpcConcept.BaseType.Relationship; } else if (concept.isAttribute()) { return GrpcConcept.BaseType.Attribute; } else if (concept.isRole()) { return GrpcConcept.BaseType.Role; } else if (concept.isRule()) { return GrpcConcept.BaseType.Rule; } else if (concept.isType()) { return GrpcConcept.BaseType.MetaType; } else { throw CommonUtil.unreachableStatement("Unrecognised concept " + concept); } }
private static ConceptProto.Concept.BASE_TYPE getBaseType(ai.grakn.concept.Concept concept) { if (concept.isEntityType()) { return ConceptProto.Concept.BASE_TYPE.ENTITY_TYPE; } else if (concept.isRelationshipType()) { return ConceptProto.Concept.BASE_TYPE.RELATION_TYPE; } else if (concept.isAttributeType()) { return ConceptProto.Concept.BASE_TYPE.ATTRIBUTE_TYPE; } else if (concept.isEntity()) { return ConceptProto.Concept.BASE_TYPE.ENTITY; } else if (concept.isRelationship()) { return ConceptProto.Concept.BASE_TYPE.RELATION; } else if (concept.isAttribute()) { return ConceptProto.Concept.BASE_TYPE.ATTRIBUTE; } else if (concept.isRole()) { return ConceptProto.Concept.BASE_TYPE.ROLE; } else if (concept.isRule()) { return ConceptProto.Concept.BASE_TYPE.RULE; } else if (concept.isType()) { return ConceptProto.Concept.BASE_TYPE.META_TYPE; } else { throw CommonUtil.unreachableStatement("Unrecognised concept " + concept); } }