=== What is XGMML? ===
[[http://www.cs.rpi.edu/~puninj/XGMML/|XGMML]] is an XML version of [[http://infosun.fmi.uni-passau.de/Graphlet/GML/|GML]].
=== XGMML in Cytoscape ===
In future releases, Cytoscape's standard format for saving graph layout will be XGMML. Users can save graph topology AND attributes in the same file.
=== XML Schema ===
The code to manipulate data element in XML file will be generated by data binding package, called [[http://java.sun.com/webservices/jaxb/|Java Architecture for XML Binding (JAXB)]]. JAXB automatically generate JAVA code based on XML Schema. XML schema for XGMML is available [[http://www.cs.rpi.edu/~puninj/XGMML/xgmml.xsd|here]].
=== Metanode and XGMML ===
In Cytoscape v2.3, a new concept called Metanode will be introduced. In XGMML, a metanode is a node which has a subgraph containing nodes and edges. For more information, please read [[Metanode_In_XGMML]] section.
=== File Format ===
Network file in XGMML has the following information:
* Interactions (Nodes/Edges)
* Attributes (annotation for nodes/edges)
* Graphical representation of nodes and edges
* Network meta-info in RDF
* This is general information for the network. Generic information like network name, date modified, etc. will be inserted here. The data format used for network meta-information is RDF (Resource Description Framework). The supported attributes are taken from Dublin Core Metadata Element Set (DCMES):
* Title
* Creator
* Subject
* Description
* Publisher
* Contributor
* Date
* Type
* Format
* Identifier
* Source
* Language
* Relation
* Coverage
* Rights
* Although the internal data structure will support all of the above, GUI (Network Metadata Editor) supports a subset of the elements. For more information about DCMES, please visit [[http://dublincore.org/documents/dces/|here]].
JamesMcIninch 2006/04/20:
. Questions:
* Previously, attributes could be any Java type -- java.net.URL for instance -- and XGMML supports "list", "integer", "real", and "string". What thought has been given to restoring the ability to use other types?
* The examples in the testData directory put the '''type''' of the attribute
. in the '''label'''. For example,
{{{
}}}
. instead of the correct XGMML
{{{
}}}
. .. should that not be fixed? Is Cytoscape doing the the right thing?
=== Example ===
The example below describes a small graph in xgmml which will import successfully into '''Cytoscape v2.8.2'''
{{{
}}}
please note that:
* every , and element '''must''' contain a ''label'' attribute. Failure to do so will result in a null-pointer error during the import.
* all of the ''xmsns'' attributes in the root element '''must''' be present
* including data associated with , and elements requires an element with the attributes ''name'', ''type'' and ''value'' as shown