/
NXgraph_edge_set.nxdl.xml
113 lines (109 loc) · 4.73 KB
/
NXgraph_edge_set.nxdl.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="nxdlformat.xsl"?>
<!--
# NeXus - Neutron and X-ray Common Data Format
#
# Copyright (C) 2014-2024 NeXus International Advisory Committee (NIAC)
#
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
# version 3 of the License, or (at your option) any later version.
#
# This library is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public
# License along with this library; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
#
# For further information, see http://www.nexusformat.org
-->
<definition xmlns="http://definition.nexusformat.org/nxdl/3.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" category="base" name="NXgraph_edge_set" extends="NXobject" type="group" xsi:schemaLocation="http://definition.nexusformat.org/nxdl/3.1 ../nxdl.xsd">
<symbols>
<doc>
The symbols used in the schema to specify e.g. dimensions of arrays.
</doc>
<symbol name="n_edges">
<doc>
The number of edges.
</doc>
</symbol>
</symbols>
<doc>
A set of (eventually directed) edges which connect nodes/vertices of a graph.
</doc>
<field name="number_of_edges" type="NX_POSINT" units="NX_UNITLESS">
<doc>
Total number of edges, counting eventual bidirectional edges only once.
</doc>
</field>
<field name="identifier_offset" type="NX_INT" units="NX_UNITLESS">
<doc>
Integer which specifies the first index to be used for distinguishing
edges. Identifiers are defined either implicitly
or explicitly. For implicit indexing the identifiers are defined on the
interval [identifier_offset, identifier_offset+c-1].
For explicit indexing the identifier array has to be defined.
The identifier_offset field can for example be used to communicate if the
identifiers are expected to start from 1 (referred to as Fortran-/Matlab-)
or from 0 (referred to as C-, Python-style index notation) respectively.
</doc>
</field>
<field name="identifier" type="NX_INT" units="NX_UNITLESS">
<doc>
Integer used to distinguish edges for explicit indexing.
</doc>
<dimensions rank="1">
<dim index="1" value="n_edges"/>
</dimensions>
</field>
<field name="directionality" type="NX_INT" units="NX_UNITLESS">
<doc>
Specifier whether each edge is non-directional, one-directional,
or bidirectional. Use the smallest available binary representation
which can store three different states:
* 0 / state 0x00 is non-directional
* 1 / state 0x01 is one-directional
* 2 / state 0x02 is bi-directional
</doc>
<dimensions rank="1">
<dim index="1" value="n_edges"/>
</dimensions>
</field>
<field name="node_pair" type="NX_INT" units="NX_UNITLESS">
<doc>
Pairs of node/vertex identifier. Each pair represents the connection
between two nodes.
In the case that the edge is non- or bi-directional
node identifier should be stored in ascending order is preferred.
In the case of one-directional, for each pair the identifier of the source
node is the first entry in the pair. The identifier of the target is the
second entry in the pair, i.e. the pair encodes the information as
if one traverses the edge from the source node walking to the target node.
</doc>
<dimensions rank="2">
<dim index="1" value="n_edges"/>
<dim index="2" value="2"/>
</dimensions>
</field>
<field name="is_a">
<doc>
A human-readable qualifier which type or e.g. class instance the
edge is an instance of.
</doc>
<dimensions rank="1">
<dim index="1" value="c"/>
</dimensions>
</field>
<field name="label">
<doc>
A human-readable label/caption/tag for the edge.
</doc>
<dimensions rank="1">
<dim index="1" value="n_edges"/>
</dimensions>
</field>
</definition>