GithubHelp home page GithubHelp logo

Comments (9)

izmalk avatar izmalk commented on May 28, 2024

As was stated in the vaticle/typedb#3281 (possible duplicate but in TypeDB repository), we can

Use Concept API, calling transaction.logic().getRule(label) or transaction.logic().getRules()

from typeql.

mathieuisabel avatar mathieuisabel commented on May 28, 2024

@izmalk Being able to query rules and see their dependencies on other rules would also be beneficial. I was talking about this with @tomassabat in the context of rules debugging where it's currently hard to assess the which rules get triggered from a particular query when there are multiple rules involved.

from typeql.

izmalk avatar izmalk commented on May 28, 2024

@izmalk Being able to query rules and see their dependencies on other rules would also be beneficial.

I'm not sure what are the dependencies on other rules. Do you mean rule interaction via inferred data?

it's currently hard to assess the which rules get triggered from a particular query when there are multiple rules involved.

But we can do that with an explanation option enabled. Did you try something like that: https://github.com/izmalk/typedb_test_queries/blob/main/all-queries.py#L176 ?
It's sometimes tricky to read the conclusion part of the explanation but I can't see any better solution for now. Do you?

from typeql.

flyingsilverfin avatar flyingsilverfin commented on May 28, 2024

I think @mathieuisabel is talking about showing the schema-level rule interaction graph, not the exact data-layer explanations, right?

from typeql.

mathieuisabel avatar mathieuisabel commented on May 28, 2024

That would be correct @flyingsilverfin . Here's probably a poor example that might give an idea:

image

Also in the same line of thought for debugging purposes, I remembered James showing me at some point a visual representation of the query plan (which was pretty intense). I don't know if there's a way to see that to help troubleshooting situations where rules are getting triggered unnecessarily due to common mistakes (i.e. not constraining types correctly).

Bottom line, the end game is figuring why queries are not performing in certain situations. i.e. It's tough to assess whether the query plan is ok without manually figuring out everything the query references.

from typeql.

izmalk avatar izmalk commented on May 28, 2024

That would be correct @flyingsilverfin . Here's probably a poor example that might give an idea:

Nice. But that seems to be out of the scope of this particular issue. Can you create a separate issue?

from typeql.

mathieuisabel avatar mathieuisabel commented on May 28, 2024

@izmalk Just to be sure, you're referring to the query plan piece specifically for the new issue? The dependency graph would still be in scope as you would want to be able to query rules for that kind of output.

from typeql.

izmalk avatar izmalk commented on May 28, 2024

@izmalk Just to be sure, you're referring to the query plan piece specifically for the new issue? The dependency graph would still be in scope as you would want to be able to query rules for that kind of output.

I was referring to the dependency graph. While these features can be connected, even dependent on each other, I think they are different features and might have a different priority/deadline/author. The original feature only requests to be able to retrieve rules from a schema.

from typeql.

flyingsilverfin avatar flyingsilverfin commented on May 28, 2024

Related to vaticle/typedb#3281

from typeql.

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.