Graph Data Model

A graph data model implies the notion of nodes and edges. In the graph data model, statements are represented as directed binary graphs – they always consist of  a subject node, a predicate edge and an object node.

Nodes

Nodes can be

  1. a resource or the entry point of a resource,
  2. part of a resource (BNode), i.e. a subelement of a hierarchical description of a resources, e.g. a field in a MARCXML recordset (record), or
  3. simple value nodes, i.e. literals.

Attributes of Nodes

Attribute
Definition
__NODETYPE__ Nodes always have a node type (__NODETYPE__). Node types are used for orientation in the graph data model. They can be any of these:

  • __RESOURCE__
  • __BNODE__
  • __LITERAL__
  • __TYPE_RESOURCE__
  • __TYPE_BNODE__
__URI__ if __NODETYPE__ == __RESOURCE__
__VALUE__ if __NODETYPE__ == __LITERAL__
__DATATYPE__ if __NODETYPE__ == __LITERAL__, the literal being a typified literal
__PROVENANCE__ if __NODETYPE__ == __RESOURCE__, the node type of the node not being __TYPE_RESOURCE__
__RESOURCE__ signifies the resource belonging to the node (in case it is a literal node or BNode)

Explanation

A record is always a resource so the node type of the record’s entry node is __RESOURCE__. Resources or parts of resources can be typified. The types of resources are used as node labels in the graph:

  • a MABXML record, for instance, is of the type ‘Datensatz’ (record, http://www.ddb.de/professionell/mabxml/mabxml-1.xsd#datensatzType) and
  • a field within the MABXML record is of the type ‘Feld’ (field, http://www.ddb.de/professionell/mabxml/mabxml-1.xsd#feldType).

URIs are used as denominators for resource identifiers, types and attributes (predicates) of statements. All edges and resource nodes have a provenance attribute (__PROVENANCE__). It references the data model the statement or resource belongs to. Resource identifiers are connected with resource nodes by the attribute __URI__. Values of literals are connected with literal nodes by the attribute __VALUE__.

Edges

Edges are always attributes of resources or parts of resources, e.g. mabxml:nr (http://www.ddb.de/professionell/mabxml/mabxml-1.xsd#nr).

Attributes of Edges

Attribute
Definition
__PROVENANCE__
__RESOURCE__ Signifies the resource the node belongs to (if it is, for instance, a literal node or a BNode)
__ORDER__ Signifies the “In-Elements” order of values of a certain type, e.g. “mixed XML elements”
__INDEX__ Signifies the statement index of a resource (i.e. of the original element order as occurs in XML files)

Step by Step:

← Define Filters
← Available Transformation Functions
Graph Exploration →

Leave a Reply