All Downloads are FREE. Search and download functionalities are using the official Maven repository.

nt-java.1.4.3.source-code.Concept.proto Maven / Gradle / Ivy

The newest version!
syntax = "proto3";

option java_package = "ai.grakn.rpc.proto";
option java_outer_classname = "ConceptProto";

package session;

message Method {
    message Req {
        oneof req {
            // Concept method requests
            Concept.Delete.Req concept_delete_req = 100;

            // SchemaConcept method requests
            SchemaConcept.IsImplicit.Req schemaConcept_isImplicit_req = 200;
            SchemaConcept.GetLabel.Req schemaConcept_getLabel_req = 201;
            SchemaConcept.SetLabel.Req schemaConcept_setLabel_req = 202;
            SchemaConcept.GetSup.Req schemaConcept_getSup_req = 203;
            SchemaConcept.SetSup.Req schemaConcept_setSup_req = 204;
            SchemaConcept.Sups.Req schemaConcept_sups_req = 205;
            SchemaConcept.Subs.Req schemaConcept_subs_req = 206;

            // Rule method requests
            Rule.When.Req rule_when_req = 300;
            Rule.Then.Req rule_then_req = 301;

            // Role method requests
            Role.Relations.Req role_relations_req = 401;
            Role.Players.Req role_players_req = 402;

            // Type method requests
            Type.IsAbstract.Req type_isAbstract_req = 500;
            Type.SetAbstract.Req type_setAbstract_req = 501;
            Type.Instances.Req type_instances_req = 502;
            Type.Keys.Req type_keys_req = 503;
            Type.Attributes.Req type_attributes_req = 504;
            Type.Playing.Req type_playing_req = 505;
            Type.Has.Req type_has_req = 506;
            Type.Key.Req type_key_req = 507;
            Type.Plays.Req type_plays_req = 508;
            Type.Unhas.Req type_unhas_req = 509;
            Type.Unkey.Req type_unkey_req = 510;
            Type.Unplay.Req type_unplay_req = 511;

            // EntityType method requests
            EntityType.Create.Req entityType_create_req = 600;

            // RelationType method requests
            RelationType.Create.Req relationType_create_req = 700;
            RelationType.Roles.Req relationType_roles_req = 701;
            RelationType.Relates.Req relationType_relates_req = 702;
            RelationType.Unrelate.Req relationType_unrelate_req = 703;

            // AttributeType method requests
            AttributeType.Create.Req attributeType_create_req = 800;
            AttributeType.Attribute.Req attributeType_attribute_req = 801;
            AttributeType.DataType.Req attributeType_dataType_req = 802;
            AttributeType.GetRegex.Req attributeType_getRegex_req = 803;
            AttributeType.SetRegex.Req attributeType_setRegex_req = 804;

            // Thing method requests
            Thing.Type.Req thing_type_req = 900;
            Thing.IsInferred.Req thing_isInferred_req = 901;
            Thing.Keys.Req thing_keys_req = 902;
            Thing.Attributes.Req thing_attributes_req = 903;
            Thing.Relations.Req thing_relations_req = 904;
            Thing.Roles.Req thing_roles_req = 905;
            Thing.Relhas.Req thing_relhas_req = 906;
            Thing.Unhas.Req thing_unhas_req = 907;

            // Relation method requests
            Relation.RolePlayersMap.Req relation_rolePlayersMap_req = 1000;
            Relation.RolePlayers.Req relation_rolePlayers_req = 1001;
            Relation.Assign.Req relation_assign_req = 1002;
            Relation.Unassign.Req relation_unassign_req = 1003;

            // Attribute method requests
            Attribute.Value.Req attribute_value_req = 1100;
            Attribute.Owners.Req attribute_owners_req = 1101;
        }
    }
    message Res {
        oneof res {
            // Concept method responses
            Concept.Delete.Res concept_delete_res = 100;

            // SchemaConcept method responses
            SchemaConcept.IsImplicit.Res schemaConcept_isImplicit_res = 200;
            SchemaConcept.GetLabel.Res schemaConcept_getLabel_res = 201;
            SchemaConcept.SetLabel.Res schemaConcept_setLabel_res = 202;
            SchemaConcept.GetSup.Res schemaConcept_getSup_res = 203;
            SchemaConcept.SetSup.Res schemaConcept_setSup_res = 204;
            SchemaConcept.Sups.Iter schemaConcept_sups_iter = 205;
            SchemaConcept.Subs.Iter schemaConcept_subs_iter = 206;

            // Rule method responses
            Rule.When.Res rule_when_res = 300;
            Rule.Then.Res rule_then_res = 301;

            // Role method responses
            Role.Relations.Iter role_relations_iter = 401;
            Role.Players.Iter role_players_iter = 402;

            // Type method responses
            Type.IsAbstract.Res type_isAbstract_res = 500;
            Type.SetAbstract.Res type_setAbstract_res = 501;
            Type.Instances.Iter type_instances_iter = 502;
            Type.Keys.Iter type_keys_iter = 503;
            Type.Attributes.Iter type_attributes_iter = 504;
            Type.Playing.Iter type_playing_iter = 505;
            Type.Has.Res type_has_res = 506;
            Type.Key.Res type_key_res = 507;
            Type.Plays.Res type_plays_res = 508;
            Type.Unhas.Res type_unhas_res = 509;
            Type.Unkey.Res type_unkey_res = 510;
            Type.Unplay.Res type_unplay_res = 511;

            // EntityType method responses
            EntityType.Create.Res entityType_create_res = 600;

            // RelationType method responses
            RelationType.Create.Res relationType_create_res = 700;
            RelationType.Roles.Iter relationType_roles_iter = 701;
            RelationType.Relates.Res relationType_relates_res = 702;
            RelationType.Unrelate.Res relationType_unrelate_res = 703;

            // AttributeType method responses
            AttributeType.Create.Res attributeType_create_res = 800;
            AttributeType.Attribute.Res attributeType_attribute_res = 801;
            AttributeType.DataType.Res attributeType_dataType_res = 802;
            AttributeType.GetRegex.Res attributeType_getRegex_res = 803;
            AttributeType.SetRegex.Res attributeType_setRegex_res = 804;

            // Thing method responses
            Thing.Type.Res thing_type_res = 900;
            Thing.IsInferred.Res thing_isInferred_res = 901;
            Thing.Keys.Iter thing_keys_iter = 902;
            Thing.Attributes.Iter thing_attributes_iter = 903;
            Thing.Relations.Iter thing_relations_iter = 904;
            Thing.Roles.Iter thing_roles_iter = 905;
            Thing.Relhas.Res thing_relhas_res = 906;
            Thing.Unhas.Res thing_unhas_res = 907;

            // Relation method responses
            Relation.RolePlayersMap.Iter relation_rolePlayersMap_iter = 1000;
            Relation.RolePlayers.Iter relation_rolePlayers_iter = 1001;
            Relation.Assign.Res relation_assign_res = 1002;
            Relation.Unassign.Res relation_unassign_res = 1003;

            // Attribute method responses
            Attribute.Value.Res attribute_value_res = 1100;
            Attribute.Owners.Iter attribute_owners_iter = 1101;
        }
    }

    message Iter {
        message Res {
            // SchemaConcept iterator responses
            SchemaConcept.Sups.Iter.Res schemaConcept_sups_iter_res = 205;
            SchemaConcept.Subs.Iter.Res schemaConcept_subs_iter_res = 206;

            // Role iterator responses
            Role.Relations.Iter.Res role_relations_iter_res = 401;
            Role.Players.Iter.Res role_players_iter_res = 402;

            // Type iterator responses
            Type.Instances.Iter.Res type_instances_iter_res = 502;
            Type.Keys.Iter.Res type_keys_iter_res = 503;
            Type.Attributes.Iter.Res type_attributes_iter_res = 504;
            Type.Playing.Iter.Res type_playing_iter_res = 505;

            // RelationType iterator responses
            RelationType.Roles.Iter.Res relationType_roles_iter_res = 701;

            // Thing iterator responses
            Thing.Keys.Iter.Res thing_keys_iter_res = 902;
            Thing.Attributes.Iter.Res thing_attributes_iter_res = 903;
            Thing.Relations.Iter.Res thing_relations_iter_res = 904;
            Thing.Roles.Iter.Res thing_roles_iter_res = 905;

            // Relation iterator responses
            Relation.RolePlayersMap.Iter.Res relation_rolePlayersMap_iter_res = 1000;
            Relation.RolePlayers.Iter.Res relation_rolePlayers_iter_res = 1001;

            // Attribute iterator responses
            Attribute.Owners.Iter.Res attribute_owners_iter_res = 1101;
        }
    }
}

