packages feed

hydra-pg-0.18.0: src/main/haskell/Hydra/Pg/Tinkerpop/Examples/Modern.hs

-- Note: this is an automatically generated file. Do not edit.

-- | The TinkerPop "Modern" property graph (schema and data), encoded as Hydra terms. The canonical example graph used throughout Apache TinkerPop documentation.

module Hydra.Pg.Tinkerpop.Examples.Modern where

import qualified Hydra.Core.Model as CoreModel
import qualified Hydra.Pg.Model as PgModel
import Prelude hiding  (Enum, Ordering, decodeFloat, encodeFloat, fail, lines, map, pure, sum, unlines)
import qualified Data.Scientific as Sci
import Data.Void
import qualified Data.Map as M

-- | The TinkerPop Modern property graph data, with int32 Literal ids
modernGraph :: PgModel.Graph CoreModel.Literal
modernGraph =
    PgModel.Graph {
      PgModel.graphVertices = (M.fromList [
        (
          CoreModel.LiteralInteger (CoreModel.IntegerValueInt32 1),
          PgModel.Vertex {
            PgModel.vertexLabel = (PgModel.VertexLabel "person"),
            PgModel.vertexId = (CoreModel.LiteralInteger (CoreModel.IntegerValueInt32 1)),
            PgModel.vertexProperties = (M.fromList [
              (PgModel.PropertyKey "age", (CoreModel.LiteralInteger (CoreModel.IntegerValueInt32 29))),
              (PgModel.PropertyKey "name", (CoreModel.LiteralString "marko"))])}),
        (
          CoreModel.LiteralInteger (CoreModel.IntegerValueInt32 2),
          PgModel.Vertex {
            PgModel.vertexLabel = (PgModel.VertexLabel "person"),
            PgModel.vertexId = (CoreModel.LiteralInteger (CoreModel.IntegerValueInt32 2)),
            PgModel.vertexProperties = (M.fromList [
              (PgModel.PropertyKey "age", (CoreModel.LiteralInteger (CoreModel.IntegerValueInt32 27))),
              (PgModel.PropertyKey "name", (CoreModel.LiteralString "vadas"))])}),
        (
          CoreModel.LiteralInteger (CoreModel.IntegerValueInt32 3),
          PgModel.Vertex {
            PgModel.vertexLabel = (PgModel.VertexLabel "software"),
            PgModel.vertexId = (CoreModel.LiteralInteger (CoreModel.IntegerValueInt32 3)),
            PgModel.vertexProperties = (M.fromList [
              (PgModel.PropertyKey "lang", (CoreModel.LiteralString "java")),
              (PgModel.PropertyKey "name", (CoreModel.LiteralString "lop"))])}),
        (
          CoreModel.LiteralInteger (CoreModel.IntegerValueInt32 4),
          PgModel.Vertex {
            PgModel.vertexLabel = (PgModel.VertexLabel "person"),
            PgModel.vertexId = (CoreModel.LiteralInteger (CoreModel.IntegerValueInt32 4)),
            PgModel.vertexProperties = (M.fromList [
              (PgModel.PropertyKey "age", (CoreModel.LiteralInteger (CoreModel.IntegerValueInt32 32))),
              (PgModel.PropertyKey "name", (CoreModel.LiteralString "josh"))])}),
        (
          CoreModel.LiteralInteger (CoreModel.IntegerValueInt32 5),
          PgModel.Vertex {
            PgModel.vertexLabel = (PgModel.VertexLabel "software"),
            PgModel.vertexId = (CoreModel.LiteralInteger (CoreModel.IntegerValueInt32 5)),
            PgModel.vertexProperties = (M.fromList [
              (PgModel.PropertyKey "lang", (CoreModel.LiteralString "java")),
              (PgModel.PropertyKey "name", (CoreModel.LiteralString "ripple"))])}),
        (
          CoreModel.LiteralInteger (CoreModel.IntegerValueInt32 6),
          PgModel.Vertex {
            PgModel.vertexLabel = (PgModel.VertexLabel "person"),
            PgModel.vertexId = (CoreModel.LiteralInteger (CoreModel.IntegerValueInt32 6)),
            PgModel.vertexProperties = (M.fromList [
              (PgModel.PropertyKey "age", (CoreModel.LiteralInteger (CoreModel.IntegerValueInt32 35))),
              (PgModel.PropertyKey "name", (CoreModel.LiteralString "peter"))])})]),
      PgModel.graphEdges = (M.fromList [
        (
          CoreModel.LiteralInteger (CoreModel.IntegerValueInt32 7),
          PgModel.Edge {
            PgModel.edgeLabel = (PgModel.EdgeLabel "knows"),
            PgModel.edgeId = (CoreModel.LiteralInteger (CoreModel.IntegerValueInt32 7)),
            PgModel.edgeOut = (CoreModel.LiteralInteger (CoreModel.IntegerValueInt32 1)),
            PgModel.edgeIn = (CoreModel.LiteralInteger (CoreModel.IntegerValueInt32 2)),
            PgModel.edgeProperties = (M.fromList [
              (PgModel.PropertyKey "weight", (CoreModel.LiteralFloat (CoreModel.FloatValueFloat64 0.5)))])}),
        (
          CoreModel.LiteralInteger (CoreModel.IntegerValueInt32 8),
          PgModel.Edge {
            PgModel.edgeLabel = (PgModel.EdgeLabel "knows"),
            PgModel.edgeId = (CoreModel.LiteralInteger (CoreModel.IntegerValueInt32 8)),
            PgModel.edgeOut = (CoreModel.LiteralInteger (CoreModel.IntegerValueInt32 1)),
            PgModel.edgeIn = (CoreModel.LiteralInteger (CoreModel.IntegerValueInt32 4)),
            PgModel.edgeProperties = (M.fromList [
              (PgModel.PropertyKey "weight", (CoreModel.LiteralFloat (CoreModel.FloatValueFloat64 1.0)))])}),
        (
          CoreModel.LiteralInteger (CoreModel.IntegerValueInt32 9),
          PgModel.Edge {
            PgModel.edgeLabel = (PgModel.EdgeLabel "created"),
            PgModel.edgeId = (CoreModel.LiteralInteger (CoreModel.IntegerValueInt32 9)),
            PgModel.edgeOut = (CoreModel.LiteralInteger (CoreModel.IntegerValueInt32 1)),
            PgModel.edgeIn = (CoreModel.LiteralInteger (CoreModel.IntegerValueInt32 3)),
            PgModel.edgeProperties = (M.fromList [
              (PgModel.PropertyKey "weight", (CoreModel.LiteralFloat (CoreModel.FloatValueFloat64 0.4)))])}),
        (
          CoreModel.LiteralInteger (CoreModel.IntegerValueInt32 10),
          PgModel.Edge {
            PgModel.edgeLabel = (PgModel.EdgeLabel "created"),
            PgModel.edgeId = (CoreModel.LiteralInteger (CoreModel.IntegerValueInt32 10)),
            PgModel.edgeOut = (CoreModel.LiteralInteger (CoreModel.IntegerValueInt32 4)),
            PgModel.edgeIn = (CoreModel.LiteralInteger (CoreModel.IntegerValueInt32 5)),
            PgModel.edgeProperties = (M.fromList [
              (PgModel.PropertyKey "weight", (CoreModel.LiteralFloat (CoreModel.FloatValueFloat64 1.0)))])}),
        (
          CoreModel.LiteralInteger (CoreModel.IntegerValueInt32 11),
          PgModel.Edge {
            PgModel.edgeLabel = (PgModel.EdgeLabel "created"),
            PgModel.edgeId = (CoreModel.LiteralInteger (CoreModel.IntegerValueInt32 11)),
            PgModel.edgeOut = (CoreModel.LiteralInteger (CoreModel.IntegerValueInt32 4)),
            PgModel.edgeIn = (CoreModel.LiteralInteger (CoreModel.IntegerValueInt32 3)),
            PgModel.edgeProperties = (M.fromList [
              (PgModel.PropertyKey "weight", (CoreModel.LiteralFloat (CoreModel.FloatValueFloat64 0.4)))])}),
        (
          CoreModel.LiteralInteger (CoreModel.IntegerValueInt32 12),
          PgModel.Edge {
            PgModel.edgeLabel = (PgModel.EdgeLabel "created"),
            PgModel.edgeId = (CoreModel.LiteralInteger (CoreModel.IntegerValueInt32 12)),
            PgModel.edgeOut = (CoreModel.LiteralInteger (CoreModel.IntegerValueInt32 6)),
            PgModel.edgeIn = (CoreModel.LiteralInteger (CoreModel.IntegerValueInt32 3)),
            PgModel.edgeProperties = (M.fromList [
              (PgModel.PropertyKey "weight", (CoreModel.LiteralFloat (CoreModel.FloatValueFloat64 0.2)))])})])}

