Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance. Project price only 1 $
You can buy this project and download/modify it how often you want.
This document defines the GraphML language including GraphML
attributes
and GraphML parseinfo.
Complex type definitions for the GraphML structural layer
elements:
<data>, <default>, <key>, <graphml>, <graph>,
<node>, <port>,
<edge>, <hyperedge>, <endpoint> and
<locator>.
The names of the complex types are constructed
corresponding
to the pattern element_name.type.
(The only remaining
GraphML structural layer element
<desc> is of simple type
xs:string.)
Extension mechanism for the content of <data> and
<default>.
The complex type data-extension.type is empty per
default.
Users may redefine this type in order to add content to
the
complex types data.type and default.type which are
extensions of
data-extension.type.
Complex type for the <data> element.
data.type is mixed,
that is, <data> may contain #PCDATA.
Content type: extension of
data-extension.type which is empty
per default.
refers to the id attribute of a <key>.
identifies this <data>.
user defined extra attributes for <data> elements
Complex type for the <default> element.
default.type is
mixed, that is, data may contain #PCDATA.
Content type: extension of
data-extension.type which is empty
per default.
user defined extra attributes for <default> elements
Simple type for the for attribute of <key>.
key.for.type
is a restriction of xs:NMTOKEN
Allowed values: all, graphml, graph,
node, edge, hyperedge, port and
endpoint.
Complex type for the <key> element.
identifies this <key>.
describes the domain of definition for
the corresponding
graph attribute.
user defined extra attributes for <key> elements.
Complex type for the <graphml> element.
user defined extra attributes for <graphml> elements.
Simple type for the edgedefault attribute of <graph>.
graph.edgedefault.type is a restriction of xs:NMTOKEN
Allowed values:
directed, undirected.
Complex type for the <graph> element.
user defined extra attributes for <graph> elements.
identifies this graph .
describes whether edges of this graph are considered
as
directed or undirected per default (unless
specified by the
attribute directed of <edge>).
Complex type for the <node> element.
user defined extra attributes for <node elements.
identifies this node.
Complex type for the <port> element.
user defined extra attributes for <port> elements.
identifies this port, within the node it is contained in.
Complex type for the <edge> element.
user defined extra attributes for <edge> elements.
identifies this edge .
overwrites the edgedefault attribute of <graph> .
points to the id attribute of the source <node>.
points to the id attribute of the target <node>.
points to the name attribute of the source <port>.
points to the name attribute of the target <port>.
Complex type for the <hyperedge> element.
user defined extra attributes for <hyperedge> elements.
identifies this <hyperedge> .
Simple type for the type attribute of <endpoint>.
endpoint.type.type is a restriction of xs:NMTOKEN
Allowed values: in,
out, undir.
Complex type for the <endpoint> element.
user defined extra attributes for <endpoint> elements.
identifies this <endpoint> .
points to the name of the port, to which this endpoint is
connected .
points to the id of the node, to which this endpoint is
connected.
defines the direction on this endpoint (undirected per
default).
Complex type for the <locator> element.
Content type:
(empty)
user defined extra attributes for <locator> elements.
points to the resource of this locator.
type of the hyperlink (fixed as simple).
Description: Provides human-readable descriptions for the
GraphML
element containing this <desc> as its first child.
Occurence: <key>, <graphml>, <graph>,
<node>, <port>,
<edge>, <hyperedge>, and
<endpoint>.
Description: Graphs and nodes are declared by the elements
<graph> and <node>, respectively. The optional
<locator>-child of these elements point to
their definition. (If
there is no <locator>-child
the graphs/nodes are defined by their
content).
Occurence: <graph>, and <node>.
Description: In GraphML there may be data-functions
attached
to graphs, nodes, ports, edges, hyperedges and
endpoint and
to the whole collection of
graphs described by the content of
<graphml>.
These functions are declared by <key> elements
(children of <graphml>) and defined by <data>
elements.
Occurence: <graphml>, <graph>, <node>, <port>,
<edge>, <hyperedge>, and <endpoint>.
Ensures: uniqueness of the key attributes of <data>
children
of this <data> element.
Description: In GraphML there may be data-functions
attached
to graphs, nodes, ports, edges, hyperedges and
endpoint and
to the whole collection of
graphs described by the content of
<graphml>.
These functions are declared by <key> elements
(children of <graphml>) and defined by <data>
elements.
Occurence: <graphml>.
Description: In GraphML there may be data-functions
attached
to graphs, nodes, ports, edges, hyperedges and
endpoint and
to the whole collection of
graphs described by the content of
<graphml>.
These functions are declared by <key> elements
(children of <graphml>) and defined by <data>
elements.
The
(optional) <default> child of <key> gives
the default value for
the corresponding function.
Occurence: <key>.
Description: <graphml> is the root element of each
GraphML
document.
Occurence: root.
Ensures: uniqueness of the key attributes of <data>
children
of this <graphml> element.
Ensures: existence and uniqueness of the id attributes of
each <key> element in this document.
Ensures: uniqueness of the id attributes of
each <graph>
element in this document.
Ensures: for the key attribute of each <data> in this
document,
the existence of an id attribute of
<key> which matches
the value of it.
Description: Describes one graph in this document.
Occurence: <graphml>, <node>, <edge>, <hyperedge>.
Ensures: uniqueness of the key attributes of <data>
children
of this <graph> element.
Ensures: existence and uniqueness of the id attributes of
each <node> element in this graph.
Ensures: uniqueness of the id attributes of
each <edge>
element in this graph.
Ensures: uniqueness of the id attributes of
each
<hyperedge> element in this graph.
Ensures: uniqueness of the id attributes of
each
<endpoint> element in this graph.
Ensures: for the source attribute of each <edge> in
this graph,
the existence of an id attribute of
<node> which
matches the value of it.
Ensures: for the target attribute of each <edge> in
this graph,
the existence of an id attribute of
<node> which
matches the value of it.
Ensures: for the node attribute of each <endpoint> in
this graph,
the existence of an id attribute of
<node> which
matches the value of it.
Description: Describes one node in the <graph>
containing this <node>.
Occurence: <graph>.
Ensures: existence and uniqueness of the name attributes
of
each <port> element within this <node>.
Ensures: uniqueness of the key attributes of <data>
children
of this <node> element.
Description: Nodes may be structured by ports; thus edges
are not only attached to a node but to a certain
port in this node.
Occurence: <node>, <port>.
Ensures: uniqueness of the key attributes of <data>
children
of this <port> element.
Description: Describes an edge in the <graph> which
contains this
<edge>.
Occurence: <graph>.
Ensures: uniqueness of the key attributes of <data>
children
of this <edge> element.
Description: While edges describe relations between two
nodes,
a hyperedge describes a relation between an arbitrary
number of
nodes.
Occurence: <graph>.
Ensures: uniqueness of the key attributes of <data>
children
of this <hyperedge> element.
Description: The list of <endpoints> within a hyperedge
points to the nodes contained in this hyperedge.
Occurence:
<hyperedge>.
Simple type for the attr.name attribute of <key>.
key.name.type is final, that is, it may not be extended
or
restricted.
key.name.type is a restriction of xs:NMTOKEN
Allowed
values: (no restriction)
Simple type for the attr.type attribute of <key>.
key.type.type is final, that is, it may not be extended
or
restricted.
key.type.type is a restriction of xs:NMTOKEN
Allowed
values: boolean, int, long, float, double, string.
Definition of the attribute group key.attributes.attrib.
This group consists of the two optional attributes
- attr.name (gives
the name for the data function)
- attr.type ((declares the range of
values for the data function)
Simple type definitions for the new graph attributes.
Simple type for the parse.order attribute of <graph>.
graph.order.type is final, that is, it may not be extended
or
restricted.
graph.order.type is a restriction of xs:NMTOKEN
Allowed
values: free, nodesfirst, adjacencylist.
Simple type for the parse.nodes attribute of <graph>.
graph.nodes.type is final, that is, it may not be extended
or
restricted.
graph.nodes.type is a restriction of
xs:nonNegativeInteger
Allowed values: (no restriction).
Simple type for the parse.edges attribute of <graph>.
graph.edges.type is final, that is, it may not be extended
or
restricted.
graph.edges.type is a restriction of
xs:nonNegativeInteger
Allowed values: (no restriction).
Simple type for the parse.maxindegree attribute of
<graph>.
graph.maxindegree.type is final, that is, it may not be
extended
or restricted.
graph.maxindegree.type is a restriction of
xs:nonNegativeInteger
Allowed values: (no restriction).
Simple type for the parse.maxoutdegree attribute of
<graph>.
graph.maxoutdegree.type is final, that is, it may not be
extended
or restricted.
graph.maxoutdegree.type is a restriction of
xs:nonNegativeInteger
Allowed values: (no restriction).
Simple type for the parse.nodeids attribute of <graph>.
graph.nodeids.type is final, that is, it may not be extended
or
restricted.
graph.nodeids.type is a restriction of xs:string
Allowed
values: (no restriction).
Simple type for the parse.edgeids attribute of <graph>.
graph.edgeids.type is final, that is, it may not be extended
or
restricted.
graph.edgeids.type is a restriction of xs:string
Allowed
values: (no restriction).
Definition of the attribute group graph.parseinfo.attrib.
This group consists of the seven attributes
- parse.nodeids (fixed to
'canonical' meaning that the id attribute
of <node> follows the
pattern 'n[number]),
- parse.edgeids (fixed to 'canonical' meaning
that the id attribute
of <edge> follows the pattern 'e[number]),
-
parse.order (required; one of the values 'nodesfirst',
'adjacencylist' or 'free'),
- parse.nodes (required; number of nodes
in this graph),
- parse.edges (required; number of edges in this
graph),
- parse.maxindegree (optional; maximal indegree of a node in
this
graph),
- parse.maxoutdegree (optional; maximal outdegree of a
node in this
graph)
Simple type definitions for the new node attributes.
Simple type for the parse.indegree attribute of <node>.
node.indegree.type is final, that is, it may not be extended
or
restricted.
node.indegree.type is a restriction of
xs:nonNegativeInteger
Allowed values: (no restriction).
Simple type for the parse.outdegree attribute of <node>.
node.outdegree.type is final, that is, it may not be extended
or
restricted.
node.outdegree.type is a restriction of
xs:nonNegativeInteger
Allowed values: (no restriction).
Definition of the attribute group node.parseinfo.attrib.
This group consists of two attributes
- parse.indegree (optional;
indegree of this node),
- parse.outdegree (optional; outdegree of
this node).