本文整理汇总了Python中rdflib.query.Result类的典型用法代码示例。如果您正苦于以下问题:Python Result类的具体用法?Python Result怎么用?Python Result使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了Result类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。
示例1: __init__
def __init__(self, tree):
boolean = tree.find(RESULTS_NS_ET + 'boolean')
results = tree.find(RESULTS_NS_ET + 'results')
if boolean!=None:
type_='ASK'
elif results!=None:
type_='SELECT'
else:
raise ResultException("No result-bindings or boolean answer found!")
Result.__init__(self, type_)
if type_=='SELECT':
self.bindings=[]
for result in results:
r = {}
for binding in result:
r[binding.get('name')] = parseTerm(binding[0])
self.bindings.append(r)
self.vars=[x.get("name") for x in tree.findall(RESULTS_NS_ET+'head')]
elif type_=='ASK':
self.askAnswer=bool(boolean.text)
开发者ID:agarrido,项目名称:ro-manager,代码行数:26,代码来源:xmlresults.py
示例2: parse
def parse(self, source, content_type):
res = Result('CONSTRUCT') # hmm - or describe?type_)
res.graph = Graph()
res.graph.parse(source, format=content_type)
return res
开发者ID:joernhees,项目名称:rdflib,代码行数:7,代码来源:graph.py
示例3: parse
def parse(self, source):
try:
r = Result('SELECT')
header = source.readline()
r.vars = list(HEADER.parseString(header.strip(), parseAll=True))
r.bindings = []
while True:
line = source.readline()
if not line:
break
line = line.strip()
if line == "":
continue
row = ROW.parseString(line, parseAll=True)
r.bindings.append(
dict(zip(r.vars, (self.convertTerm(x) for x in row))))
return r
except ParseException, err:
print err.line
print " " * (err.column - 1) + "^"
print err
开发者ID:benrosemeyer-wf,项目名称:rdflib-sparql,代码行数:27,代码来源:tsvresults.py
示例4: parse
def parse(self, source):
if isinstance(source.read(0), bytestype):
# if reading from source returns bytes do utf-8 decoding
source = codecs.getreader('utf-8')(source)
try:
r = Result('SELECT')
header = source.readline()
r.vars = list(HEADER.parseString(header.strip(), parseAll=True))
r.bindings = []
while True:
line = source.readline()
if not line:
break
line = line.strip('\n')
if line == "":
continue
row = ROW.parseString(line, parseAll=True)
r.bindings.append(
dict(list(zip(r.vars, (self.convertTerm(x) for x in row)))))
return r
except ParseException as err:
print(err.line)
print(" " * (err.column - 1) + "^")
print(err)
开发者ID:0038lana,项目名称:Test-Task,代码行数:31,代码来源:tsvresults.py
示例5: parse
def parse(self, source):
r = Result('SELECT')
reader = csv.reader(source, delimiter=self.delim)
r.vars = [Variable(x) for x in next(reader)]
r.bindings = []
for row in reader:
r.bindings.append(self.parseRow(row, r.vars))
return r
开发者ID:pkuyken,项目名称:RDFTranslator,代码行数:12,代码来源:csvresults.py
示例6: __init__
def __init__(self, source):
xmlstring = source.read()
if isinstance(xmlstring, text_type):
xmlstring = xmlstring.encode('utf-8')
try:
parser = etree.XMLParser(huge_tree=True)
tree = etree.parse(BytesIO(xmlstring), parser)
except TypeError:
tree = etree.fromstring(xmlstring)
except Exception as e:
log.exception("Error parsing XML results: %s"%xmlstring)
raise e
boolean = tree.find(RESULTS_NS_ET + 'boolean')
results = tree.find(RESULTS_NS_ET + 'results')
if boolean is not None:
type_ = 'ASK'
elif results is not None:
type_ = 'SELECT'
else:
g = Graph()
try:
g.parse(data=xmlstring)
if len(g) == 0:
raise
type_ = 'CONSTRUCT'
except:
raise ResultException(
"No RDF Graph, result-bindings or boolean answer found!")
Result.__init__(self, type_)
if type_ == 'SELECT':
self.bindings = []
for result in results:
r = {}
for binding in result:
r[Variable(binding.get('name'))] = parseTerm(binding[0])
self.bindings.append(r)
self.vars = [Variable(x.get("name"))
for x in tree.findall(
'./%shead/%svariable' % (
RESULTS_NS_ET, RESULTS_NS_ET))]
elif type_ == 'ASK':
self.askAnswer = boolean.text.lower().strip() == "true"
elif type_ == 'CONSTRUCT':
self.graph = g
开发者ID:drewp,项目名称:rdflib,代码行数:52,代码来源:xmlresults.py
示例7: __init__
def __init__(self, json):
self.json=json
if "boolean" in json:
type_='ASK'
elif "results" in json:
type_='SELECT'
else:
raise ResultException('No boolean or results in json!')
Result.__init__(self,type_)
if type_=='ASK':
self.askAnswer=bool(json['boolean'])
else:
self.bindings=self._get_bindings()
开发者ID:agarrido,项目名称:ro-manager,代码行数:15,代码来源:jsonresults.py
示例8: parse
def parse(self, source):
r = Result("SELECT")
if hasattr(source, "mode") and "b" in source.mode:
source = codecs.getreader("utf-8")(source)
reader = csv.reader(source, delimiter=self.delim)
r.vars = [Variable(x) for x in reader.next()]
r.bindings = []
for row in reader:
r.bindings.append(self.parseRow(row, r.vars))
return r
开发者ID:jmahmud,项目名称:rdflib,代码行数:15,代码来源:csvresults.py
示例9: query
def query(self, query,
initNs={},
initBindings={},
queryGraph=None,
DEBUG=False):
self.debug = DEBUG
assert isinstance(query, basestring)
self.setNamespaceBindings(initNs)
if initBindings:
if not self.sparql11:
raise Exception(
"initBindings not supported for SPARQL 1.0 Endpoints.")
v = list(initBindings)
# VALUES was added to SPARQL 1.1 on 2012/07/24
query += "\nVALUES ( %s )\n{ ( %s ) }\n"\
% (" ".join("?" + str(x) for x in v),
" ".join(initBindings[x].n3() for x in v))
self.resetQuery()
if self.context_aware and queryGraph and queryGraph != '__UNION__':
self.addDefaultGraph(queryGraph)
self.setQuery(query)
return Result.parse(SPARQLWrapper.query(self).response)
开发者ID:april1452,项目名称:annotaria,代码行数:25,代码来源:sparqlstore.py
示例10: query
def query(self, query,
initNs={},
initBindings={},
queryGraph=None,
DEBUG=False):
self.debug = DEBUG
assert isinstance(query, basestring)
self.setNamespaceBindings(initNs)
if initBindings:
if not self.sparql11:
raise Exception(
"initBindings not supported for SPARQL 1.0 Endpoints.")
v = list(initBindings)
# VALUES was added to SPARQL 1.1 on 2012/07/24
query += "\nVALUES ( %s )\n{ ( %s ) }\n"\
% (" ".join("?" + str(x) for x in v),
" ".join(self.node_to_sparql(initBindings[x]) for x in v))
self.resetQuery()
if self._is_contextual(queryGraph):
self.addParameter("default-graph-uri", queryGraph)
self.timeout = self._timeout
self.setQuery(query)
return Result.parse(SPARQLWrapper.query(self).response)
开发者ID:Dataliberate,项目名称:rdflib,代码行数:26,代码来源:sparqlstore.py
示例11: parse
def parse(self, source):
r = Result('SELECT')
if isinstance(source.read(0), py3compat.bytestype):
# if reading from source returns bytes do utf-8 decoding
source = codecs.getreader('utf-8')(source)
reader = csv.reader(source, delimiter=self.delim)
r.vars = [Variable(x) for x in reader.next()]
r.bindings = []
for row in reader:
r.bindings.append(self.parseRow(row, r.vars))
return r
开发者ID:3mcorp,项目名称:schemaorg,代码行数:16,代码来源:csvresults.py
示例12: query
def query(self, query, default_graph=None):
if not self.query_endpoint:
raise SPARQLConnectorException("Query endpoint not set!")
params = {'query': query}
if default_graph:
params["default-graph-uri"] = default_graph
headers = {'Accept': _response_mime_types[self.returnFormat]}
args = dict(self.kwargs)
args.update(url=self.query_endpoint)
# merge params/headers dicts
args.setdefault('params', {})
args.setdefault('headers', {})
args['headers'].update(headers)
if self.method == 'GET':
args['params'].update(params)
elif self.method == 'POST':
args['data'] = params
else:
raise SPARQLConnectorException("Unknown method %s" % self.method)
res = self.session.request(self.method, **args)
res.raise_for_status()
return Result.parse(BytesIO(res.content), content_type=res.headers['Content-type'])
开发者ID:RDFLib,项目名称:rdflib,代码行数:32,代码来源:sparqlconnector.py
示例13: contexts
def contexts(self, triple=None):
"""
Iterates over results to "SELECT ?NAME { GRAPH ?NAME { ?s ?p ?o } }"
or "SELECT ?NAME { GRAPH ?NAME {} }" if triple is `None`.
Returns instances of this store with the SPARQL wrapper
object updated via addNamedGraph(?NAME).
This causes a named-graph-uri key / value pair to be sent over
the protocol.
Please note that some SPARQL endpoints are not able to find empty named
graphs.
"""
self.resetQuery()
if triple:
nts = self.node_to_sparql
s, p, o = triple
params = (nts(s if s else Variable('s')),
nts(p if p else Variable('p')),
nts(o if o else Variable('o')))
self.setQuery('SELECT ?name WHERE { GRAPH ?name { %s %s %s }}' % params)
else:
self.setQuery('SELECT ?name WHERE { GRAPH ?name {} }')
with contextlib.closing(SPARQLWrapper.query(self).response) as res:
result = Result.parse(res, format=self.returnFormat)
return ( row.name for row in result )
开发者ID:drewp,项目名称:rdflib,代码行数:30,代码来源:sparqlstore.py
示例14: __init__
def __init__(self, source, **kwargs):
if not isinstance(source, Graph):
graph = Graph()
graph.load(source, **kwargs)
else:
graph = source
rs = graph.value(predicate=RDF.type, object=RS.ResultSet)
# there better be only one :)
if rs is None:
type_ = 'CONSTRUCT'
# use a new graph
g = Graph()
g += graph
else:
askAnswer = graph.value(rs, RS.boolean)
if askAnswer is not None:
type_ = 'ASK'
else:
type_ = 'SELECT'
Result.__init__(self, type_)
if type_ == 'SELECT':
self.vars = [Variable(v) for v in graph.objects(rs,
RS.resultVariable)]
self.bindings = []
for s in graph.objects(rs, RS.solution):
sol = {}
for b in graph.objects(s, RS.binding):
sol[Variable(graph.value(
b, RS.variable))] = graph.value(b, RS.value)
self.bindings.append(sol)
elif type_ == 'ASK':
self.askAnswer = askAnswer.value
if askAnswer.value == None:
raise Exception('Malformed boolean in ask answer!')
elif type_ == 'CONSTRUCT':
self.graph = g
开发者ID:0038lana,项目名称:Test-Task,代码行数:47,代码来源:rdfresults.py
示例15: __iter__
def __iter__(self):
"""
Iter over all bindings as tuples of rdflib Terms.
"""
if self.type != "SELECT":
return Result.__iter__(self)
elif self._bindings_tuples is not None:
if not self._bindings_tuples_complete:
raise ValueError("Can not access bindings while iterating")
return iter(self._bindings_tuples)
else:
self._bindings_tuples = []
return self._iter_tuples()
开发者ID:PMR2,项目名称:virtuoso-python,代码行数:13,代码来源:vstore.py
示例16: __init__
def __init__(self, source, content_type=None):
try:
parser = etree.XMLParser(huge_tree=True)
tree = etree.parse(source, parser)
except TypeError:
tree = etree.parse(source)
boolean = tree.find(RESULTS_NS_ET + 'boolean')
results = tree.find(RESULTS_NS_ET + 'results')
if boolean is not None:
type_ = 'ASK'
elif results is not None:
type_ = 'SELECT'
else:
raise ResultException(
"No RDF result-bindings or boolean answer found!")
Result.__init__(self, type_)
if type_ == 'SELECT':
self.bindings = []
for result in results:
r = {}
for binding in result:
r[Variable(binding.get('name'))] = parseTerm(binding[0])
self.bindings.append(r)
self.vars = [Variable(x.get("name"))
for x in tree.findall(
'./%shead/%svariable' % (
RESULTS_NS_ET, RESULTS_NS_ET))]
else:
self.askAnswer = boolean.text.lower().strip() == "true"
开发者ID:joernhees,项目名称:rdflib,代码行数:36,代码来源:xmlresults.py
示例17: __len__
def __len__(self, context=None):
if not self.sparql11:
raise NotImplementedError(
"For performance reasons, this is not" +
"supported for sparql1.0 endpoints")
else:
self.resetQuery()
q = "SELECT (count(*) as ?c) WHERE {?s ?p ?o .}"
if self._is_contextual(context):
self.addParameter("default-graph-uri", context.identifier)
self.setQuery(q)
with contextlib.closing(SPARQLWrapper.query(self).response) as res:
result = Result.parse(res, format=self.returnFormat)
return int(next(iter(result)).c)
开发者ID:drewp,项目名称:rdflib,代码行数:16,代码来源:sparqlstore.py
示例18: __init__
def __init__(self, inner_result):
if type(inner_result) is EagerIterator:
Result.__init__(self, "SELECT")
self._eagerIterator = inner_result
self.vars = inner_result.vars
elif type(inner_result) is bool:
Result.__init__(self, "ASK")
self.askAnswer = inner_result
elif type(inner_result) is Graph:
Result.__init__(self, "CONSTRUCT")
self.graph = inner_result
else:
raise ValueError("Unrecognized inner_result %r" % inner_result)
开发者ID:PMR2,项目名称:virtuoso-python,代码行数:13,代码来源:vstore.py
示例19: query
def query(self, query,
initNs={},
initBindings={},
queryGraph=None,
DEBUG=False):
self.debug = DEBUG
assert isinstance(query, basestring)
self.setNamespaceBindings(initNs)
if initBindings:
if not self.sparql11:
raise Exception(
"initBindings not supported for SPARQL 1.0 Endpoints.")
v = list(initBindings)
# VALUES was added to SPARQL 1.1 on 2012/07/24
query += "\nVALUES ( %s )\n{ ( %s ) }\n"\
% (" ".join("?" + str(x) for x in v),
" ".join(initBindings[x].n3() for x in v))
self.resetQuery()
if self.context_aware and queryGraph and queryGraph != '__UNION__':
# we care about context
if not re.search('[\s{]GRAPH[{\s]', query, flags=re.I):
# if a GRAPH clause was already specified, move on...
# insert GRAPH clause after/before first/last { }
# not 100% sure how rock-steady this is
i1 = query.index("{") + 1
i2 = query.rindex("}")
query = query[:i1] + ' GRAPH %s { ' % queryGraph.n3() + \
query[i1:i2] + ' } ' + query[i2:]
self.setQuery(query)
return Result.parse(SPARQLWrapper.query(self).response)
开发者ID:cnh,项目名称:rdflib,代码行数:37,代码来源:sparqlstore.py
示例20: dict
line = line.strip()
if line == "":
continue
row = ROW.parseString(line, parseAll=True)
r.bindings.append(
dict(zip(r.vars, (self.convertTerm(x) for x in row))))
return r
except ParseException, err:
print err.line
print " " * (err.column - 1) + "^"
print err
def convertTerm(self, t):
if isinstance(t, CompValue):
if t.name == 'literal':
return RDFLiteral(t.string, lang=t.lang, datatype=t.datatype)
else:
raise Exception("I dont know how to handle this: %s" % (t,))
else:
return t
if __name__ == '__main__':
import sys
r = Result.parse(file(sys.argv[1]), format='tsv')
print r.vars
print r.bindings
#print r.serialize(format='json')
开发者ID:benrosemeyer-wf,项目名称:rdflib-sparql,代码行数:30,代码来源:tsvresults.py
注:本文中的rdflib.query.Result类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论