All Downloads are FREE. Search and download functionalities are using the official Maven repository.

grapht-io.1.5.1.source-code.graphml.xsd Maven / Gradle / Ivy





	
		
			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).
			
		

		
		
	










© 2015 - 2024 Weber Informatics LLC | Privacy Policy