Yea, I think “Powered By” is good.

Marko.



> On Mar 17, 2017, at 1:39 PM, Robert Dale <[email protected]> wrote:
> 
> +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

Reply via email to