message Null {}

// Concept methods

message Concept {
    string id = 1;
    BASE_TYPE baseType = 2;

    enum BASE_TYPE {
        META_TYPE = 0;
        ENTITY_TYPE = 1;
        RELATION_TYPE = 2;
        ATTRIBUTE_TYPE = 3;
        ROLE = 4;
        RULE = 5;
        ENTITY = 6;
        RELATION = 7;
        ATTRIBUTE = 8;
    }

    message Delete {
        message Req {}
        message Res {}
    }
}

// SchemaConcept methods

message SchemaConcept {

    message GetLabel {
        message Req {}
        message Res {
            string label = 1;
        }
    }

    message SetLabel {
        message Req {
            string label = 1;
        }
        message Res {}
    }

    message IsImplicit {
        message Req{}
        message Res{
            bool implicit = 1;
        }
    }

    message GetSup {
        message Req {}
        message Res {
            oneof res {
                Concept schemaConcept = 1;
                Null null = 2;
            }
        }
    }

    message SetSup {
        message Req {
            Concept schemaConcept = 1;
        }
        message Res {}
    }
    
    message Sups {
        message Req {}
        message Iter {
            int32 id = 1;
            message Res {
                Concept schemaConcept = 1;
            }
        }
    }
    
    message Subs {
        message Req {}
        message Iter {
            int32 id = 1;
            message Res {
                Concept schemaConcept = 1;
            }
        }
    }
}