-- | The TinkerPop Modern property graph schema, with LiteralType property/id types
modernSchema :: PgModel.GraphSchema CoreModel.LiteralType
modernSchema =
    PgModel.GraphSchema {
      PgModel.graphSchemaVertices = (M.fromList [
        (
          PgModel.VertexLabel "person",
          PgModel.VertexType {
            PgModel.vertexTypeLabel = (PgModel.VertexLabel "person"),
            PgModel.vertexTypeId = (CoreModel.LiteralTypeInteger CoreModel.IntegerTypeInt32),
            PgModel.vertexTypeProperties = [
              PgModel.PropertyType {
                PgModel.propertyTypeKey = (PgModel.PropertyKey "name"),
                PgModel.propertyTypeValue = CoreModel.LiteralTypeString,
                PgModel.propertyTypeRequired = True},
              PgModel.PropertyType {
                PgModel.propertyTypeKey = (PgModel.PropertyKey "age"),
                PgModel.propertyTypeValue = (CoreModel.LiteralTypeInteger CoreModel.IntegerTypeInt32),
                PgModel.propertyTypeRequired = False}]}),
        (
          PgModel.VertexLabel "software",
          PgModel.VertexType {
            PgModel.vertexTypeLabel = (PgModel.VertexLabel "software"),
            PgModel.vertexTypeId = (CoreModel.LiteralTypeInteger CoreModel.IntegerTypeInt32),
            PgModel.vertexTypeProperties = [
              PgModel.PropertyType {
                PgModel.propertyTypeKey = (PgModel.PropertyKey "name"),
                PgModel.propertyTypeValue = CoreModel.LiteralTypeString,
                PgModel.propertyTypeRequired = True},
              PgModel.PropertyType {
                PgModel.propertyTypeKey = (PgModel.PropertyKey "lang"),
                PgModel.propertyTypeValue = CoreModel.LiteralTypeString,
                PgModel.propertyTypeRequired = True}]})]),
      PgModel.graphSchemaEdges = (M.fromList [
        (
          PgModel.EdgeLabel "created",
          PgModel.EdgeType {
            PgModel.edgeTypeLabel = (PgModel.EdgeLabel "created"),
            PgModel.edgeTypeId = (CoreModel.LiteralTypeInteger CoreModel.IntegerTypeInt32),
            PgModel.edgeTypeOut = (PgModel.VertexLabel "person"),
            PgModel.edgeTypeIn = (PgModel.VertexLabel "software"),
            PgModel.edgeTypeProperties = [
              PgModel.PropertyType {
                PgModel.propertyTypeKey = (PgModel.PropertyKey "weight"),
                PgModel.propertyTypeValue = (CoreModel.LiteralTypeFloat CoreModel.FloatTypeFloat64),
                PgModel.propertyTypeRequired = True}]}),
        (
          PgModel.EdgeLabel "knows",
          PgModel.EdgeType {
            PgModel.edgeTypeLabel = (PgModel.EdgeLabel "knows"),
            PgModel.edgeTypeId = (CoreModel.LiteralTypeInteger CoreModel.IntegerTypeInt32),
            PgModel.edgeTypeOut = (PgModel.VertexLabel "person"),
            PgModel.edgeTypeIn = (PgModel.VertexLabel "person"),
            PgModel.edgeTypeProperties = [
              PgModel.PropertyType {
                PgModel.propertyTypeKey = (PgModel.PropertyKey "weight"),
                PgModel.propertyTypeValue = (CoreModel.LiteralTypeFloat CoreModel.FloatTypeFloat64),
                PgModel.propertyTypeRequired = True}]})])}