- #!/usr/bin/env python 
-   
- import argparse 
- import csv 
- import semanticnet as sn 
- import sys 
- sys.path.append('C:\Python34') 
-   
- def add_edge_ifn(graph, src, dst): 
-     # get the edges between src and dst 
-     edges = graph.get_edges_between(src, dst) 
-     # if there are no edges, add one and return it 
-     if not edges: 
-         return graph.add_edge(src, dst) 
-     # if there is, return the first edge's ID 
-     return edges.items()[0][0] 
-   
- if __name__ == "__main__": 
-     parser = argparse.ArgumentParser("ssv.py") 
-     parser.add_argument("input_filename", type=str) 
-     parser.add_argument("output_filename", type=str) 
-     args = parser.parse_args() 
-   
-     g = sn.DiGraph() 
-     with open(args.input_filename, "dataSmall") as infile: 
-         reader = csv.reader(infile, delimiter=',') 
-         for row in reader: 
-             previous = None 
-             for elem in row: 
-                 current = g.get_or_add_node(elem, {"label": elem}) 
-                 if previous != None: 
-                     add_edge_ifn(g, previous['id'], current['id']) 
-                 previous = current 
-   
-     g.save_json(args.output_filename) 
				IyEvdXNyL2Jpbi9lbnYgcHl0aG9uCgppbXBvcnQgYXJncGFyc2UKaW1wb3J0IGNzdgppbXBvcnQgc2VtYW50aWNuZXQgYXMgc24KaW1wb3J0IHN5cwpzeXMucGF0aC5hcHBlbmQoJ0M6XFB5dGhvbjM0JykKCmRlZiBhZGRfZWRnZV9pZm4oZ3JhcGgsIHNyYywgZHN0KToKICAgICMgZ2V0IHRoZSBlZGdlcyBiZXR3ZWVuIHNyYyBhbmQgZHN0CiAgICBlZGdlcyA9IGdyYXBoLmdldF9lZGdlc19iZXR3ZWVuKHNyYywgZHN0KQogICAgIyBpZiB0aGVyZSBhcmUgbm8gZWRnZXMsIGFkZCBvbmUgYW5kIHJldHVybiBpdAogICAgaWYgbm90IGVkZ2VzOgogICAgICAgIHJldHVybiBncmFwaC5hZGRfZWRnZShzcmMsIGRzdCkKICAgICMgaWYgdGhlcmUgaXMsIHJldHVybiB0aGUgZmlyc3QgZWRnZSdzIElECiAgICByZXR1cm4gZWRnZXMuaXRlbXMoKVswXVswXQoKaWYgX19uYW1lX18gPT0gIl9fbWFpbl9fIjoKICAgIHBhcnNlciA9IGFyZ3BhcnNlLkFyZ3VtZW50UGFyc2VyKCJzc3YucHkiKQogICAgcGFyc2VyLmFkZF9hcmd1bWVudCgiaW5wdXRfZmlsZW5hbWUiLCB0eXBlPXN0cikKICAgIHBhcnNlci5hZGRfYXJndW1lbnQoIm91dHB1dF9maWxlbmFtZSIsIHR5cGU9c3RyKQogICAgYXJncyA9IHBhcnNlci5wYXJzZV9hcmdzKCkKCiAgICBnID0gc24uRGlHcmFwaCgpCiAgICB3aXRoIG9wZW4oYXJncy5pbnB1dF9maWxlbmFtZSwgImRhdGFTbWFsbCIpIGFzIGluZmlsZToKICAgICAgICByZWFkZXIgPSBjc3YucmVhZGVyKGluZmlsZSwgZGVsaW1pdGVyPScsJykKICAgICAgICBmb3Igcm93IGluIHJlYWRlcjoKICAgICAgICAgICAgcHJldmlvdXMgPSBOb25lCiAgICAgICAgICAgIGZvciBlbGVtIGluIHJvdzoKICAgICAgICAgICAgICAgIGN1cnJlbnQgPSBnLmdldF9vcl9hZGRfbm9kZShlbGVtLCB7ImxhYmVsIjogZWxlbX0pCiAgICAgICAgICAgICAgICBpZiBwcmV2aW91cyAhPSBOb25lOgogICAgICAgICAgICAgICAgICAgIGFkZF9lZGdlX2lmbihnLCBwcmV2aW91c1snaWQnXSwgY3VycmVudFsnaWQnXSkKICAgICAgICAgICAgICAgIHByZXZpb3VzID0gY3VycmVudAoKICAgIGcuc2F2ZV9qc29uKGFyZ3Mub3V0cHV0X2ZpbGVuYW1lKQ==