// Rule methods

message Rule {

    message When {
        message Req {}
        message Res {
            oneof res {
                string pattern = 1;
                Null null = 2;
            }
        }
    }

    message Then {
        message Req {}
        message Res {
            oneof res {
                string pattern = 1;
                Null null = 2;
            }
        }
    }
}


// Role methods

message Role {

    message Relations {
        message Req {}
        message Iter {
            int32 id = 1;
            message Res {
                Concept relationType = 1;
            }
        }
    }

    message Players {
        message Req {}
        message Iter {
            int32 id = 1;
            message Res {
                Concept type = 1;
            }
        }
    }
}


// Type methods

message Type {

    message IsAbstract {
        message Req {}
        message Res {
            bool abstract = 1;
        }
    }

    message SetAbstract {
        message Req {
            bool abstract = 1;
        }
        message Res {}
    }

    message Instances {
        message Req {}
        message Iter {
            int32 id = 1;
            message Res {
                Concept thing = 1;
            }
        }
    }

    message Attributes {
        message Req {}
        message Iter {
            int32 id = 1;
            message Res {
                Concept attributeType = 1;
            }
        }
    }

    message Keys {
        message Req {}
        message Iter {
            int32 id = 1;
            message Res {
                Concept attributeType = 1;
            }
        }
    }

    message Playing {
        message Req {}
        message Iter {
            int32 id = 1;
            message Res {
                Concept role = 1;
            }
        }
    }

    message Key {
        message Req {
            Concept attributeType = 1;
        }
        message Res {}
    }

    message Has {
        message Req {
            Concept attributeType = 1;
        }
        message Res {}
    }

    message Plays {
        message Req {
            Concept role = 1;
        }
        message Res {}
    }

    message Unkey {
        message Req {
            Concept attributeType = 1;
        }
        message Res {}
    }

    message Unhas {
        message Req {
            Concept attributeType = 1;
        }
        message Res {}
    }

    message Unplay {
        message Req {
            Concept role = 1;
        }
        message Res {}
    }
}


