@Override final boolean equalsCurrentBaseType(Concept other) { return other.isRule(); } }
@Override final boolean isSelf(Concept concept) { return concept.isRule(); } }
@Override Label transform(MatchableConcept item) { Concept concept = item.get(); return concept.isRule() ? concept.asRule().label() : null; } };
/** * * @param concept The element to be later validated */ public void trackForValidation(Concept concept) { if (concept.isThing()) { modifiedThings.add(concept.asThing()); } else if (concept.isRole()) { modifiedRoles.add(concept.asRole()); } else if (concept.isRelationshipType()) { modifiedRelationshipTypes.add(concept.asRelationshipType()); } else if (concept.isRule()){ modifiedRules.add(concept.asRule()); } } public void trackForValidation(Casting casting) {
if (concept.isRule()) { output.append(colorKeyword(" when ")).append("{ ").append(concept.asRule().when()).append(" }"); output.append(colorKeyword(" then ")).append("{ ").append(concept.asRule().then()).append(" }");
@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); } }
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); } }
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); } }
@Override protected Json concept(Concept concept) { Json json = Json.object("id", concept.id().getValue()); if (concept.isSchemaConcept()) { json.set("name", concept.asSchemaConcept().label().getValue()); SchemaConcept superConcept = concept.asSchemaConcept().sup(); if (superConcept != null) json.set("sub", superConcept.label().getValue()); } else if (concept.isThing()) { json.set("isa", concept.asThing().type().label().getValue()); } else { throw CommonUtil.unreachableStatement("Unrecognised concept " + concept); } if (concept.isAttribute()) { json.set("value", concept.asAttribute().value()); } if (concept.isRule()) { Pattern when = concept.asRule().when(); if (when != null) { json.set("when", when.toString()); } Pattern then = concept.asRule().then(); if (then != null) { json.set("then", then.toString()); } } return json; }