Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

LinkedQL Followup Tasks #899

Open
12 of 35 tasks
iddan opened this issue Dec 16, 2019 · 0 comments
Open
12 of 35 tasks

LinkedQL Followup Tasks #899

iddan opened this issue Dec 16, 2019 · 0 comments
Assignees

Comments

@iddan
Copy link
Collaborator

iddan commented Dec 16, 2019

Followup tasks to #877

  • Prefixes methods @iddan
    • POC Implementation
    • Move implementation to clients
  • .rename({ [property: string]: IRI }) should replace .save(IRI, tag) for aliasing property name to something else. (+ .renameReverse()). There is no such operator in Gremlin but there is one in MongoDB's aggregation @iddan
  • .properties() called empty should save all properties (requires Path.save(Path) @dennwc)
  • Generic .documents()
  • Nicer API for automatic type conversion @iddan:
    • Valid ID string to IRI or BNode
    • IRI to properties path
  • Refactor Filter and Operator @iddan (LinkedQL: Remove Operator #909)
    • Numeric operators
    • Pattern operators
  • .match(pattern) should be used for flat and deep matching of objects using structure pattern @iddan (LinkedQL: Fix recursive matching for Match step #916). For example:
    .match({
         "address": {
             "street": { "@id": "yehuda-halevi" }
             "number": 33,
         },
     })
    • Flat match
    • Deep match
    • Empty match to match entities only
    • Improve path structure. Currently using path.Out().Back(). Need help @dennwc
    • Use a stable comparison between paths in test as shape is unstable. Need help @dennwc
  • Rename view to visit @iddan
  • Make the schema the source of truth @iddan
    • Missing Information about min cardinality of fields (can be used in some type systems and in all runtimes)
  • Step to collect lists (LinkedQL: Collect Step #920)
    In Gizmo lists can be saved like:
    g.V().followRecursive(g.M().save(g.IRI("rdf:first"), "item").out(g.IRI("rdf:last")))
    But it has limitations, hard to optimize and to understand.
    Instead, we should have a method to do this:
    .collect("item")
    • Basic implementation
    • Should figure out desired behavior when not using Documents
    • Should validate the performance
  • Get rid of properties terminology from the API. Properties should always be named names
  • Project step
    • Fix back for all morphisms (labels and predicates are currently not implemented)
    • Basic implementation
    • Validate it can replicate *as steps and remove them.
  • Return documents by default
    • Change return type of steps to quads and move conversion to JSON-LD outside the steps.
    • Refactor Select to use quads return type
    • Refactor Documents to use quads return type
    • Remove Documents step and use it's logic as default return
@iddan iddan assigned iddan and dennwc and unassigned iddan Dec 16, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants