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()
Beispiel #2
0
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()
Beispiel #3
0
"""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:
Beispiel #4
0
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 
Beispiel #5
0
# 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()

Beispiel #6
0
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: