| 203 | } |
| 204 | |
| 205 | fn entity_insertion(input: &str) -> IResult<&str, EntityInsertion> { |
| 206 | map( |
| 207 | tuple(( |
| 208 | ws(char('$')), |
| 209 | ws(identifier), |
| 210 | ws(tag("isa")), |
| 211 | ws(identifier), |
| 212 | delimited( |
| 213 | ws(char('(')), |
| 214 | separated_list1(ws(char(',')), attribute_value), |
| 215 | ws(char(')')), |
| 216 | ), |
| 217 | ws(char(';')), |
| 218 | )), |
| 219 | |(_, variable, _, entity_type, attributes, _)| EntityInsertion { |
| 220 | variable: variable.to_string(), |
| 221 | entity_type: entity_type.to_string(), |
| 222 | attributes, |
| 223 | }, |
| 224 | )(input) |
| 225 | } |
| 226 | |
| 227 | #[derive(Debug, Clone)] |
| 228 | struct RoleAssignment { |