forked from mhausenblas/schema-org-rdf
-
Notifications
You must be signed in to change notification settings - Fork 0
/
schema2csv.py
31 lines (29 loc) · 1.19 KB
/
schema2csv.py
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
import csv
def dump_types_csv(types, out):
csv_writer = csv.writer(out)
csv_writer.writerow(['id', 'label', 'comment', 'ancestors', 'supertypes', 'subtypes', 'properties'])
for id in types:
type = types[id]
if type['comment'] == None: type['comment'] = ''
row = []
row.append(id)
row.append(type['label'].encode('utf-8'))
row.append(type['comment'].encode('utf-8'))
row.append(' '.join(type['ancestors']))
row.append(' '.join(type['supertypes']))
row.append(' '.join(type['subtypes']))
row.append(' '.join(type['specific_properties']))
csv_writer.writerow(row)
def dump_properties_csv(properties, out):
csv_writer = csv.writer(out)
csv_writer.writerow(['id', 'label', 'comment', 'domains', 'ranges'])
for id in properties:
property = properties[id]
if property['comment'] == None: property['comment'] = ''
row = []
row.append(id)
row.append(property['label'].encode('utf-8'))
row.append(property['comment'].encode('utf-8'))
row.append(' '.join(property['domains']))
row.append(' '.join(property['ranges']))
csv_writer.writerow(row)