net-spider-0.4.3.7: A graph database middleware to maintain a time-varying graph.
MaintainerToshio Ito <debug.ito@gmail.com>
Safe HaskellNone
LanguageHaskell2010

NetSpider.Snapshot

Description

A snapshot graph is a graph constructed from the NetSpider database. It reprensents a graph at specific time.

Synopsis

SnapshotGraph

type SnapshotGraph n na la = ([SnapshotNode n na], [SnapshotLink n la]) Source #

The snapshot graph, which is a collection nodes and links.

Since: 0.3.1.0

graphTimestamp :: SnapshotGraph n na la -> Maybe Timestamp Source #

Get the timestamp of the graph. It's the latest timestamp of the nodes and links.

Since: 0.4.3.0

SnapshotNode

data SnapshotNode n na Source #

A node in the snapshot graph.

Instances

Instances details
Bifunctor SnapshotNode Source #

Since: 0.3.0.0

Instance details

Defined in NetSpider.Snapshot.Internal

Methods

bimap :: (a -> b) -> (c -> d) -> SnapshotNode a c -> SnapshotNode b d #

first :: (a -> b) -> SnapshotNode a c -> SnapshotNode b c #

second :: (b -> c) -> SnapshotNode a b -> SnapshotNode a c #

Functor (SnapshotNode n) Source #

Since: 0.3.0.0

Instance details

Defined in NetSpider.Snapshot.Internal

Methods

fmap :: (a -> b) -> SnapshotNode n a -> SnapshotNode n b #

(<$) :: a -> SnapshotNode n b -> SnapshotNode n a #

(Eq n, Eq na) => Eq (SnapshotNode n na) Source # 
Instance details

Defined in NetSpider.Snapshot.Internal

Methods

(==) :: SnapshotNode n na -> SnapshotNode n na -> Bool #

(/=) :: SnapshotNode n na -> SnapshotNode n na -> Bool #

(Ord n, Eq na) => Ord (SnapshotNode n na) Source #

Comparison by node ID.

Instance details

Defined in NetSpider.Snapshot.Internal

Methods

compare :: SnapshotNode n na -> SnapshotNode n na -> Ordering #

(<) :: SnapshotNode n na -> SnapshotNode n na -> Bool #

(<=) :: SnapshotNode n na -> SnapshotNode n na -> Bool #

(>) :: SnapshotNode n na -> SnapshotNode n na -> Bool #

(>=) :: SnapshotNode n na -> SnapshotNode n na -> Bool #

max :: SnapshotNode n na -> SnapshotNode n na -> SnapshotNode n na #

min :: SnapshotNode n na -> SnapshotNode n na -> SnapshotNode n na #

(Show n, Show na) => Show (SnapshotNode n na) Source # 
Instance details

Defined in NetSpider.Snapshot.Internal

Methods

showsPrec :: Int -> SnapshotNode n na -> ShowS #

show :: SnapshotNode n na -> String #

showList :: [SnapshotNode n na] -> ShowS #

Generic (SnapshotNode n na) Source # 
Instance details

Defined in NetSpider.Snapshot.Internal

Associated Types

type Rep (SnapshotNode n na) :: Type -> Type #

Methods

from :: SnapshotNode n na -> Rep (SnapshotNode n na) x #

to :: Rep (SnapshotNode n na) x -> SnapshotNode n na #

(ToJSON n, ToJSON na) => ToJSON (SnapshotNode n na) Source #

Since: 0.4.1.0

Instance details

Defined in NetSpider.Snapshot.Internal

(FromJSON n, FromJSON na) => FromJSON (SnapshotNode n na) Source #

Since: 0.4.1.0

Instance details

Defined in NetSpider.Snapshot.Internal

type Rep (SnapshotNode n na) Source # 
Instance details

Defined in NetSpider.Snapshot.Internal

type Rep (SnapshotNode n na) = D1 ('MetaData "SnapshotNode" "NetSpider.Snapshot.Internal" "net-spider-0.4.3.7-4kPuDv4Z5UuGHxlCR8Z2Af" 'False) (C1 ('MetaCons "SnapshotNode" 'PrefixI 'True) ((S1 ('MetaSel ('Just "_nodeId") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 n) :*: S1 ('MetaSel ('Just "_isOnBoundary") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Bool)) :*: (S1 ('MetaSel ('Just "_nodeTimestamp") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Timestamp)) :*: S1 ('MetaSel ('Just "_nodeAttributes") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe na)))))

isOnBoundary :: SnapshotNode n na -> Bool Source #

This property is True if the node is on the boundary of the query. This means that nodes adjacent to this node may not be included in the query result.

nodeTimestamp :: SnapshotNode n na -> Maybe Timestamp Source #

If the node is not observed yet or isOnBoundary is True, its timestamp is Nothing.

nodeAttributes :: SnapshotNode n na -> Maybe na Source #

If the node is not observed yet or isOnBoundary is True, its node attributes is Nothing.

SnapshotLink

data SnapshotLink n la Source #

A link in the snapshot graph.

SnapshotLink is summary of one or more link observations by different subject nodes. Basically the latest of these observations is used to make SnapshotLink.

  • type n: node ID.
  • type la: link attributes.

Instances

linkNodeTuple :: SnapshotLink n la -> (n, n) Source #

Node-tuple (source node, destination node) of the link.

linkNodePair :: SnapshotLink n la -> Pair n Source #

Like linkNodeTuple, but this returns a Pair.