def main(): import sys inputFile = sys.argv[1] baseRegex = sys.argv[2] f = myStore.load(inputFile) base = myStore.symbol(baseRegex) g = u'(?P<foo>%s)' % makeRegex(f, base) print ` g ` import re c = re.compile(g) print c.match('3.4E-4').groups()
def main(): import sys inputFile = sys.argv[1] baseRegex = sys.argv[2] f = myStore.load(inputFile) base = myStore.symbol(baseRegex) g = u"(?P<foo>%s)" % makeRegex(f, base) print ` g ` import re c = re.compile(g) print c.match("3.4E-4").groups()
"""regex.py $ID: $ Convert an n3 file of the regex ontology to a python regex """ from swap import myStore, term regex = myStore.symbol("http://www.w3.org/2000/10/swap/grammar/regex") from swap.RDFSink import RDF_NS_URI rdf = myStore.symbol(RDF_NS_URI[:-1]) knownClasses = {regex["Dot"]: u".", regex["Start"]: u"^", regex["End"]: u"$"} alreadyDone = {} def processProduction(f, prod): if prod in alreadyDone: pass elif isinstance(prod, term.Literal): alreadyDone[prod] = escape(unicode(prod)), regex["Sequence"] # print [x.asFormula().n3String() for x in f.statementsMatching(subj=prod)] else: for prop in knownProps: l = f.the(subj=prod, pred=prop) # print l if l:
def doCommand(serialDevice=None, outputURI=None, doTracks=1, doWaypoints=1, verbose=0): if os.name == 'nt': if not serialDevice: serialDevice = "com1" phys = Win32SerialLink(serialDevice) else: if not serialDevice: serialDevice = "/dev/ttyS0" # serialDevice = "/dev/cu.USA19H191P1.1" phys = UnixSerialLink(serialDevice) gps = Garmin(phys) print "GPS Product ID: %d Descriptions: %s Software version: %2.2f" % \ (gps.prod_id, gps.prod_descs, gps.soft_ver) f = formula() # Empty store of RDF data base = uripath.base() record = f.newBlankNode() f.add(record, RDF.type, GPS.Record) if doWaypoints: # show waypoints if verbose: print "Getting waypoints" wpts = gps.getWaypoints() for w in wpts: if verbose: progress(`w`) wpt = symbol(uripath.join(base, w.ident)) f.add(record, GPS.waypoint, wpt) f.add(wpt, WGS.lat, obj=intern(degrees(w.slat))) f.add(wpt, WGS.long, obj=intern(degrees(w.slon))) if doTracks: # show track if verbose: print "Getting tracks" tracks = gps.getTracks() for t in tracks: track = f.newBlankNode() f.add(record, GPS.track, track) for p in t: if isinstance(p, TrackHdr): if verbose: progress(`p`) f.add(track, GPS.disp, intern(p.dspl)) f.add(track, GPS.color, intern(p.color)) f.add(track, GPS.trk_ident, intern(p.trk_ident)) else: if verbose: progress(`p`) point = f.newBlankNode() f.add(track, GPS.trackpoint, point) f.add(point, WGS.lat, obj=intern(degrees(p.slat))) f.add(point, WGS.long, obj=intern(degrees(p.slon))) # if verbose: progress(" time=", p.time) # progress('p.time='+`p.time`) # @@ if p.time == 0 or p.time == 0xffffffffL: if verbose: progress("time=%8x, ignoring" % p.time) else: f.add(point, WGS.time, obj=intern(isodate.fullString(TimeEpoch+p.time))) phys.f.close() # Should really be done by the del() below, but isn't del(phys) # close serial link (?) f = f.close() if verbose: progress("Beginning output. You can disconnect the GPS now.") s = f.n3String(base=base, flags="d") # Flag - no default prefix, preserve gps: prefix hint if outputURI != None: op = open(outputURI, "w") op.write(s) op.close() else: print s
# test proof API from swap import myStore, diag, why from swap.myStore import formula, symbol diag.tracking = 1 f = formula() rea = why.Premise("because I said so") pred = symbol("http://example.com/weather") f.add("Boston", pred, "sunny", why=rea) f.add("Chicago", pred, "snowy", why=rea) rea = why.Premise("because CNN said so") f.add("Fort Myers", pred, "stormy", why=rea) f = f.close() g = why.explainFormula(f) print g.n3String()
def doCommand(serialDevice=None, outputURI=None, doTracks=1, doWaypoints=1, verbose=0): if os.name == 'nt': if not serialDevice: serialDevice = "com1" phys = Win32SerialLink(serialDevice) else: if not serialDevice: serialDevice = "/dev/ttyS0" # serialDevice = "/dev/cu.USA19H191P1.1" phys = UnixSerialLink(serialDevice) gps = Garmin(phys) print "GPS Product ID: %d Descriptions: %s Software version: %2.2f" % \ (gps.prod_id, gps.prod_descs, gps.soft_ver) f = formula() # Empty store of RDF data base = uripath.base() record = f.newBlankNode() f.add(record, RDF.type, GPS.Record) if doWaypoints: # show waypoints if verbose: print "Getting waypoints" wpts = gps.getWaypoints() for w in wpts: if verbose: progress( ` w `) wpt = symbol(uripath.join(base, w.ident)) f.add(record, GPS.waypoint, wpt) f.add(wpt, WGS.lat, obj=intern(degrees(w.slat))) f.add(wpt, WGS.long, obj=intern(degrees(w.slon))) if doTracks: # show track if verbose: print "Getting tracks" tracks = gps.getTracks() for t in tracks: track = f.newBlankNode() f.add(record, GPS.track, track) for p in t: if isinstance(p, TrackHdr): if verbose: progress( ` p `) f.add(track, GPS.disp, intern(p.dspl)) f.add(track, GPS.color, intern(p.color)) f.add(track, GPS.trk_ident, intern(p.trk_ident)) else: if verbose: progress( ` p `) point = f.newBlankNode() f.add(track, GPS.trackpoint, point) f.add(point, WGS.lat, obj=intern(degrees(p.slat))) f.add(point, WGS.long, obj=intern(degrees(p.slon))) # if verbose: progress(" time=", p.time) # progress('p.time='+`p.time`) # @@ if p.time == 0 or p.time == 0xffffffffL: if verbose: progress("time=%8x, ignoring" % p.time) else: f.add(point, WGS.time, obj=intern(isodate.fullString(TimeEpoch + p.time))) phys.f.close() # Should really be done by the del() below, but isn't del (phys) # close serial link (?) f = f.close() if verbose: progress("Beginning output. You can disconnect the GPS now.") s = f.n3String( base=base, flags="d") # Flag - no default prefix, preserve gps: prefix hint if outputURI != None: op = open(outputURI, "w") op.write(s) op.close() else: print s
"""regex.py $ID: $ Convert an n3 file of the regex ontology to a python regex """ from swap import myStore, term regex = myStore.symbol('http://www.w3.org/2000/10/swap/grammar/regex') from swap.RDFSink import RDF_NS_URI rdf = myStore.symbol(RDF_NS_URI[:-1]) knownClasses = {regex['Dot']: u'.', regex['Start']: u'^', regex['End']: u'$'} alreadyDone = {} def processProduction(f, prod): if prod in alreadyDone: pass elif isinstance(prod, term.Literal): alreadyDone[prod] = escape(unicode(prod)), regex['Sequence'] #print [x.asFormula().n3String() for x in f.statementsMatching(subj=prod)] else: for prop in knownProps: l = f.the(subj=prod, pred=prop) #print l if l: