def load_model(rdf, base_uri): if hasattr(rdf, 'find_statements'): return rdf if hasattr(rdf, 'read'): rdf = rdf.read() def handler(code, level, facility, message, line, column, byte, file, uri): pass from RDF import Model, Parser model = Model() Parser().parse_string_into_model(model, rdf, base_uri, handler) return model
def __init__(self, p, base_uri=None): self._base = base_uri or request.base_url self._f = self._f0 = 'turtle' self._p = os.path.abspath(p) if p and p[-1] == '/' and (not self._p or self._p[-1] != '/'): self._p += '/' self._p0 = self._p if not self.exists(): for k in self.TYPEMAP: if self.exists(p + '.' + k): self._p0 += '.' + k self._f0 = self.TYPEMAP[k] break self._s = Storage(storage_name='hashes', name='', options_string="hash-type='memory'") self._g = Model(self._s) self._editable = False
def _open(self): if (self.model is not None): return self.model # Add try-catch here # try: if (os.path.isfile(os.path.join('.', 'domegraph.sqlite3'))): print('Reusing new store') storage = Storage(storage_name=STORAGE_NAME, name=GRAPH_NAME, options_string="new='false'") else: print('Creating new store') storage = Storage(storage_name=STORAGE_NAME, name=GRAPH_NAME, options_string="new='true'") self.model = Model(storage) return self.model # except Exception: print('Storage creation failed')
TYPE = Uri('http://www.w3.org/1999/02/22-rdf-syntax-ns#type') PREFIX = """\ PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> PREFIX foaf: <http://xmlns.com/foaf/0.1/> PREFIX cd: <http://choicedocs.com/ref/> """ import sys sys.path.append('/home/sforman/Software/aa-Spa-Stalker') from beauty.spasui.models import plain_query import beauty.spasui.models as M M.M = m = Model( Storage( storage_name="file", name="testdata.rdf.xml", options_string="new='yes',dir='.'", )) @plain_query def q0(proc, date): """ SELECT distinct ?spa ?time WHERE { ?t rdf:type cd:Treatment . ?t foaf:name "%(proc)s" . ?a cd:Treatment ?t . ?a cd:Date "%(date)s" . ?a cd:Provider ?spa . ?a cd:from_time ?time .
TRENCHE, TREATMENT, SUPPORTS, LABEL, TYPE, AVAIL, DATE, PREFIX, WHERE, FROM_TIME, TO_TIME, EMPLOYS, ) # One big ol' internal in-memory store. New on each restart. M = Model(Storage(**settings.TRIPLE_STORES['testdata'])) def _query(sparql, **args): sparql = PREFIX + sparql print sparql return list(SPARQLQuery(str(sparql % args)).execute(M)) def plain_query(f): query = f.__doc__ arg_names = getargspec(f).args def g(*args): print args return _query(query, **dict(zip(arg_names, args)))
def serialize_stream(stream): m = Model() m.add_statements(stream) return S.serialize_model_to_string(m)
def setUp(self): self._M = spasui.models.M spasui.models.M = Model(Storage(**settings.TRIPLE_STORES['default']))