Example #1
0
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
Example #2
0
 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
Example #3
0
 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')
Example #4
0
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 .
Example #5
0
    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)))
Example #6
0
def serialize_stream(stream):
    m = Model()
    m.add_statements(stream)
    return S.serialize_model_to_string(m)
Example #7
0
 def setUp(self):
     self._M = spasui.models.M
     spasui.models.M = Model(Storage(**settings.TRIPLE_STORES['default']))