// EntityType methods

message EntityType {

    message Create {
        message Req {}
        message Res {
            Concept entity = 1;
        }
    }
}


// RelationType methods

message RelationType {

    message Create {
        message Req {}
        message Res {
            Concept relation = 1;
        }
    }

    message Roles {
        message Req {}
        message Iter {
            int32 id = 1;
            message Res {
                Concept role = 1;
            }
        }
    }

    message Relates {
        message Req {
            Concept role = 1;
        }
        message Res {}
    }

    message Unrelate {
        message Req {
            Concept role = 1;
        }
        message Res {}
    }
}


// AttributeType methods

message AttributeType {

    enum DATA_TYPE {
        STRING = 0;
        BOOLEAN = 1;
        INTEGER = 2;
        LONG = 3;
        FLOAT = 4;
        DOUBLE = 5;
        DATE = 6;
    }

    message Create {
        message Req {
            ValueObject value = 1;
        }
        message Res {
            Concept attribute = 1;
        }
    }

    message Attribute {
        message Req {
            ValueObject value = 1;
        }
        message Res {
            oneof res {
                Concept attribute = 1;
                Null null = 2;
            }
        }
    }

    message DataType {
        message Req {}
        message Res {
            oneof res {
                DATA_TYPE dataType = 1;
                Null null = 2;
            }
        }
    }

    message GetRegex {
        message Req {}
        message Res {
            string regex = 1;
        }
    }

    message SetRegex {
        message Req {
            string regex = 1;
        }
        message Res {}
    }
}


// Thing methods

message Thing {

    message IsInferred {
        message Req {}
        message Res {
            bool inferred = 1;
        }
    }

    message Type {
        message Req {}
        message Res {
            Concept type = 1;
        }
    }

    message Keys {
        message Req {
            repeated Concept attributeTypes = 1;
        }
        message Iter {
            int32 id = 1;
            message Res {
                Concept attribute = 1;
            }
        }
    }

    message Attributes {
        message Req {
            repeated Concept attributeTypes = 1;
        }
        message Iter {
            int32 id = 1;
            message Res {
                Concept attribute = 1;
            }
        }
    }

    message Relations {
        message Req {
            repeated Concept roles = 1;
        }
        message Iter {
            int32 id = 1;
            message Res {
                Concept relation = 1;
            }
        }
    }

    message Roles {
        message Req {}
        message Iter {
            int32 id = 1;
            message Res {
                Concept role = 1;
            }
        }
    }

    message Relhas {
        message Req {
            Concept attribute = 1;
        }
        message Res {
            Concept relation = 1;
        }
    }

    message Unhas {
        message Req {
            Concept attribute = 1;
        }
        message Res {}
    }
}


// Relation methods

message Relation {

    message RolePlayersMap {
        message Req {}
        message Iter {
            int32 id = 1;
            message Res {
                Concept role = 1;
                Concept player = 2;
            }
        }
    }

    message RolePlayers {
        message Req {
            repeated Concept roles = 1;
        }
        message Iter {
            int32 id = 1;
            message Res {
                Concept thing = 1;
            }
        }
    }

    message Assign {
        message Req {
            Concept role = 1;
            Concept player = 2;
        }
        message Res {}
    }

    message Unassign {
        message Req {
            Concept role = 1;
            Concept player = 2;
        }
        message Res {}
    }
}

// Attribute methods

message Attribute {

    message Value {
        message Req {}
        message Res {
            ValueObject value = 1;
        }
    }

    message Owners {
        message Req {}
        message Iter {
            int32 id = 1;
            message Res {
                Concept thing = 1;
            }
        }
    }
}

// Attribute Value object

message ValueObject {
    oneof value {
        string string = 1;
        bool boolean = 2;
        int32 integer = 3;
        int64 long = 4;
        float float = 5;
        double double = 6;
        int64 date = 7; // time since epoch in milliseconds
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy