--
You received this message because you are subscribed to the Google Groups "Aurelius" group.
To unsubscribe from this group and stop receiving emails from it, send an email to aureliusgraph...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
--
You received this message because you are subscribed to the Google Groups "Aurelius" group.
To unsubscribe from this group and stop receiving emails from it, send an email to aureliusgraph...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
This looks great. I can't wait to start using it.Out of interest, do you think that the query API will eventually make it into Blueprints?Bryn
--
You received this message because you are subscribed to the Google Groups "Aurelius" group.
To unsubscribe from this group and stop receiving emails from it, send an email to aureliusgraph...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
--
You received this message because you are subscribed to the Google Groups "Aurelius" group.
To unsubscribe from this group and stop receiving emails from it, send an email to aureliusgraph...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
Hi,
Few things on this.
1. Make sure you don't have non-primitive property values as Faunus doesn't support them yet. If you do, you can always transfer them over afterwards using this technique: https://github.com/thinkaurelius/faunus/wiki/Distributed-Graph-Computing-with-Gremlin
2. Make use of a SequenceFile instead of GraphSON for speed. Though, with GraphSON you have an easily parseable backup to use with other tools if need be. Also, with GraphSON, ints are longs.
3. Make sure to fully set up your indices in Titan 0.3.0 prior to bulk load and don't rely on schema inferencing. Faunus schema inferencing is not type-smart.
4. Always check the statistics of the graph afterwards to make sure everything came across. Counters to watch for on the final BlueprintsOutputMapReduce is NULL_VERTICES and NULL_VERTEX_EDGES.
Have been dealing with this lately...
Good luck,
Marko.
Why yor choose ES instead Solr - Solr more stable and sync release with Lucene?
--
You received this message because you are subscribed to the Google Groups "Aurelius" group.
To unsubscribe from this group and stop receiving emails from it, send an email to aureliusgraph...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
Hey guys,just wanted to share with you an update on the Titan roadmap. We re-prioritized a bunch of features and decided that it was about time to remove some technical debt in the Titan core module. This turned out into a major rewrite Titan's internals which opened the door to adding some great new features. With that many changes, Titan 0.3.0 will be backwards incompatible, so we decided to do a 0.2.1 release first, which includes a bunch of bugfixes, the multi-module refactoring and other changes that we have added to master over the last two months. Titan 0.2.1-SNAPSHOT has been deployed to sonatype and will be released in two weeks.Titan 0.3.0-SNAPSHOT currently lives in the "indexing" branch which indicates one of the major new features that will be coming in Titan 0.3.0: full-text indexing, numeric range indexing, and geospatial indexing for both vertices and edges. These advanced indexing capabilities are provided by ElasticSearch (http://www.elasticsearch.org/) and Lucene (http://lucene.apache.org/) which are now integrated into Titan and available as Titan modules. Similarly to storage backends, Titan abstract external indexes which allows it to interface with arbitrary indexing solutions. We chose Lucene for this initial release because its the most popular and most mature indexing system in the open source domain. Like BerkeleyDB, it is designed for single machine use. ElasticSearch is a fairly young but quickly maturing open source project build on top of Lucene that scales to multiple servers and is robust against failure. Hence, it is an ideal partner for Cassandra or Hbase.To include one of the two external indexes into your project, you simply configure them in your properties file. For instance:
storage.index.search.backend=com.thinkaurelius.titan.diskstorage.es.ElasticSearchIndexstorage.index.search.hosts=[LIST_OF_HOST_IPs]Here, "search" is the name you give to your index. Since you can register multiple external indices with Titan, each is uniquely identified by its name.Now, you can tell Titan to index certain keys for you:graph.makeType().name('time').dataType(Long.class).indexed('search', Edge.class).indexed(Vertex.class).unique(Direction.OUT).makePropertyKey();graph.makeType().name('location').dataType(Geoshape.class).indexed('search', Edge.class).indexed('search',Vertex.class.unique(Direction.OUT).group(PROPG).makePropertyKey();So, you use "indexed" to tell Titan that you want a particular key to be indexed and then you specify the name of the index you want to use ("search") and whether you want to index vertices or edges. That's right, Titan supports edge indexing now. If you leave out the name of the index (as we do for the 'time' key and vertices), then it defaults to Titan's "standard" indexing mechanism, namely using the underlying storage backend for indexing. This is what Titan provided all along for equality lookups.Note, that Titan has its own geo-representation (Geoshape) which makes it easy for you to indexes vertices and edges by their location.To query, you do:g.query().has('time',Cmp.GREATER_THAN,System.currentTimeMillis()-1000000).has('location',Geo.WITHIN,Geoshape.circle(33.0,22.0,100)).edges()which constitutes an "AND" query for all edges that have a timestamp larger than 1000 seconds ago and are within 100 km around that random geo point I inserted there.I hope that gives you an idea for how this works. As with storage backends, all indexing handling is done by Titan and you can do everything at the level of the graph.Since a lot of people have asked for this feature, I thought you might want to take a look at Titan 0.3.0-SNAPSHOT and play around with it to give us some feedback on this new feature. Note, that Titan 0.3.0 is not yet stable as we are still tinkering with the interface and sorting out some hyper threading issues.Other things that are new in 0.3.0:- use "unique" in type definitions to mark labels and keys as functional (i.e. unique(Direction.OUT)). That allows us to remove that mathematical "functional".- complete rewrite of the caching engine which is now much better about caching vertex centric query results- better byte representation and lazy de-serialization for better performance- better query optimization and query rewriting for both vertex centric queries and global graph queries- Edge now longer extends Vertex. Access to unidirectional edges through get/setProperty
- Properties on vertices can have properties on them (mind boggling...) which is very useful for version, timestamping, etc
So, lots of new stuff. Please check it out and let us know if you find any issues.Thanks,Matthias
--
You received this message because you are subscribed to the Google Groups "Aurelius" group.
To unsubscribe from this group and stop receiving emails from it, send an email to aureliusgraph...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.