T
TypeDB6mo ago
krishnan

Can you send over the schema that

Can you send over the schema that includes name too?
3 Replies
actuallyepic
actuallyepic6mo ago
define
attribute id, value string;
attribute data, value string;
attribute tag value string @values("DO_NOT_DELETE");

entity Function @abstract, owns id @key;
entity LogicFunction sub Function;
entity TestCaseFunction sub Function;
entity UIFunction sub Function;
entity FunctionExecution owns id @key, owns data;
entity Tag, owns tag;

attribute name, value string;
attribute code, value string;

entity Name @abstract, owns name @key;
entity FunctionName sub Name;
entity Code @abstract, owns code @key;
entity FunctionCode sub Code;

relation function_has_tag, relates function @card(1), relates tag @card(1);
Function plays function_has_tag:function @card(0..);
Tag plays function_has_tag:tag @card(0..);

relation depends_on @abstract, relates root @card(1) @abstract, relates to @card(1) @abstract;

relation implements sub depends_on, relates function as root, relates dependency as to;
LogicFunction plays implements:function;
LogicFunction plays implements:dependency;

relation test_case sub depends_on, relates function as root, relates test as to;
LogicFunction plays test_case:function;
TestCaseFunction plays test_case:test;

relation function_has_name, relates function @card(1), relates name @card(1);
Function plays function_has_name:function @card(1);
FunctionName plays function_has_name:name @card(1);

relation function_has_code, relates function @card(1), relates code @card(1);
Function plays function_has_code:function @card(1);
FunctionCode plays function_has_code:code @card(1..);

relation function_has_execution, relates function @card(1), relates execution @card(1);
Function plays function_has_execution:function @card(0..);
FunctionExecution plays function_has_execution:execution @card(1);

relation executed_by, relates execution @card(1), relates executed_by @card(1);
FunctionExecution plays executed_by:execution @card(0..1);
FunctionExecution plays executed_by:executed_by @card(0..1);
define
attribute id, value string;
attribute data, value string;
attribute tag value string @values("DO_NOT_DELETE");

entity Function @abstract, owns id @key;
entity LogicFunction sub Function;
entity TestCaseFunction sub Function;
entity UIFunction sub Function;
entity FunctionExecution owns id @key, owns data;
entity Tag, owns tag;

attribute name, value string;
attribute code, value string;

entity Name @abstract, owns name @key;
entity FunctionName sub Name;
entity Code @abstract, owns code @key;
entity FunctionCode sub Code;

relation function_has_tag, relates function @card(1), relates tag @card(1);
Function plays function_has_tag:function @card(0..);
Tag plays function_has_tag:tag @card(0..);

relation depends_on @abstract, relates root @card(1) @abstract, relates to @card(1) @abstract;

relation implements sub depends_on, relates function as root, relates dependency as to;
LogicFunction plays implements:function;
LogicFunction plays implements:dependency;

relation test_case sub depends_on, relates function as root, relates test as to;
LogicFunction plays test_case:function;
TestCaseFunction plays test_case:test;

relation function_has_name, relates function @card(1), relates name @card(1);
Function plays function_has_name:function @card(1);
FunctionName plays function_has_name:name @card(1);

relation function_has_code, relates function @card(1), relates code @card(1);
Function plays function_has_code:function @card(1);
FunctionCode plays function_has_code:code @card(1..);

relation function_has_execution, relates function @card(1), relates execution @card(1);
Function plays function_has_execution:function @card(0..);
FunctionExecution plays function_has_execution:execution @card(1);

relation executed_by, relates execution @card(1), relates executed_by @card(1);
FunctionExecution plays executed_by:execution @card(0..1);
FunctionExecution plays executed_by:executed_by @card(0..1);
krishnan
krishnanOP6mo ago
I don't actually get this error with thisschema , and the query I suggested:
match
$func isa Function;
(function: $func, name: $name) isa function_has_name;
$name has name $str_name;
let $str_name_as_raw = $str_name;
insert
$func has id == $str_name_as_raw;
match
$func isa Function;
(function: $func, name: $name) isa function_has_name;
$name has name $str_name;
let $str_name_as_raw = $str_name;
insert
$func has id == $str_name_as_raw;
actuallyepic
actuallyepic6mo ago
I spin up an empty db and managed to get it working as well. Sorry! Not sure what schema stuff was going on with the original db.

Did you find this page helpful?