-- | A simple TinkerPop version 3 syntax model

module Hydra.Ext.Tinkerpop.V3 where

import qualified Hydra.Core as Core
import Data.List
import Data.Map
import Data.Set

-- | An edge
data Edge v e p = 
  Edge {
    forall v e p. Edge v e p -> EdgeLabel
edgeLabel :: EdgeLabel,
    forall v e p. Edge v e p -> e
edgeId :: e,
    forall v e p. Edge v e p -> v
edgeOut :: v,
    forall v e p. Edge v e p -> v
edgeIn :: v,
    forall v e p. Edge v e p -> Map PropertyKey p
edgeProperties :: (Map PropertyKey p)}
  deriving (Edge v e p -> Edge v e p -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
forall v e p.
(Eq e, Eq v, Eq p) =>
Edge v e p -> Edge v e p -> Bool
/= :: Edge v e p -> Edge v e p -> Bool
$c/= :: forall v e p.
(Eq e, Eq v, Eq p) =>
Edge v e p -> Edge v e p -> Bool
== :: Edge v e p -> Edge v e p -> Bool
$c== :: forall v e p.
(Eq e, Eq v, Eq p) =>
Edge v e p -> Edge v e p -> Bool
Eq, Edge v e p -> Edge v e p -> Bool
Edge v e p -> Edge v e p -> Ordering
forall a.
Eq a
-> (a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
forall {v} {e} {p}. (Ord e, Ord v, Ord p) => Eq (Edge v e p)
forall v e p.
(Ord e, Ord v, Ord p) =>
Edge v e p -> Edge v e p -> Bool
forall v e p.
(Ord e, Ord v, Ord p) =>
Edge v e p -> Edge v e p -> Ordering
forall v e p.
(Ord e, Ord v, Ord p) =>
Edge v e p -> Edge v e p -> Edge v e p
min :: Edge v e p -> Edge v e p -> Edge v e p
$cmin :: forall v e p.
(Ord e, Ord v, Ord p) =>
Edge v e p -> Edge v e p -> Edge v e p
max :: Edge v e p -> Edge v e p -> Edge v e p
$cmax :: forall v e p.
(Ord e, Ord v, Ord p) =>
Edge v e p -> Edge v e p -> Edge v e p
>= :: Edge v e p -> Edge v e p -> Bool
$c>= :: forall v e p.
(Ord e, Ord v, Ord p) =>
Edge v e p -> Edge v e p -> Bool
> :: Edge v e p -> Edge v e p -> Bool
$c> :: forall v e p.
(Ord e, Ord v, Ord p) =>
Edge v e p -> Edge v e p -> Bool
<= :: Edge v e p -> Edge v e p -> Bool
$c<= :: forall v e p.
(Ord e, Ord v, Ord p) =>
Edge v e p -> Edge v e p -> Bool
< :: Edge v e p -> Edge v e p -> Bool
$c< :: forall v e p.
(Ord e, Ord v, Ord p) =>
Edge v e p -> Edge v e p -> Bool
compare :: Edge v e p -> Edge v e p -> Ordering
$ccompare :: forall v e p.
(Ord e, Ord v, Ord p) =>
Edge v e p -> Edge v e p -> Ordering
Ord, ReadPrec [Edge v e p]
ReadPrec (Edge v e p)
ReadS [Edge v e p]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
forall v e p. (Read e, Read v, Read p) => ReadPrec [Edge v e p]
forall v e p. (Read e, Read v, Read p) => ReadPrec (Edge v e p)
forall v e p. (Read e, Read v, Read p) => Int -> ReadS (Edge v e p)
forall v e p. (Read e, Read v, Read p) => ReadS [Edge v e p]
readListPrec :: ReadPrec [Edge v e p]
$creadListPrec :: forall v e p. (Read e, Read v, Read p) => ReadPrec [Edge v e p]
readPrec :: ReadPrec (Edge v e p)
$creadPrec :: forall v e p. (Read e, Read v, Read p) => ReadPrec (Edge v e p)
readList :: ReadS [Edge v e p]
$creadList :: forall v e p. (Read e, Read v, Read p) => ReadS [Edge v e p]
readsPrec :: Int -> ReadS (Edge v e p)
$creadsPrec :: forall v e p. (Read e, Read v, Read p) => Int -> ReadS (Edge v e p)
Read, Int -> Edge v e p -> ShowS
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
forall v e p.
(Show e, Show v, Show p) =>
Int -> Edge v e p -> ShowS
forall v e p. (Show e, Show v, Show p) => [Edge v e p] -> ShowS
forall v e p. (Show e, Show v, Show p) => Edge v e p -> String
showList :: [Edge v e p] -> ShowS
$cshowList :: forall v e p. (Show e, Show v, Show p) => [Edge v e p] -> ShowS
show :: Edge v e p -> String
$cshow :: forall v e p. (Show e, Show v, Show p) => Edge v e p -> String
showsPrec :: Int -> Edge v e p -> ShowS
$cshowsPrec :: forall v e p.
(Show e, Show v, Show p) =>
Int -> Edge v e p -> ShowS
Show)

_Edge :: Name
_Edge = (String -> Name
Core.Name String
"hydra/ext/tinkerpop/v3.Edge")

_Edge_label :: FieldName
_Edge_label = (String -> FieldName
Core.FieldName String
"label")

_Edge_id :: FieldName
_Edge_id = (String -> FieldName
Core.FieldName String
"id")

_Edge_out :: FieldName
_Edge_out = (String -> FieldName
Core.FieldName String
"out")

_Edge_in :: FieldName
_Edge_in = (String -> FieldName
Core.FieldName String
"in")

_Edge_properties :: FieldName
_Edge_properties = (String -> FieldName
Core.FieldName String
"properties")

-- | The (required) label of an edge
newtype EdgeLabel = 
  EdgeLabel {
    -- | The (required) label of an edge
    EdgeLabel -> String
unEdgeLabel :: String}
  deriving (EdgeLabel -> EdgeLabel -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: EdgeLabel -> EdgeLabel -> Bool
$c/= :: EdgeLabel -> EdgeLabel -> Bool
== :: EdgeLabel -> EdgeLabel -> Bool
$c== :: EdgeLabel -> EdgeLabel -> Bool
Eq, Eq EdgeLabel
EdgeLabel -> EdgeLabel -> Bool
EdgeLabel -> EdgeLabel -> Ordering
EdgeLabel -> EdgeLabel -> EdgeLabel
forall a.
Eq a
-> (a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: EdgeLabel -> EdgeLabel -> EdgeLabel
$cmin :: EdgeLabel -> EdgeLabel -> EdgeLabel
max :: EdgeLabel -> EdgeLabel -> EdgeLabel
$cmax :: EdgeLabel -> EdgeLabel -> EdgeLabel
>= :: EdgeLabel -> EdgeLabel -> Bool
$c>= :: EdgeLabel -> EdgeLabel -> Bool
> :: EdgeLabel -> EdgeLabel -> Bool
$c> :: EdgeLabel -> EdgeLabel -> Bool
<= :: EdgeLabel -> EdgeLabel -> Bool
$c<= :: EdgeLabel -> EdgeLabel -> Bool
< :: EdgeLabel -> EdgeLabel -> Bool
$c< :: EdgeLabel -> EdgeLabel -> Bool
compare :: EdgeLabel -> EdgeLabel -> Ordering
$ccompare :: EdgeLabel -> EdgeLabel -> Ordering
Ord, ReadPrec [EdgeLabel]
ReadPrec EdgeLabel
Int -> ReadS EdgeLabel
ReadS [EdgeLabel]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [EdgeLabel]
$creadListPrec :: ReadPrec [EdgeLabel]
readPrec :: ReadPrec EdgeLabel
$creadPrec :: ReadPrec EdgeLabel
readList :: ReadS [EdgeLabel]
$creadList :: ReadS [EdgeLabel]
readsPrec :: Int -> ReadS EdgeLabel
$creadsPrec :: Int -> ReadS EdgeLabel
Read, Int -> EdgeLabel -> ShowS
[EdgeLabel] -> ShowS
EdgeLabel -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [EdgeLabel] -> ShowS
$cshowList :: [EdgeLabel] -> ShowS
show :: EdgeLabel -> String
$cshow :: EdgeLabel -> String
showsPrec :: Int -> EdgeLabel -> ShowS
$cshowsPrec :: Int -> EdgeLabel -> ShowS
Show)

_EdgeLabel :: Name
_EdgeLabel = (String -> Name
Core.Name String
"hydra/ext/tinkerpop/v3.EdgeLabel")

-- | Either a vertex or an edge
data Element v e p = 
  ElementVertex (Vertex v p) |
  ElementEdge (Edge v e p)
  deriving (Element v e p -> Element v e p -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
forall v e p.
(Eq v, Eq p, Eq e) =>
Element v e p -> Element v e p -> Bool
/= :: Element v e p -> Element v e p -> Bool
$c/= :: forall v e p.
(Eq v, Eq p, Eq e) =>
Element v e p -> Element v e p -> Bool
== :: Element v e p -> Element v e p -> Bool
$c== :: forall v e p.
(Eq v, Eq p, Eq e) =>
Element v e p -> Element v e p -> Bool
Eq, Element v e p -> Element v e p -> Bool
Element v e p -> Element v e p -> Ordering
forall a.
Eq a
-> (a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
forall {v} {e} {p}. (Ord v, Ord p, Ord e) => Eq (Element v e p)
forall v e p.
(Ord v, Ord p, Ord e) =>
Element v e p -> Element v e p -> Bool
forall v e p.
(Ord v, Ord p, Ord e) =>
Element v e p -> Element v e p -> Ordering
forall v e p.
(Ord v, Ord p, Ord e) =>
Element v e p -> Element v e p -> Element v e p
min :: Element v e p -> Element v e p -> Element v e p
$cmin :: forall v e p.
(Ord v, Ord p, Ord e) =>
Element v e p -> Element v e p -> Element v e p
max :: Element v e p -> Element v e p -> Element v e p
$cmax :: forall v e p.
(Ord v, Ord p, Ord e) =>
Element v e p -> Element v e p -> Element v e p
>= :: Element v e p -> Element v e p -> Bool
$c>= :: forall v e p.
(Ord v, Ord p, Ord e) =>
Element v e p -> Element v e p -> Bool
> :: Element v e p -> Element v e p -> Bool
$c> :: forall v e p.
(Ord v, Ord p, Ord e) =>
Element v e p -> Element v e p -> Bool
<= :: Element v e p -> Element v e p -> Bool
$c<= :: forall v e p.
(Ord v, Ord p, Ord e) =>
Element v e p -> Element v e p -> Bool
< :: Element v e p -> Element v e p -> Bool
$c< :: forall v e p.
(Ord v, Ord p, Ord e) =>
Element v e p -> Element v e p -> Bool
compare :: Element v e p -> Element v e p -> Ordering
$ccompare :: forall v e p.
(Ord v, Ord p, Ord e) =>
Element v e p -> Element v e p -> Ordering
Ord, ReadPrec [Element v e p]
ReadPrec (Element v e p)
ReadS [Element v e p]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
forall v e p. (Read v, Read p, Read e) => ReadPrec [Element v e p]
forall v e p. (Read v, Read p, Read e) => ReadPrec (Element v e p)
forall v e p.
(Read v, Read p, Read e) =>
Int -> ReadS (Element v e p)
forall v e p. (Read v, Read p, Read e) => ReadS [Element v e p]
readListPrec :: ReadPrec [Element v e p]
$creadListPrec :: forall v e p. (Read v, Read p, Read e) => ReadPrec [Element v e p]
readPrec :: ReadPrec (Element v e p)
$creadPrec :: forall v e p. (Read v, Read p, Read e) => ReadPrec (Element v e p)
readList :: ReadS [Element v e p]
$creadList :: forall v e p. (Read v, Read p, Read e) => ReadS [Element v e p]
readsPrec :: Int -> ReadS (Element v e p)
$creadsPrec :: forall v e p.
(Read v, Read p, Read e) =>
Int -> ReadS (Element v e p)
Read, Int -> Element v e p -> ShowS
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
forall v e p.
(Show v, Show p, Show e) =>
Int -> Element v e p -> ShowS
forall v e p. (Show v, Show p, Show e) => [Element v e p] -> ShowS
forall v e p. (Show v, Show p, Show e) => Element v e p -> String
showList :: [Element v e p] -> ShowS
$cshowList :: forall v e p. (Show v, Show p, Show e) => [Element v e p] -> ShowS
show :: Element v e p -> String
$cshow :: forall v e p. (Show v, Show p, Show e) => Element v e p -> String
showsPrec :: Int -> Element v e p -> ShowS
$cshowsPrec :: forall v e p.
(Show v, Show p, Show e) =>
Int -> Element v e p -> ShowS
Show)

_Element :: Name
_Element = (String -> Name
Core.Name String
"hydra/ext/tinkerpop/v3.Element")

_Element_vertex :: FieldName
_Element_vertex = (String -> FieldName
Core.FieldName String
"vertex")

_Element_edge :: FieldName
_Element_edge = (String -> FieldName
Core.FieldName String
"edge")

-- | A graph; a self-contained collection of vertices and edges
data Graph v e p = 
  Graph {
    forall v e p. Graph v e p -> Set (Vertex v p)
graphVertices :: (Set (Vertex v p)),
    forall v e p. Graph v e p -> Set (Edge v e p)
graphEdges :: (Set (Edge v e p))}
  deriving (Graph v e p -> Graph v e p -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
forall v e p.
(Eq v, Eq p, Eq e) =>
Graph v e p -> Graph v e p -> Bool
/= :: Graph v e p -> Graph v e p -> Bool
$c/= :: forall v e p.
(Eq v, Eq p, Eq e) =>
Graph v e p -> Graph v e p -> Bool
== :: Graph v e p -> Graph v e p -> Bool
$c== :: forall v e p.
(Eq v, Eq p, Eq e) =>
Graph v e p -> Graph v e p -> Bool
Eq, Graph v e p -> Graph v e p -> Bool
Graph v e p -> Graph v e p -> Ordering
forall a.
Eq a
-> (a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
forall {v} {e} {p}. (Ord v, Ord p, Ord e) => Eq (Graph v e p)
forall v e p.
(Ord v, Ord p, Ord e) =>
Graph v e p -> Graph v e p -> Bool
forall v e p.
(Ord v, Ord p, Ord e) =>
Graph v e p -> Graph v e p -> Ordering
forall v e p.
(Ord v, Ord p, Ord e) =>
Graph v e p -> Graph v e p -> Graph v e p
min :: Graph v e p -> Graph v e p -> Graph v e p
$cmin :: forall v e p.
(Ord v, Ord p, Ord e) =>
Graph v e p -> Graph v e p -> Graph v e p
max :: Graph v e p -> Graph v e p -> Graph v e p
$cmax :: forall v e p.
(Ord v, Ord p, Ord e) =>
Graph v e p -> Graph v e p -> Graph v e p
>= :: Graph v e p -> Graph v e p -> Bool
$c>= :: forall v e p.
(Ord v, Ord p, Ord e) =>
Graph v e p -> Graph v e p -> Bool
> :: Graph v e p -> Graph v e p -> Bool
$c> :: forall v e p.
(Ord v, Ord p, Ord e) =>
Graph v e p -> Graph v e p -> Bool
<= :: Graph v e p -> Graph v e p -> Bool
$c<= :: forall v e p.
(Ord v, Ord p, Ord e) =>
Graph v e p -> Graph v e p -> Bool
< :: Graph v e p -> Graph v e p -> Bool
$c< :: forall v e p.
(Ord v, Ord p, Ord e) =>
Graph v e p -> Graph v e p -> Bool
compare :: Graph v e p -> Graph v e p -> Ordering
$ccompare :: forall v e p.
(Ord v, Ord p, Ord e) =>
Graph v e p -> Graph v e p -> Ordering
Ord, ReadPrec [Graph v e p]
ReadPrec (Graph v e p)
ReadS [Graph v e p]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
forall v e p.
(Read v, Read p, Read e, Ord v, Ord p, Ord e) =>
ReadPrec [Graph v e p]
forall v e p.
(Read v, Read p, Read e, Ord v, Ord p, Ord e) =>
ReadPrec (Graph v e p)
forall v e p.
(Read v, Read p, Read e, Ord v, Ord p, Ord e) =>
Int -> ReadS (Graph v e p)
forall v e p.
(Read v, Read p, Read e, Ord v, Ord p, Ord e) =>
ReadS [Graph v e p]
readListPrec :: ReadPrec [Graph v e p]
$creadListPrec :: forall v e p.
(Read v, Read p, Read e, Ord v, Ord p, Ord e) =>
ReadPrec [Graph v e p]
readPrec :: ReadPrec (Graph v e p)
$creadPrec :: forall v e p.
(Read v, Read p, Read e, Ord v, Ord p, Ord e) =>
ReadPrec (Graph v e p)
readList :: ReadS [Graph v e p]
$creadList :: forall v e p.
(Read v, Read p, Read e, Ord v, Ord p, Ord e) =>
ReadS [Graph v e p]
readsPrec :: Int -> ReadS (Graph v e p)
$creadsPrec :: forall v e p.
(Read v, Read p, Read e, Ord v, Ord p, Ord e) =>
Int -> ReadS (Graph v e p)
Read, Int -> Graph v e p -> ShowS
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
forall v e p.
(Show v, Show p, Show e) =>
Int -> Graph v e p -> ShowS
forall v e p. (Show v, Show p, Show e) => [Graph v e p] -> ShowS
forall v e p. (Show v, Show p, Show e) => Graph v e p -> String
showList :: [Graph v e p] -> ShowS
$cshowList :: forall v e p. (Show v, Show p, Show e) => [Graph v e p] -> ShowS
show :: Graph v e p -> String
$cshow :: forall v e p. (Show v, Show p, Show e) => Graph v e p -> String
showsPrec :: Int -> Graph v e p -> ShowS
$cshowsPrec :: forall v e p.
(Show v, Show p, Show e) =>
Int -> Graph v e p -> ShowS
Show)

_Graph :: Name
_Graph = (String -> Name
Core.Name String
"hydra/ext/tinkerpop/v3.Graph")

_Graph_vertices :: FieldName
_Graph_vertices = (String -> FieldName
Core.FieldName String
"vertices")

_Graph_edges :: FieldName
_Graph_edges = (String -> FieldName
Core.FieldName String
"edges")

-- | A key/value property
data Property p = 
  Property {
    forall p. Property p -> PropertyKey
propertyKey :: PropertyKey,
    forall p. Property p -> p
propertyValue :: p}
  deriving (Property p -> Property p -> Bool
forall p. Eq p => Property p -> Property p -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: Property p -> Property p -> Bool
$c/= :: forall p. Eq p => Property p -> Property p -> Bool
== :: Property p -> Property p -> Bool
$c== :: forall p. Eq p => Property p -> Property p -> Bool
Eq, Property p -> Property p -> Bool
Property p -> Property p -> Ordering
forall a.
Eq a
-> (a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
forall {p}. Ord p => Eq (Property p)
forall p. Ord p => Property p -> Property p -> Bool
forall p. Ord p => Property p -> Property p -> Ordering
forall p. Ord p => Property p -> Property p -> Property p
min :: Property p -> Property p -> Property p
$cmin :: forall p. Ord p => Property p -> Property p -> Property p
max :: Property p -> Property p -> Property p
$cmax :: forall p. Ord p => Property p -> Property p -> Property p
>= :: Property p -> Property p -> Bool
$c>= :: forall p. Ord p => Property p -> Property p -> Bool
> :: Property p -> Property p -> Bool
$c> :: forall p. Ord p => Property p -> Property p -> Bool
<= :: Property p -> Property p -> Bool
$c<= :: forall p. Ord p => Property p -> Property p -> Bool
< :: Property p -> Property p -> Bool
$c< :: forall p. Ord p => Property p -> Property p -> Bool
compare :: Property p -> Property p -> Ordering
$ccompare :: forall p. Ord p => Property p -> Property p -> Ordering
Ord, ReadPrec [Property p]
ReadPrec (Property p)
ReadS [Property p]
forall p. Read p => ReadPrec [Property p]
forall p. Read p => ReadPrec (Property p)
forall p. Read p => Int -> ReadS (Property p)
forall p. Read p => ReadS [Property p]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [Property p]
$creadListPrec :: forall p. Read p => ReadPrec [Property p]
readPrec :: ReadPrec (Property p)
$creadPrec :: forall p. Read p => ReadPrec (Property p)
readList :: ReadS [Property p]
$creadList :: forall p. Read p => ReadS [Property p]
readsPrec :: Int -> ReadS (Property p)
$creadsPrec :: forall p. Read p => Int -> ReadS (Property p)
Read, Int -> Property p -> ShowS
forall p. Show p => Int -> Property p -> ShowS
forall p. Show p => [Property p] -> ShowS
forall p. Show p => Property p -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [Property p] -> ShowS
$cshowList :: forall p. Show p => [Property p] -> ShowS
show :: Property p -> String
$cshow :: forall p. Show p => Property p -> String
showsPrec :: Int -> Property p -> ShowS
$cshowsPrec :: forall p. Show p => Int -> Property p -> ShowS
Show)

_Property :: Name
_Property = (String -> Name
Core.Name String
"hydra/ext/tinkerpop/v3.Property")

_Property_key :: FieldName
_Property_key = (String -> FieldName
Core.FieldName String
"key")

_Property_value :: FieldName
_Property_value = (String -> FieldName
Core.FieldName String
"value")

-- | A property key
newtype PropertyKey = 
  PropertyKey {
    -- | A property key
    PropertyKey -> String
unPropertyKey :: String}
  deriving (PropertyKey -> PropertyKey -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PropertyKey -> PropertyKey -> Bool
$c/= :: PropertyKey -> PropertyKey -> Bool
== :: PropertyKey -> PropertyKey -> Bool
$c== :: PropertyKey -> PropertyKey -> Bool
Eq, Eq PropertyKey
PropertyKey -> PropertyKey -> Bool
PropertyKey -> PropertyKey -> Ordering
PropertyKey -> PropertyKey -> PropertyKey
forall a.
Eq a
-> (a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: PropertyKey -> PropertyKey -> PropertyKey
$cmin :: PropertyKey -> PropertyKey -> PropertyKey
max :: PropertyKey -> PropertyKey -> PropertyKey
$cmax :: PropertyKey -> PropertyKey -> PropertyKey
>= :: PropertyKey -> PropertyKey -> Bool
$c>= :: PropertyKey -> PropertyKey -> Bool
> :: PropertyKey -> PropertyKey -> Bool
$c> :: PropertyKey -> PropertyKey -> Bool
<= :: PropertyKey -> PropertyKey -> Bool
$c<= :: PropertyKey -> PropertyKey -> Bool
< :: PropertyKey -> PropertyKey -> Bool
$c< :: PropertyKey -> PropertyKey -> Bool
compare :: PropertyKey -> PropertyKey -> Ordering
$ccompare :: PropertyKey -> PropertyKey -> Ordering
Ord, ReadPrec [PropertyKey]
ReadPrec PropertyKey
Int -> ReadS PropertyKey
ReadS [PropertyKey]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [PropertyKey]
$creadListPrec :: ReadPrec [PropertyKey]
readPrec :: ReadPrec PropertyKey
$creadPrec :: ReadPrec PropertyKey
readList :: ReadS [PropertyKey]
$creadList :: ReadS [PropertyKey]
readsPrec :: Int -> ReadS PropertyKey
$creadsPrec :: Int -> ReadS PropertyKey
Read, Int -> PropertyKey -> ShowS
[PropertyKey] -> ShowS
PropertyKey -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [PropertyKey] -> ShowS
$cshowList :: [PropertyKey] -> ShowS
show :: PropertyKey -> String
$cshow :: PropertyKey -> String
showsPrec :: Int -> PropertyKey -> ShowS
$cshowsPrec :: Int -> PropertyKey -> ShowS
Show)

_PropertyKey :: Name
_PropertyKey = (String -> Name
Core.Name String
"hydra/ext/tinkerpop/v3.PropertyKey")

-- | A vertex
data Vertex v p = 
  Vertex {
    forall v p. Vertex v p -> VertexLabel
vertexLabel :: VertexLabel,
    forall v p. Vertex v p -> v
vertexId :: v,
    forall v p. Vertex v p -> Map PropertyKey p
vertexProperties :: (Map PropertyKey p)}
  deriving (Vertex v p -> Vertex v p -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
forall v p. (Eq v, Eq p) => Vertex v p -> Vertex v p -> Bool
/= :: Vertex v p -> Vertex v p -> Bool
$c/= :: forall v p. (Eq v, Eq p) => Vertex v p -> Vertex v p -> Bool
== :: Vertex v p -> Vertex v p -> Bool
$c== :: forall v p. (Eq v, Eq p) => Vertex v p -> Vertex v p -> Bool
Eq, Vertex v p -> Vertex v p -> Bool
Vertex v p -> Vertex v p -> Ordering
forall a.
Eq a
-> (a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
forall {v} {p}. (Ord v, Ord p) => Eq (Vertex v p)
forall v p. (Ord v, Ord p) => Vertex v p -> Vertex v p -> Bool
forall v p. (Ord v, Ord p) => Vertex v p -> Vertex v p -> Ordering
forall v p.
(Ord v, Ord p) =>
Vertex v p -> Vertex v p -> Vertex v p
min :: Vertex v p -> Vertex v p -> Vertex v p
$cmin :: forall v p.
(Ord v, Ord p) =>
Vertex v p -> Vertex v p -> Vertex v p
max :: Vertex v p -> Vertex v p -> Vertex v p
$cmax :: forall v p.
(Ord v, Ord p) =>
Vertex v p -> Vertex v p -> Vertex v p
>= :: Vertex v p -> Vertex v p -> Bool
$c>= :: forall v p. (Ord v, Ord p) => Vertex v p -> Vertex v p -> Bool
> :: Vertex v p -> Vertex v p -> Bool
$c> :: forall v p. (Ord v, Ord p) => Vertex v p -> Vertex v p -> Bool
<= :: Vertex v p -> Vertex v p -> Bool
$c<= :: forall v p. (Ord v, Ord p) => Vertex v p -> Vertex v p -> Bool
< :: Vertex v p -> Vertex v p -> Bool
$c< :: forall v p. (Ord v, Ord p) => Vertex v p -> Vertex v p -> Bool
compare :: Vertex v p -> Vertex v p -> Ordering
$ccompare :: forall v p. (Ord v, Ord p) => Vertex v p -> Vertex v p -> Ordering
Ord, ReadPrec [Vertex v p]
ReadPrec (Vertex v p)
ReadS [Vertex v p]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
forall v p. (Read v, Read p) => ReadPrec [Vertex v p]
forall v p. (Read v, Read p) => ReadPrec (Vertex v p)
forall v p. (Read v, Read p) => Int -> ReadS (Vertex v p)
forall v p. (Read v, Read p) => ReadS [Vertex v p]
readListPrec :: ReadPrec [Vertex v p]
$creadListPrec :: forall v p. (Read v, Read p) => ReadPrec [Vertex v p]
readPrec :: ReadPrec (Vertex v p)
$creadPrec :: forall v p. (Read v, Read p) => ReadPrec (Vertex v p)
readList :: ReadS [Vertex v p]
$creadList :: forall v p. (Read v, Read p) => ReadS [Vertex v p]
readsPrec :: Int -> ReadS (Vertex v p)
$creadsPrec :: forall v p. (Read v, Read p) => Int -> ReadS (Vertex v p)
Read, Int -> Vertex v p -> ShowS
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
forall v p. (Show v, Show p) => Int -> Vertex v p -> ShowS
forall v p. (Show v, Show p) => [Vertex v p] -> ShowS
forall v p. (Show v, Show p) => Vertex v p -> String
showList :: [Vertex v p] -> ShowS
$cshowList :: forall v p. (Show v, Show p) => [Vertex v p] -> ShowS
show :: Vertex v p -> String
$cshow :: forall v p. (Show v, Show p) => Vertex v p -> String
showsPrec :: Int -> Vertex v p -> ShowS
$cshowsPrec :: forall v p. (Show v, Show p) => Int -> Vertex v p -> ShowS
Show)

_Vertex :: Name
_Vertex = (String -> Name
Core.Name String
"hydra/ext/tinkerpop/v3.Vertex")

_Vertex_label :: FieldName
_Vertex_label = (String -> FieldName
Core.FieldName String
"label")

_Vertex_id :: FieldName
_Vertex_id = (String -> FieldName
Core.FieldName String
"id")

_Vertex_properties :: FieldName
_Vertex_properties = (String -> FieldName
Core.FieldName String
"properties")

-- | The label of a vertex. The default (null) vertex is represented by the empty string
newtype VertexLabel = 
  VertexLabel {
    -- | The label of a vertex. The default (null) vertex is represented by the empty string
    VertexLabel -> String
unVertexLabel :: String}
  deriving (VertexLabel -> VertexLabel -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: VertexLabel -> VertexLabel -> Bool
$c/= :: VertexLabel -> VertexLabel -> Bool
== :: VertexLabel -> VertexLabel -> Bool
$c== :: VertexLabel -> VertexLabel -> Bool
Eq, Eq VertexLabel
VertexLabel -> VertexLabel -> Bool
VertexLabel -> VertexLabel -> Ordering
VertexLabel -> VertexLabel -> VertexLabel
forall a.
Eq a
-> (a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: VertexLabel -> VertexLabel -> VertexLabel
$cmin :: VertexLabel -> VertexLabel -> VertexLabel
max :: VertexLabel -> VertexLabel -> VertexLabel
$cmax :: VertexLabel -> VertexLabel -> VertexLabel
>= :: VertexLabel -> VertexLabel -> Bool
$c>= :: VertexLabel -> VertexLabel -> Bool
> :: VertexLabel -> VertexLabel -> Bool
$c> :: VertexLabel -> VertexLabel -> Bool
<= :: VertexLabel -> VertexLabel -> Bool
$c<= :: VertexLabel -> VertexLabel -> Bool
< :: VertexLabel -> VertexLabel -> Bool
$c< :: VertexLabel -> VertexLabel -> Bool
compare :: VertexLabel -> VertexLabel -> Ordering
$ccompare :: VertexLabel -> VertexLabel -> Ordering
Ord, ReadPrec [VertexLabel]
ReadPrec VertexLabel
Int -> ReadS VertexLabel
ReadS [VertexLabel]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [VertexLabel]
$creadListPrec :: ReadPrec [VertexLabel]
readPrec :: ReadPrec VertexLabel
$creadPrec :: ReadPrec VertexLabel
readList :: ReadS [VertexLabel]
$creadList :: ReadS [VertexLabel]
readsPrec :: Int -> ReadS VertexLabel
$creadsPrec :: Int -> ReadS VertexLabel
Read, Int -> VertexLabel -> ShowS
[VertexLabel] -> ShowS
VertexLabel -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [VertexLabel] -> ShowS
$cshowList :: [VertexLabel] -> ShowS
show :: VertexLabel -> String
$cshow :: VertexLabel -> String
showsPrec :: Int -> VertexLabel -> ShowS
$cshowsPrec :: Int -> VertexLabel -> ShowS
Show)

_VertexLabel :: Name
_VertexLabel = (String -> Name
Core.Name String
"hydra/ext/tinkerpop/v3.VertexLabel")