| Safe Haskell | Safe-Inferred |
|---|---|
| Language | Haskell2010 |
Pattern.Graph.GraphClassifier
Description
GraphClassifier defines the shared vocabulary for categorizing pattern structures.
Synopsis
- data GraphClass extra
- = GNode
- | GRelationship
- | GAnnotation
- | GWalk
- | GOther extra
- data GraphClassifier extra v = GraphClassifier {
- classify :: Pattern v -> GraphClass extra
- classifyByShape :: GraphValue v => Pattern v -> GraphClass ()
- canonicalClassifier :: GraphValue v => GraphClassifier () v
- class Ord (Id v) => GraphValue v where
Documentation
data GraphClass extra Source #
Represents the five structural categories of graph elements.
GOther allows open extension.
Constructors
| GNode | |
| GRelationship | |
| GAnnotation | |
| GWalk | |
| GOther extra |
Instances
data GraphClassifier extra v Source #
Pluggable record of functions defining the categorization logic.
Constructors
| GraphClassifier | |
Fields
| |
classifyByShape :: GraphValue v => Pattern v -> GraphClass () Source #
Default classification logic based on the shape/arity of the pattern. Falls back to 'GOther ()' for patterns that don't match standard graph structures.
canonicalClassifier :: GraphValue v => GraphClassifier () v Source #
The standard classifier used for canonical graph construction.
class Ord (Id v) => GraphValue v where Source #
Typeclass providing identity and classification for the value type v.
Used to classify patterns as NodeAnnotationRelationshipWalkUnrecognized.