An open API service indexing awesome lists of open source software.

https://github.com/irskep/schemutt

XML schema assistant
https://github.com/irskep/schemutt

Last synced: 3 months ago
JSON representation

XML schema assistant

Awesome Lists containing this project

README

          

Schemutt
========

Schemutt is an XML schema figure-outer. I wrote it to help me understand some
undocumented APIs.

This script will run on Python 2.7 and 3.2.

python setup.py install

or

python3 setup.py install

Output Format
-------------

filename

Attribute1 = {'attribute value 1', 'attribute value 2', ...}
Attribute2 = {'attribute value 3', 'attribute value 4', ...}
-> Path.To.Attribute.With.Close.Value.Match/AttributeName (num matches/possible matches)

...

Attribute examples are chosen at random. The number of examples shown is
limited by the `--line-length` switch.

Schemutt will attempt to figure out foreign key relationships if you pass it
the `--find-foreign-keys` flag. The criteria for inclusion are that the value
ranges of both attributes overlap by at least 10% and there are at least 2
values for both attributes.

Example output:

> python3 schemutt.py graph_data_example.xml --find-foreign-keys --line-length=80
graph_data_example.xml



GenericProcessID = {'018a3f66-4e5a-4746-947a-bb22242cffd4'}
Reversible = {'True'}
Name = {'alpha-D-Glucose 6-phosphate phosphohydrolase'}
ID = {'6054abb3-dc31-43a0-9bd6-b9dda7af77e5'}
-> GraphData.Pathways.Pathway.GenericProcesses.GenericProcess/ID (52/52)


OrganismGroupID = {'01bea179-c89d-42c7-9add-fbe807f46fe9'}
-> GraphData.Pathways.Pathway.OrganismGroups.OrganismGroup/ID (1412/1412)
GeneProductMoleculeID = {'e51a5e9c-0389-4a0e-b1f5-acb1817e7a2f'}
-> GraphData.Molecules.Molecule/ID (21/21)
-> GraphData.Molecules.Molecule/EntityID (21/21)
ECNumber = {'1.2.7.1', '4.2.1.11', '5.3.1.1', '1.2.1.59', '1.2.7.6'}
ProcessID = {'596cd74b-16b4-49e4-8008-8a1956ff9a25'}
-> GraphData.GenericProcesses.GenericProcess.Molecules.Molecule/ProcessID (20/20)


ProcessID = {'596cd74b-16b4-49e4-8008-8a1956ff9a25'}
-> GraphData.GenericProcesses.GenericProcess.Catalyzes.Catalyze/ProcessID (20/52)
Role = {'product', 'inhibitor', 'substrate', 'cofactor'}
ID = {'b3e4ee53-18f8-4e14-90ca-7d2441d7e2c7'}
-> GraphData.Molecules.Molecule/ID (52/52)
-> GraphData.Pathways.Pathway.LinkingPathways.LinkingPathway.LinkingMolecule/ID (32/52)


EntityID = {'80fdd82b-8d4d-4669-abea-fa76f23fa7e8'}
-> GraphData.GenericProcesses.GenericProcess.Catalyzes.Catalyze/GeneProductMoleculeID (21/73)
IsCommon = {'True', 'False'}
ID = {'d86f2eae-86aa-4ef5-a52b-8c091ad2cce0'}
-> GraphData.GenericProcesses.GenericProcess.Molecules.Molecule/ID (52/73)
-> GraphData.Pathways.Pathway.LinkingPathways.LinkingPathway.LinkingMolecule/ID (32/73)
-> GraphData.GenericProcesses.GenericProcess.Catalyzes.Catalyze/GeneProductMoleculeID (21/73)
Name = {'Reduced ferredoxin', 'GDP', '3-Phospho-D-glycerate', 'NADH'}


Name = {'Pyruvate metabolism'}
Expanded = {'False', 'True'}
ID = {'9d3a7f76-8ad0-4c2c-ba59-ae912713d359'}
-> GraphData.Pathways.Pathway.LinkingPathways.LinkingPathway/ID (31/32)
Linking = {'True', 'False'}


ID = {'c19f472a-2431-460d-b847-89dacefe8084'}
-> GraphData.Pathways.Pathway/ID (31/31)
Dir = {'in', 'out'}

ID = {'3152204b-2844-4dc1-a227-a5b6550b1804'}
-> GraphData.Molecules.Molecule/ID (32/46)
-> GraphData.GenericProcesses.GenericProcess.Molecules.Molecule/ID (32/46)


ID = {'01bea179-c89d-42c7-9add-fbe807f46fe9'}
-> GraphData.GenericProcesses.GenericProcess.Catalyzes.Catalyze/OrganismGroupID (1412/1416)


ID = {'8c8b1006-b06e-4c59-9b1a-84df2c6d0faf'}
-> GraphData.GenericProcesses.GenericProcess/ID (52/52)