Enum QueryResults
pub enum QueryResults {
Solutions(QuerySolutionIter),
Boolean(bool),
Graph(QueryTripleIter),
}
Expand description
Results of a SPARQL query.
Variantsยง
Solutions(QuerySolutionIter)
Results of a SELECT query.
Boolean(bool)
Result of a ASK query.
Graph(QueryTripleIter)
Implementationsยง
ยงimpl QueryResults
impl QueryResults
pub fn read(
reader: impl Read + 'static,
format: QueryResultsFormat,
) -> Result<QueryResults, QueryResultsParseError>
pub fn read( reader: impl Read + 'static, format: QueryResultsFormat, ) -> Result<QueryResults, QueryResultsParseError>
Reads a SPARQL query results serialization.
pub fn write<W>(
self,
writer: W,
format: QueryResultsFormat,
) -> Result<W, EvaluationError>where
W: Write,
pub fn write<W>(
self,
writer: W,
format: QueryResultsFormat,
) -> Result<W, EvaluationError>where
W: Write,
Writes the query results (solutions or boolean).
This method fails if it is called on the Graph
results.
use oxigraph::store::Store;
use oxigraph::model::*;
use oxigraph::sparql::results::QueryResultsFormat;
let store = Store::new()?;
let ex = NamedNodeRef::new("http://example.com")?;
store.insert(QuadRef::new(ex, ex, ex, GraphNameRef::DefaultGraph))?;
let results = store.query("SELECT ?s WHERE { ?s ?p ?o }")?;
assert_eq!(
results.write(Vec::new(), QueryResultsFormat::Json)?,
r#"{"head":{"vars":["s"]},"results":{"bindings":[{"s":{"type":"uri","value":"http://example.com"}}]}}"#.as_bytes()
);
pub fn write_graph<W>(
self,
writer: W,
format: impl Into<RdfFormat>,
) -> Result<W, EvaluationError>where
W: Write,
pub fn write_graph<W>(
self,
writer: W,
format: impl Into<RdfFormat>,
) -> Result<W, EvaluationError>where
W: Write,
Writes the graph query results.
This method fails if it is called on the Solution
or Boolean
results.
use oxigraph::io::RdfFormat;
use oxigraph::model::*;
use oxigraph::store::Store;
let graph = "<http://example.com> <http://example.com> <http://example.com> .\n";
let store = Store::new()?;
store.load_graph(
graph.as_bytes(),
RdfFormat::NTriples,
GraphName::DefaultGraph,
None,
)?;
let results = store.query("CONSTRUCT WHERE { ?s ?p ?o }")?;
assert_eq!(
results.write_graph(Vec::new(), RdfFormat::NTriples)?,
graph.as_bytes()
);
Trait Implementationsยง
Sourceยงimpl AsRef<QueryResults> for QueryResult
impl AsRef<QueryResults> for QueryResult
Sourceยงfn as_ref(&self) -> &QueryResults
fn as_ref(&self) -> &QueryResults
Converts this type into a shared reference of the (usually inferred) input type.
ยงimpl From<QueryResults> for QueryResults
impl From<QueryResults> for QueryResults
ยงfn from(results: QueryResults) -> QueryResults
fn from(results: QueryResults) -> QueryResults
Converts to this type from the input type.
ยงimpl From<QuerySolutionIter> for QueryResults
impl From<QuerySolutionIter> for QueryResults
ยงfn from(value: QuerySolutionIter) -> QueryResults
fn from(value: QuerySolutionIter) -> QueryResults
Converts to this type from the input type.
ยงimpl<R> From<ReaderQueryResultsParserOutput<R>> for QueryResultswhere
R: Read + 'static,
impl<R> From<ReaderQueryResultsParserOutput<R>> for QueryResultswhere
R: Read + 'static,
ยงfn from(reader: ReaderQueryResultsParserOutput<R>) -> QueryResults
fn from(reader: ReaderQueryResultsParserOutput<R>) -> QueryResults
Converts to this type from the input type.
Auto Trait Implementationsยง
impl Freeze for QueryResults
impl !RefUnwindSafe for QueryResults
impl !Send for QueryResults
impl !Sync for QueryResults
impl Unpin for QueryResults
impl !UnwindSafe for QueryResults
Blanket Implementationsยง
ยงimpl<T> ArchivePointee for T
impl<T> ArchivePointee for T
ยงtype ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
ยงfn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
Sourceยงimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Sourceยงfn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
ยงimpl<F, W, T, D> Deserialize<With<T, W>, D> for F
impl<F, W, T, D> Deserialize<With<T, W>, D> for F
ยงfn deserialize(
&self,
deserializer: &mut D,
) -> Result<With<T, W>, <D as Fallible>::Error>
fn deserialize( &self, deserializer: &mut D, ) -> Result<With<T, W>, <D as Fallible>::Error>
Deserializes using the given deserializer
ยงimpl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
ยงfn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Converts
Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
, which can then be
downcast
into Box<dyn ConcreteType>
where ConcreteType
implements Trait
.ยงfn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Converts
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
, which can then be further
downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.ยงfn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Converts
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
โs vtable from &Trait
โs.ยงfn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Converts
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
โs vtable from &mut Trait
โs.ยงimpl<T> Instrument for T
impl<T> Instrument for T
ยงfn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
ยงfn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Sourceยงimpl<T> IntoEither for T
impl<T> IntoEither for T
Sourceยงfn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSourceยงfn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more