forgot label for edges
This commit is contained in:
@ -114,6 +114,7 @@ pub enum QualifierSystem {
|
||||
pub enum QualifierEdge {
|
||||
Source,
|
||||
Target,
|
||||
Label,
|
||||
}
|
||||
|
||||
#[derive(Clone, Copy, Serialize, Deserialize, Hash)]
|
||||
@ -304,8 +305,12 @@ impl Unary {
|
||||
) => Ok(AssertionTypes::Set),
|
||||
| (Self::ToEl, AssertionTypes::String) =>
|
||||
Ok(AssertionTypes::Element),
|
||||
| (Self::Qualifier(Qualifier::Edge(_)), AssertionTypes::Edge) =>
|
||||
| (Self::Qualifier(Qualifier::Edge(QualifierEdge::Source)), AssertionTypes::Edge) =>
|
||||
Ok(AssertionTypes::Node),
|
||||
| (Self::Qualifier(Qualifier::Edge(QualifierEdge::Target)), AssertionTypes::Edge) =>
|
||||
Ok(AssertionTypes::Node),
|
||||
| (Self::Qualifier(Qualifier::Edge(QualifierEdge::Label)), AssertionTypes::Edge) =>
|
||||
Ok(AssertionTypes::Label),
|
||||
| (
|
||||
Self::Qualifier(Qualifier::Node(QualifierNode::Neighbours)),
|
||||
AssertionTypes::Node,
|
||||
@ -839,6 +844,12 @@ impl AssertReturnValue {
|
||||
) => Ok(AssertReturnValue::Node(
|
||||
graph.edge_endpoints(edge).unwrap().1,
|
||||
)),
|
||||
| (
|
||||
AssertReturnValue::Edge(edge),
|
||||
Unary::Qualifier(Qualifier::Edge(QualifierEdge::Label)),
|
||||
) => Ok(AssertReturnValue::Label(
|
||||
graph[edge].clone()
|
||||
)),
|
||||
| (
|
||||
AssertReturnValue::Node(node),
|
||||
Unary::Qualifier(Qualifier::Node(QualifierNode::Neighbours)),
|
||||
|
||||
@ -181,6 +181,7 @@ impl fmt::Debug for QualifierEdge {
|
||||
match self {
|
||||
| Self::Source => write!(f, "source"),
|
||||
| Self::Target => write!(f, "target"),
|
||||
| Self::Label => write!(f, "label"),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -130,6 +130,7 @@ pub enum QualifierSystem {
|
||||
pub enum QualifierEdge {
|
||||
Source,
|
||||
Target,
|
||||
Label,
|
||||
}
|
||||
|
||||
#[derive(Clone, Copy, Serialize, Deserialize, Hash)]
|
||||
@ -334,9 +335,17 @@ impl PositiveUnary {
|
||||
| (Self::ToEl, PositiveAssertionTypes::String) =>
|
||||
Ok(PositiveAssertionTypes::PositiveElement),
|
||||
| (
|
||||
Self::Qualifier(PositiveQualifier::Edge(_)),
|
||||
Self::Qualifier(PositiveQualifier::Edge(QualifierEdge::Source)),
|
||||
PositiveAssertionTypes::Edge,
|
||||
) => Ok(PositiveAssertionTypes::Node),
|
||||
| (
|
||||
Self::Qualifier(PositiveQualifier::Edge(QualifierEdge::Target)),
|
||||
PositiveAssertionTypes::Edge,
|
||||
) => Ok(PositiveAssertionTypes::Node),
|
||||
| (
|
||||
Self::Qualifier(PositiveQualifier::Edge(QualifierEdge::Label)),
|
||||
PositiveAssertionTypes::Edge,
|
||||
) => Ok(PositiveAssertionTypes::Label),
|
||||
| (
|
||||
Self::Qualifier(PositiveQualifier::Node(
|
||||
QualifierNode::Neighbours,
|
||||
@ -999,6 +1008,14 @@ impl PositiveAssertReturnValue {
|
||||
) => Ok(PositiveAssertReturnValue::Node(
|
||||
graph.edge_endpoints(edge).unwrap().1,
|
||||
)),
|
||||
| (
|
||||
PositiveAssertReturnValue::Edge(edge),
|
||||
PositiveUnary::Qualifier(PositiveQualifier::Edge(
|
||||
QualifierEdge::Label,
|
||||
)),
|
||||
) => Ok(PositiveAssertReturnValue::Label(
|
||||
graph[edge].clone(),
|
||||
)),
|
||||
| (
|
||||
PositiveAssertReturnValue::Node(node),
|
||||
PositiveUnary::Qualifier(PositiveQualifier::Node(
|
||||
|
||||
@ -181,6 +181,7 @@ impl fmt::Debug for QualifierEdge {
|
||||
match self {
|
||||
| Self::Source => write!(f, "source"),
|
||||
| Self::Target => write!(f, "target"),
|
||||
| Self::Label => write!(f, "label"),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user