Portability | DeriveFunctor, DeriveFoldable, DeriveTraversable, FlexibleInstances, MultiParamTypeClasses |
---|---|
Stability | experimental |
Maintainer | Douglas Burke |
Safe Haskell | Safe-Infered |
This module defines a simple memory-based graph instance.
- data GraphMem lb = GraphMem {}
- setArcs :: LDGraph lg lb => [Arc lb] -> lg lb -> lg lb
- getArcs :: LDGraph lg lb => lg lb -> [Arc lb]
- add :: LDGraph lg lb => lg lb -> lg lb -> lg lb
- delete :: LDGraph lg lb => lg lb -> lg lb -> lg lb
- extract :: LDGraph lg lb => Selector lb -> lg lb -> lg lb
- labels :: LDGraph lg lb => lg lb -> [lb]
- data LabelMem
- labelIsVar :: Label lb => lb -> Bool
- labelHash :: Label lb => Int -> lb -> Int
- matchGraphMem :: Label lb => GraphMem lb -> GraphMem lb -> (Bool, LabelMap (ScopedLabel lb))
Documentation
Memory-based graph type
:: LDGraph lg lb | |
=> lg lb | g1 |
-> lg lb | g2 |
-> lg lb | g2 - g1 -> g3 |
Remove those arcs in the first graph from the second graph
extract :: LDGraph lg lb => Selector lb -> lg lb -> lg lbSource
Extract those arcs that match the given Selector
.
labels :: LDGraph lg lb => lg lb -> [lb]Source
Enumerate the distinct labels contained in a graph;
that is, any label that appears in the subject,
predicate or object position of an Arc
.
Minimal graph label value - for testing
labelIsVar :: Label lb => lb -> BoolSource
Does this node have a variable binding?
labelHash :: Label lb => Int -> lb -> IntSource
Calculate the hash of the label using the supplied seed.
:: Label lb | |
=> GraphMem lb | |
-> GraphMem lb | |
-> (Bool, LabelMap (ScopedLabel lb)) | if the first element is |
GraphMem matching function accepting GraphMem value and returning node map if successful