+1 for Powered By On Fri, Mar 17, 2017 at 14:50 Stephen Mallette <[email protected]> wrote:
> > I don't want to bore you with a sales pitch, > > Definitely not boring by any means. I think we all like to hear what folks > are using TinkerPop for. We really don't get a ton of feedback from folks - > I suppose that is the nature of open source software. I think it's possible > that having the "Powered By" section would help encourage folks to share. > > On Fri, Mar 17, 2017 at 2:25 PM, Paul A. Jackson <[email protected]> > wrote: > > > Hi Stephen, > > > > I agree with the short-comings of our web site. What can I say in a > public > > forum? I will continue to suggest improvements and I am confident the > > changes are in the works and there's no need for me to keep bringing it > up > > every month or so. > > > > I don't want to bore you with a sales pitch, but in terms of what we do > > with Gremlin and what we add..... > > > > Between Gremlin and Neo4j, we have our own graph API. It's how we both > > protect against vendor lockin as well as add value. > > > > On top of Gremlin we have a graphical query builder that exposes a subset > > of the query language - options for starting step that expose all kinds > of > > fuzzy matching, traversals steps with various conditions, options for > > allowing circular and/or partial traversals, and (cool part) a way to map > > each step in the query to a path in a tree, which makes integration with > > our ETL dataflow nice and easy. Of course you can drop down to the actual > > Gremlin that it generates and edit it using any of the Gremlin (OLTP) > > features. > > > > Our integration between Gremlin and Neo4j is cool. The current > > Neo-provided driver supports labels and table scans and that's it. In > > addition to supporting equals, and, or, within, gt/lt/gte/lte/between, we > > added some of our own BiPredicates to support startsWith, endsWith, > > contains, wildcard, and fuzzy, and support combining multiple has() steps > > with multiple properties and generating a Lucene Query that we pass to > > Neo's legacy indexing. Much more powerful than even Cypher for matching > > initial starting nodes. > > > > Like what you described with Grakn.ai, we also have our own NLP-like (or > > Facebook Graph Search inspired) search, where a user can type a query > > (assisted by auto-complete) like: "Actor name Arnold Schwarzenegger > ActedIn > > Film ActedIn Actor name Contains Ventura" (real query), which generates > > this Gremlin: > > if (data['name'] == null) return [] > > graph.traversal(). > > V().has('name', data['name']).has('_stp_type', > > within('Actor')).as('Actor/Actor'). > > outE('ActedIn').simplePath().as('Actor/ActorToActedIn/ > > ActorToActedIn'). > > inV().has('_stp_type', within('Film')).simplePath(). > > as('Actor/ActorToActedIn/ActedInToFilm/ActedInToFilm'). > > inE('ActedIn').simplePath().as('Actor/ActorToActedIn/ > > ActedInToFilm/FilmToActedIn/FilmToActedIn'). > > outV().has('_stp_type', within('Actor')).filter{it. > > get().property('name').orElse(null) != null && it.get().property('name'). > > orElse(null).toString().toUpperCase().contains(String. > > valueOf(data['name2']).toUpperCase())}.simplePath(). > > as('Actor/ActorToActedIn/ActedInToFilm/FilmToActedIn/ > > ActedInToActor/ActedInToActor'). > > select('Actor/Actor','Actor/ActorToActedIn/ActorToActedIn' > > > ,'Actor/ActorToActedIn/ActedInToFilm/ActedInToFilm','Actor/ActorToActedIn/ > > ActedInToFilm/FilmToActedIn/FilmToActedIn','Actor/ > > > ActorToActedIn/ActedInToFilm/FilmToActedIn/ActedInToActor/ActedInToActor') > > > > ...and brings back Arnold Schwarzenegger->ActedIn->Running > > Man<-ActedIn<-Jesse Ventura and Arnold Schwarzenegger->ActedIn-> Predator > > <-ActedIn<-Jesse Ventura. This query can be saved and parameterized > > allowing the names be passed into a web service as arguments and > returning > > movies that any two actors acted in. (All with clicks, no code.) (All > those > > slashes in the as() steps are how we indicate how to map the output to a > > hierarchical list of maps.) > > > > There's other cool stuffs that has less to do with Gremlin like security, > > federation (augmenting a graph with "virtual" JDBC data, in a way that > > looks like one big graph to the Gremlin user), graph history, ETL steps > for > > import, update, read, query, split, merge, etc. Blah, blah, blah. > > > > Anywho, yeah, our web site sucks. > > > > -Paul > > > > -----Original Message----- > > From: Stephen Mallette [mailto:[email protected]] > > Sent: Friday, March 17, 2017 1:18 PM > > To: [email protected] > > Subject: Re: Requirements for listing as a vendor > > > > Hi Paul, Grakn seems different from your case, at least based on what > I've > > understood of your product. Grakn actually has the Graql language which > > compiles down to the Gremlin. It is an interesting level of integration > and > > promotes the idea of the Gremlin Virtual Machine in a very public way. > As I > > understand your product, it seems like you've built an application that > > uses TinkerPop, but doesn't expand it with additional libraries/tooling > > that would qualify it as a "Provider". I'm pretty sure that all > "Providers" > > thus far would fit that definition though the visualization providers > > might be a bit on the edge there of that definition (are they really > > "Powered By" > > now that we're talking about it?). Not sure if that makes any sense as a > > distinction or if that's our definition for our distinction as this is > > "new" but it's what's on my mind as one right now. > > > > You mentioned your web site not being developer driven - still might be > > nice if it mentioned something about it using "Apache TinkerPop" as a > core > > component of what it does. I don't think I saw that anywhere. If we were > to > > use our Provider Policy as a guide for Powered By then I think having > such > > a mention there would likely be a requirement for listing on the > TinkerPop > > site. Not sure how others feel about that, but again just throwing ideas > > out there as we develop this. > > > > On Fri, Mar 17, 2017 at 12:41 PM, Paul A. Jackson <[email protected]> > > wrote: > > > > > This sounds great. > > > > > > At the same time, though, I was looking at other providers and judging > > > from architecture diagrams (eg. > > > https://grakn.ai/pages/documentation/the- > > > fundamentals/grakn-architecture.html) some look similar to ours. > > > > > > It may be the case that our web site is directed more towards business > > > types than developers, is available through direct sales only, etc, > > > rather than architectural differences? > > > > > > -Paul > > > > > > > > > -----Original Message----- > > > From: Marko Rodriguez [mailto:[email protected]] > > > Sent: Thursday, March 16, 2017 4:13 PM > > > To: [email protected] > > > Subject: Re: Requirements for listing as a vendor > > > > > > I say we add a “Powered By” section to the website and list > > > “leveraging systems” as I wouldn’t call this a “TinkerPop Provider” > > > like I would a more “low level” graph database system…. > > > > > > If we open up “Powered By” it would allow us to show people the types > > > of products, projects, nick nacks and doo dads that are out there > > > leveraging TinkerPizzzop. > > > > > > Marko. > > > > > > > > > > On Mar 16, 2017, at 1:56 PM, Paul A. Jackson <[email protected]> > > > wrote: > > > > > > > > I agree that the last bullet is not met. We bundle the Tinkerpop > > > > stack, > > > so the idea of version compatibility doesn't make sense. Instead, we > > > offer a platform that builds an ecosystem around the graph (ETL, fuzzy > > > matching, rich analysis client, etc). One feature is graph query. The > > > users can supply their own Gremlin queries, or they can use our > > > graphical query builder, which generates Gremlin. > > > > > > > > Anywho, what do you think? I concur we do not fit in the provider > > > bucket. But we have been around for 5 years. The offering is pretty > > > mature at this point. > > > > > > > > -Paul > > > > > > > > > > > > > > > > -----Original Message----- > > > > From: Robert Dale [mailto:[email protected]] > > > > Sent: Thursday, March 16, 2017 1:50 PM > > > > To: [email protected] > > > > Subject: Re: Requirements for listing as a vendor > > > > > > > > You should start here: http://tinkerpop.apache.org/policy.html > > > > > > > > It's not obvious to me that the last 3 bullets are met. > > > > > > > > Robert Dale > > > > > > > > On Thu, Mar 16, 2017 at 12:56 PM, Paul A. Jackson > > > > <[email protected]> > > > > wrote: > > > > > > > >> Hi, > > > >> > > > >> What are the requirements for being lists as a Gremlin provider? We > > > >> (Pitney Bowes) have an integrated product offering called Spectrum > > > >> Data Hub (you'll also see it listed as part of the Spectrum MDM > > > >> solution). The product is its own application server and we embed > > > >> Gremlin on top of embedded Neo4j using our own "blueprints" adapter. > > > >> So, access to the graph is from our own apps, rather that via a > > > >> Gremlin > > > console or server. > > > >> > > > >> I don't know if this makes us a special case or not. Can you let us > > > >> know if we qualify and/or if there's anything we would need to do > so? > > > >> > > > >> Here's a link to the product literature: > > > >> http://www.pitneybowes.com/us/ > > > >> customer-information-management/data-integration- > > > >> management/spectrum-data-hub-module.html > > > >> > > > >> Thanks, > > > >> -Paul > > > >> > > > >> ________________________________ > > > >> > > > >> > > > > > > > > ________________________________ > > > > > > > > > > > > > ________________________________ > > > > > > > > > > ________________________________ > > > > > -- Robert Dale
