> 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
> > >>
> > >> ________________________________
> > >>
> > >>
> > >
> > > ________________________________
> > >
> >
> >
> > ________________________________
> >
> >
>
> ________________________________
>
>

Reply via email to