Giter VIP home page Giter VIP logo

blueprints's Introduction

Blueprints is a property graph model interface. It provides implementations, test suites, and supporting extensions. Graph databases and frameworks that implement the Blueprints interfaces automatically support Blueprints-enabled applications. Likewise, Blueprints-enabled applications can plug-and-play different Blueprints-enabled graph backends.

NOTE
We moved OrientDB Blueprints project to be merged in OrientDB official repository:
https://github.com/orientechnologies/orientdb/tree/master/graphdb

This repository is deprecated and will be removed in the next weeks.

blueprints's People

Contributors

alexaverbuch avatar asaf avatar bryncooke avatar countvajhula avatar dalaro avatar dmitriid avatar enisher avatar espeed avatar gregbowyer avatar hakusaro avatar jordanlewis avatar joshsh avatar jramsdale avatar jtakakura avatar kmussel avatar laa avatar lvca avatar mbroecheler avatar mikedias avatar mikesname avatar okram avatar pierredewilde avatar raymanrt avatar sgomezvillamor avatar simonbrandhof avatar spmallette avatar tor5 avatar varju avatar xhochy avatar xsanchez avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

blueprints's Issues

New Asynch mode to improve consistency and let to the client to get decisions based on results

Right now we support asynchronous calls when work with remote client. Another interesting feature would be having a new API call to retrieve the status of calls. Like:

clientA -> Server, req 0
clientA -> Server, req 1
clientA -> Server, req 2
clientA -> Server, req 3

After X seconds the clientA asks for the results of asynch calls:

clientA <- Server, [ req 0 = ok, req 1 = ok, req 2 = ok, req 3 = ok ]

We could also get back the version ID to update client's cache.

Cannot create a database with latest 1.6.0-SNAPSHOT

Using the latest 1.6.0-SNAPSHOT (20130830-0231), I get the following error when creating a database:

java.lang.IncompatibleClassChangeError: Found interface com.orientechnologies.orient.core.metadata.OMetadata, but class was expected
com.tinkerpop.blueprints.impls.orient.OrientBaseGraph.checkForGraphSchema(OrientBaseGraph.java:509)
com.tinkerpop.blueprints.impls.orient.OrientBaseGraph.openOrCreate(OrientBaseGraph.java:800)
com.tinkerpop.blueprints.impls.orient.OrientBaseGraph.(OrientBaseGraph.java:100)
com.tinkerpop.blueprints.impls.orient.OrientTransactionalGraph.(OrientTransactionalGraph.java:36)
com.tinkerpop.blueprints.impls.orient.OrientGraph.(OrientGraph.java:27)

OrientBaseGraph addVertex doesnt update document id with distributed server

I'm using orientdb-1.6.0-20131025.164813-147-distribution. When I run the distributed server the OrientBaseGraph.addVertex doesn't update the document id. So it'll be something like "tinkerpop#15:-3".

It looks like the issue is when calling graph.autoStartTransaction().

If I bypass addVertex and just create a new OrientVertex without properties and called save on it, it worked. If I did it with properties it didn't work. So I commented out the graph.autoStartTransaction(); in OrientElement.java setProperties method and it worked.

Gremlin has on Date field

Moved from: orientechnologies/orientdb#1650

Version 1.5 (last release)
We have a vertex with a date field.

if I call this gremlin through rest:
g.V('@Class','myVertex').has('dateField', T.lte, new Date())
Orient returns:
System.Exception: DB Error:InternalServerError. Msg:com.orientechnologies.orient.core.sql.OCommandSQLParsingException: Error on parsing command at position #65: Invalid keyword 'AUG'
Command: select from V where @Class = 'myVertex' and dateField <= Fri Aug 30 17:19:39 CEST 2013 LIMIT 2147483647

If I change the query in:
g.V('@Class','myVertex').as('x').has('dateField', T.lte, new Date())
all works.

orientdb vertex.getEdges(other_vertex, direction) not working correctly

Moved from: https://github.com/tinkerpop/blueprints/issues/423

When you want the edges between 2 vertices it returns all edges with the same label and not just the edge that connects to the other_vertex.

Ex.
If I have 3 vertices (v1, v2, v3) and I add relationships like this:
v1.addEdge('targets', v2)
v1.addEdge('targets', v3)

Then if I call v1.getEdges(v2, Direction::Out, 'targets') it will return edges for both v2 and v3.

It's part of the OrientDB Blueprints api. Specifically https://github.com/tinkerpop/blueprints/blob/master/blueprints-orient-graph/src/main/java/com/tinkerpop/blueprints/impls/orient/OrientVertex.java in the getEdges method. It doesn't pass in the destinationVId when the field value is a collection greater than 1.

Issue when adding index on class when the name of index has the class name in it

Create an index on a class with the name of the index prepended with the class name.
Ex. "BaseModel.guid"

Then when you call getVertices("guid", "123....") without the class name it goes into an infinite loop.

It looks like getVertices in OrientBaseGraph actually prepends the class name if there isn't one("V") before searching (another issue).

It then calls:
idx = getContext(true).rawGraph.getMetadata() .getIndexManager().getIndex(indexName);
It doesn't find anything for "V.guid" index so calls the query.has(key, val).vertices

In there it checks for indices as well but uses: ((KeyIndexableGraph) graph).getIndexedKeys(elementClass);

This returns "guid" so it thinks there's an index on it and calls graph.getVertices("guid", "123...") again.
And the loop continues.

Not sure if indexed_keys should have the full name of the index on it or if there is a reason why it's just the name without the class.

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.