Giter Club home page Giter Club logo

Comments (12)

cygri avatar cygri commented on August 17, 2024 4

So the proposal would be to have some way of creating a persistent “named CONSTRUCT query” that can then be used in future queries like a named graph.

from sparql-dev.

ericprud avatar ericprud commented on August 17, 2024 1

I don't recall writing it in a paper anywhere so I'll briefly describe it here as best I recall it:

Each CONSTRUCT rule R in a .map is indexed by predicate into ByP. At query-time, a query Q is parsed and each triple constraint is mapped to the list of Rs that could satisfy it. The triple pattern T in Q is substituted with a disjunction of each the rule body B corresponding to each R in Rs. The variables in B are substituted with the terms in T which correspond to those variables in R. Duplicated invocations of an B (those with compatible variable assignments) are eliminated. The final query should give you the same answers as if you had merged the results of running each R separately on the data. This means the rules are treated as orthogonal i.e. no rule head gets to match the body of another rule.

from sparql-dev.

lisp avatar lisp commented on August 17, 2024 1

An approach to named "profiles" has been introduced as an ietf internet draft.
It is relevant to this discussion at least with respect to issues of naming and discovery.

from sparql-dev.

JervenBolleman avatar JervenBolleman commented on August 17, 2024

Dynamic views, might also be a corollary to named subqueries which is a function I miss.

from sparql-dev.

dydra avatar dydra commented on August 17, 2024

there are two aspects to this:

  • where the reference may appear : in an http request, in a DatasetClause, or in something analogous to a ServiceGraphPattern
  • what result it produces : a graph or solution sequence

in a dataset clause, permit a graph only.
in a service analog, permit a solution sequence only.
the the protocol level, permit both.

where the reference in a service analog is not a constant, this relates to #19.
there are also issues related to argument passing.

from sparql-dev.

afs avatar afs commented on August 17, 2024

Removing "SPARQL: " on transferred issue.

from sparql-dev.

jpcs avatar jpcs commented on August 17, 2024

Using SPARQL construct like semantics to define RDF views could be computationally expensive. If views are allowed to be recursive, then this is equivalent to backwards chaining (query time) inference.

from sparql-dev.

JervenBolleman avatar JervenBolleman commented on August 17, 2024

@jpcs Yes, I think it could be expensive. Question here is for the system owner to decide on materialized or non materialized views. Implementing e.g. OWL-RL as a view should be possible, turning it on should be a owner decision.

Can views be efficiently implemented by query rewriting in the common cases?

from sparql-dev.

lisp avatar lisp commented on August 17, 2024

Can views be efficiently implemented by query rewriting in the common cases?

if there has been work which demonstrates that static query rewriting would necessarily reduce the complexity below that of equivalent dynamic recursion, please provide a pointer.

from sparql-dev.

ericprud avatar ericprud commented on August 17, 2024

If nothing else turns up, SWObjects used .map files which were basically a bunch of CONSTRUCTS. It executed queries over the virtual product of the CONSTRUCTS by doing a query rewrite to the appropriate parts of the rule bodies. example: https://github.com/ericprud/SWObjects/blob/sparql11/tests/bsbm/db2bsbm.map

from sparql-dev.

lisp avatar lisp commented on August 17, 2024

is there somewhere a description of the mechanism?
one which discusses the complexity?

from sparql-dev.

lisp avatar lisp commented on August 17, 2024

to return to the question raised by bolleman's

Can views be efficiently implemented by query rewriting in the common cases?

by this description, the only difference between static rewriting and entirely dynamic sub-queries would be that, in the static case, one could cache the effective query so that it need not be recomputed.

from sparql-dev.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.