#!/usr/bin/python from terms import URI, Rule, Variable, Fact, Pattern from random import randint import time import getopt import sys def generate(size, predicates=None, filename=None): """I generate a random set of 'size' facts from `predicates'. If not predicates are provided, I generate only 'parent' relations.""" if not predicates: predicates = [URI("parent"), URI("mother"), URI("father")] subjects_and_objects.extend([URI("a" + str(x)) for x in range(1, int(size)*4)]) #subjects_and_objects.extend([URI("b" + str(x)) for x in range(1, int(size)*4)]) if not filename: factsFile = 'generatedtests/facts.mixed.' + str(size) + '.n3' else: factsFile = filename factsN3 = open(factsFile, 'w') i = 0 print "Generating random facts into %s" %(factsFile) while i < size: fact = Fact(subjects_and_objects[randint(0, len(subjects_and_objects) - 1)], predicates[randint(0, len(predicates) - 1)], subjects_and_objects[randint(0, len(subjects_and_objects) - 1)]) factsN3.write(" .\n") i += 1 factsN3.close() return factsFile subjects_and_objects = list() if __name__ == '__main__': opts, args = getopt.getopt(sys.argv[1:], 'ho:v', ['size=']) size = None for option in opts: if option[0] == '--size': size = option[1] if not size: print "Give me a --size=N please." sys.exit(0) size = int(size) generate(size)