├── .gitignore ├── BUILDING.md ├── CHANGELOG.asc ├── LICENSE.txt ├── NOTICE.txt ├── README.textile ├── RELEASING.md ├── TESTING.md ├── UPGRADE.asc ├── docs ├── TitanBus.md ├── acknowledgements.txt ├── adoc_attributes.txt ├── advanced.txt ├── advblueprints.txt ├── advschema.txt ├── appendices.txt ├── bdb.txt ├── building.txt ├── bulkloading.txt ├── cassandra.txt ├── changelog.txt ├── configref.txt ├── datamodel.txt ├── directindex.txt ├── elasticsearch.txt ├── eventualconsistency.txt ├── exampleconfig.txt ├── generating.txt ├── hadoop.txt ├── hbase.txt ├── index.txt ├── indexbackends.txt ├── inmemorybackend.txt ├── intro.txt ├── listings │ ├── faunus_cfg.txt │ ├── faunus_rdf_cfg.txt │ ├── faunus_script_cfg.txt │ └── titan_cfg.txt ├── lucene.txt ├── monitoring.txt ├── partitioning.txt ├── presentations.txt ├── recovery.txt ├── reindex.txt ├── relatedmaterial.txt ├── relatedprojects.txt ├── searchpredicates.txt ├── serializer.txt ├── solr.txt ├── static │ ├── avada-stub │ │ ├── css │ │ │ ├── admin_shortcodes.css │ │ │ ├── animate-custom.css │ │ │ ├── bbpress.css │ │ │ ├── ie.css │ │ │ ├── ie10.css │ │ │ ├── ie8.css │ │ │ ├── inlineblob.css │ │ │ ├── ipad.css │ │ │ ├── media.css │ │ │ └── vc_converter.css │ │ ├── images │ │ │ └── titandb-logo.png │ │ ├── js │ │ │ └── main.js │ │ └── style.css │ ├── css │ │ └── titandocs.css │ ├── font-awesome-4.0.3 │ │ ├── VERSION.txt │ │ ├── css │ │ │ ├── font-awesome.css │ │ │ └── font-awesome.min.css │ │ ├── fonts │ │ │ ├── FontAwesome.otf │ │ │ ├── fontawesome-webfont.eot │ │ │ ├── fontawesome-webfont.svg │ │ │ ├── fontawesome-webfont.ttf │ │ │ └── fontawesome-webfont.woff │ │ ├── less │ │ │ ├── bordered-pulled.less │ │ │ ├── core.less │ │ │ ├── fixed-width.less │ │ │ ├── font-awesome.less │ │ │ ├── icons.less │ │ │ ├── larger.less │ │ │ ├── list.less │ │ │ ├── mixins.less │ │ │ ├── path.less │ │ │ ├── rotated-flipped.less │ │ │ ├── spinning.less │ │ │ ├── stacked.less │ │ │ └── variables.less │ │ └── scss │ │ │ ├── _bordered-pulled.scss │ │ │ ├── _core.scss │ │ │ ├── _fixed-width.scss │ │ │ ├── _icons.scss │ │ │ ├── _larger.scss │ │ │ ├── _list.scss │ │ │ ├── _mixins.scss │ │ │ ├── _path.scss │ │ │ ├── _rotated-flipped.scss │ │ │ ├── _spinning.scss │ │ │ ├── _stacked.scss │ │ │ ├── _variables.scss │ │ │ └── font-awesome.scss │ ├── images │ │ ├── adjacency-list.graffle │ │ ├── adjacency-list.png │ │ ├── bigtablemodel.png │ │ ├── building-titan.png │ │ ├── cassandra-small.svg │ │ ├── data-science-chain.graffle │ │ ├── data-science-chain.png │ │ ├── dbpedia-indegree.png │ │ ├── dbpedia-outdegree.png │ │ ├── dead-elephants.png │ │ ├── download-button.png │ │ ├── ec2-screenshot.png │ │ ├── faunus-character.pdf │ │ ├── faunus-character.png │ │ ├── faunus-character.svg │ │ ├── faunus-diagram.png │ │ ├── faunus-distributed-gremlin.graffle │ │ ├── faunus-distributed-gremlin.png │ │ ├── faunus-elephants.graffle │ │ ├── faunus-elephants.png │ │ ├── faunus-graph-workflow.graffle │ │ ├── faunus-graph-workflow.png │ │ ├── faunus-head-logo.graffle │ │ ├── faunus-head-logo.png │ │ ├── faunus-head.png │ │ ├── faunus-logo.graffle │ │ ├── faunus-logo.png │ │ ├── faunus-rexster-security-group-screenshot.png │ │ ├── faunus-seated.pdf │ │ ├── faunus-seated.png │ │ ├── faunus-security-group-screenshot.png │ │ ├── graph-derivation.graffle │ │ ├── graph-derivation.png │ │ ├── graph-globe.png │ │ ├── graph-of-the-gods-2.png │ │ ├── graph-of-the-gods.png │ │ ├── graph-statistic.graffle │ │ ├── graph-statistic.png │ │ ├── gremlin-elephant.graffle │ │ ├── gremlin-elephant.png │ │ ├── gremlin-terminal.png │ │ ├── hadoop-elephant.png │ │ ├── hadoop-logo.jpg │ │ ├── hdfs-logo.jpg │ │ ├── icons │ │ │ ├── README │ │ │ ├── callouts │ │ │ │ ├── 1.png │ │ │ │ ├── 10.png │ │ │ │ ├── 11.png │ │ │ │ ├── 12.png │ │ │ │ ├── 13.png │ │ │ │ ├── 14.png │ │ │ │ ├── 15.png │ │ │ │ ├── 2.png │ │ │ │ ├── 3.png │ │ │ │ ├── 4.png │ │ │ │ ├── 5.png │ │ │ │ ├── 6.png │ │ │ │ ├── 7.png │ │ │ │ ├── 8.png │ │ │ │ └── 9.png │ │ │ ├── caution.png │ │ │ ├── example.png │ │ │ ├── home.png │ │ │ ├── important.png │ │ │ ├── next.png │ │ │ ├── note.png │ │ │ ├── prev.png │ │ │ ├── tip.png │ │ │ ├── up.png │ │ │ └── warning.png │ │ ├── juno-married.graffle │ │ ├── juno-married.png │ │ ├── mapreduce-logo.jpg │ │ ├── relationlayout.png │ │ ├── rexster-gremlin-elephant.graffle │ │ ├── script-format-logo.graffle │ │ ├── script-format-logo.png │ │ ├── splash-graph.png │ │ ├── super-node.graffle │ │ ├── super-node.png │ │ ├── titan-architecture-layer-diagram.svg │ │ ├── titan-captheorem.png │ │ ├── titan-configuration.png │ │ ├── titan-elasticsearch.png │ │ ├── titan-globe.png │ │ ├── titan-head.png │ │ ├── titan-kneeling.png │ │ ├── titan-logo.graffle │ │ ├── titan-logo.png │ │ ├── titan-modes-distributed.png │ │ ├── titan-modes-embedded.png │ │ ├── titan-modes-local.png │ │ ├── titan-modes-rexster.png │ │ ├── titan-seated-highres.png │ │ ├── titan-seated.pdf │ │ ├── titan-seated.png │ │ ├── titanstoragelayout.png │ │ ├── vertex-centric-index.png │ │ ├── vertex-query-filter.graffle │ │ └── vertex-query-filter.png │ └── js │ │ └── jquery │ │ ├── jquery-1.11.0.js │ │ └── jquery-migrate-1.2.1.min.js ├── storagebackends.txt ├── textsearch.txt ├── titanbasics.txt ├── titaninternals.txt ├── tutorials.txt ├── upgrade.txt ├── usefultools.txt ├── versions.txt └── xsl │ ├── docbook │ ├── VERSION.xsl │ ├── common │ │ ├── addns.xsl │ │ ├── af.xml │ │ ├── am.xml │ │ ├── ar.xml │ │ ├── as.xml │ │ ├── ast.xml │ │ ├── autoidx-kimber.xsl │ │ ├── autoidx-kosek.xsl │ │ ├── az.xml │ │ ├── bg.xml │ │ ├── bn.xml │ │ ├── bn_in.xml │ │ ├── bs.xml │ │ ├── ca.xml │ │ ├── charmap.xml │ │ ├── charmap.xsl │ │ ├── common.xml │ │ ├── common.xsl │ │ ├── cs.xml │ │ ├── cy.xml │ │ ├── da.xml │ │ ├── de.xml │ │ ├── el.xml │ │ ├── en.xml │ │ ├── entities.ent │ │ ├── eo.xml │ │ ├── es.xml │ │ ├── et.xml │ │ ├── eu.xml │ │ ├── fa.xml │ │ ├── fi.xml │ │ ├── fr.xml │ │ ├── ga.xml │ │ ├── gentext.xsl │ │ ├── gl.xml │ │ ├── gu.xml │ │ ├── he.xml │ │ ├── hi.xml │ │ ├── hr.xml │ │ ├── hu.xml │ │ ├── id.xml │ │ ├── insertfile.xsl │ │ ├── is.xml │ │ ├── it.xml │ │ ├── ja.xml │ │ ├── ka.xml │ │ ├── kn.xml │ │ ├── ko.xml │ │ ├── ky.xml │ │ ├── l10n.dtd │ │ ├── l10n.xml │ │ ├── l10n.xsl │ │ ├── la.xml │ │ ├── labels.xsl │ │ ├── lt.xml │ │ ├── lv.xml │ │ ├── ml.xml │ │ ├── mn.xml │ │ ├── mr.xml │ │ ├── nb.xml │ │ ├── nds.xml │ │ ├── nl.xml │ │ ├── nn.xml │ │ ├── olink.xsl │ │ ├── or.xml │ │ ├── pa.xml │ │ ├── pi.xml │ │ ├── pi.xsl │ │ ├── pl.xml │ │ ├── pt.xml │ │ ├── pt_br.xml │ │ ├── refentry.xml │ │ ├── refentry.xsl │ │ ├── ro.xml │ │ ├── ru.xml │ │ ├── sk.xml │ │ ├── sl.xml │ │ ├── sq.xml │ │ ├── sr.xml │ │ ├── sr_Latn.xml │ │ ├── subtitles.xsl │ │ ├── sv.xml │ │ ├── ta.xml │ │ ├── table.xsl │ │ ├── targetdatabase.dtd │ │ ├── targets.xsl │ │ ├── te.xml │ │ ├── th.xml │ │ ├── titles.xsl │ │ ├── tl.xml │ │ ├── tr.xml │ │ ├── uk.xml │ │ ├── utility.xml │ │ ├── utility.xsl │ │ ├── vi.xml │ │ ├── xh.xml │ │ ├── zh.xml │ │ ├── zh_cn.xml │ │ └── zh_tw.xml │ ├── highlighting │ │ ├── bourne-hl.xml │ │ ├── c-hl.xml │ │ ├── cmake-hl.xml │ │ ├── common.xsl │ │ ├── cpp-hl.xml │ │ ├── csharp-hl.xml │ │ ├── css21-hl.xml │ │ ├── delphi-hl.xml │ │ ├── ini-hl.xml │ │ ├── java-hl.xml │ │ ├── javascript-hl.xml │ │ ├── lua-hl.xml │ │ ├── m2-hl.xml │ │ ├── myxml-hl.xml │ │ ├── perl-hl.xml │ │ ├── php-hl.xml │ │ ├── python-hl.xml │ │ ├── ruby-hl.xml │ │ ├── sql1999-hl.xml │ │ ├── sql2003-hl.xml │ │ ├── sql92-hl.xml │ │ ├── tcl-hl.xml │ │ ├── upc-hl.xml │ │ └── xslthl-config.xml │ ├── html │ │ ├── admon.xsl │ │ ├── annotations.xsl │ │ ├── autoidx-kimber.xsl │ │ ├── autoidx-kosek.xsl │ │ ├── autoidx-ng.xsl │ │ ├── autoidx.xsl │ │ ├── autotoc.xsl │ │ ├── biblio-iso690.xsl │ │ ├── biblio.xsl │ │ ├── block.xsl │ │ ├── callout.xsl │ │ ├── changebars.xsl │ │ ├── chunk-changebars.xsl │ │ ├── chunk-code.xsl │ │ ├── chunk-common.xsl │ │ ├── chunk.xsl │ │ ├── chunker.xsl │ │ ├── chunkfast.xsl │ │ ├── chunktoc.xsl │ │ ├── component.xsl │ │ ├── division.xsl │ │ ├── docbook.css.xml │ │ ├── docbook.xsl │ │ ├── ebnf.xsl │ │ ├── footnote.xsl │ │ ├── formal.xsl │ │ ├── glossary.xsl │ │ ├── graphics.xsl │ │ ├── highlight.xsl │ │ ├── html-rtf.xsl │ │ ├── html.xsl │ │ ├── htmltbl.xsl │ │ ├── index.xsl │ │ ├── info.xsl │ │ ├── inline.xsl │ │ ├── keywords.xsl │ │ ├── lists.xsl │ │ ├── maketoc.xsl │ │ ├── manifest.xsl │ │ ├── math.xsl │ │ ├── oldchunker.xsl │ │ ├── onechunk.xsl │ │ ├── param.xml │ │ ├── param.xsl │ │ ├── pi.xml │ │ ├── pi.xsl │ │ ├── profile-chunk-code.xsl │ │ ├── profile-chunk.xsl │ │ ├── profile-docbook.xsl │ │ ├── profile-onechunk.xsl │ │ ├── qandaset.xsl │ │ ├── refentry.xsl │ │ ├── sections.xsl │ │ ├── synop.xsl │ │ ├── table.xsl │ │ ├── task.xsl │ │ ├── titlepage.templates.xml │ │ ├── titlepage.templates.xsl │ │ ├── titlepage.xsl │ │ ├── toc.xsl │ │ ├── verbatim.xsl │ │ └── xref.xsl │ └── lib │ │ └── lib.xsl │ ├── highlight │ ├── bourne-hl.xml │ ├── gremlin-hl.xml │ ├── java-hl.xml │ ├── javascript-hl.xml │ ├── m2-hl.xml │ ├── properties-hl.xml │ ├── titanhighlight.xsl │ └── xslthl-config.xml │ ├── titanchunk.xsl │ ├── titancommon.xsl │ └── titansingle.xsl ├── jre6.xslt ├── pom.xml ├── titan-all ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── thinkaurelius │ │ └── titan │ │ └── graphdb │ │ └── tinkerpop │ │ └── plugin │ │ └── TitanGremlinPlugin.java │ └── resources │ └── META-INF │ └── services │ └── org.apache.tinkerpop.gremlin.groovy.plugin.GremlinPlugin ├── titan-berkeleyje ├── pom.xml └── src │ ├── assembly │ └── distribution.xml │ ├── main │ └── java │ │ └── com │ │ └── thinkaurelius │ │ └── titan │ │ └── diskstorage │ │ └── berkeleyje │ │ ├── BerkeleyJEKeyValueStore.java │ │ ├── BerkeleyJEStoreManager.java │ │ └── BerkeleyJETx.java │ └── test │ ├── java │ └── com │ │ └── thinkaurelius │ │ └── titan │ │ ├── BerkeleyStorageSetup.java │ │ ├── blueprints │ │ ├── BerkeleyGraphComputerProvider.java │ │ ├── BerkeleyGraphProvider.java │ │ ├── process │ │ │ ├── BerkeleyTitanComputerTest.java │ │ │ ├── BerkeleyTitanProcessPerformanceTest.java │ │ │ ├── BerkeleyTitanProcessTest.java │ │ │ └── groovy │ │ │ │ ├── BerkeleyTitanGroovyProcessComputerTest.java │ │ │ │ └── BerkeleyTitanGroovyProcessStandardTest.java │ │ └── structure │ │ │ ├── BerkeleyTitanStructurePerformanceTest.java │ │ │ ├── BerkeleyTitanStructureTest.java │ │ │ └── groovy │ │ │ ├── BerkeleyTitanGroovyEnvironmentIntegrateTest.java │ │ │ ├── BerkeleyTitanGroovyEnvironmentPerformanceTest.java │ │ │ └── BerkeleyTitanGroovyEnvironmentTest.java │ │ ├── diskstorage │ │ └── berkeleyje │ │ │ ├── BerkeleyFixedLengthKCVSTest.java │ │ │ ├── BerkeleyKeyValueTest.java │ │ │ ├── BerkeleyLogTest.java │ │ │ └── BerkeleyVariableLengthKCVSTest.java │ │ └── graphdb │ │ ├── berkeleyje │ │ ├── BerkeleyGraphConcurrentTest.java │ │ ├── BerkeleyGraphPerformanceMemoryTest.java │ │ ├── BerkeleyGraphTest.java │ │ ├── BerkeleyOLAPTest.java │ │ ├── BerkeleyOperationCountingTest.java │ │ └── BerkeleyPartitionGraphTest.java │ │ └── database │ │ └── management │ │ └── BerkeleyManagementTest.java │ └── resources │ ├── log4j.properties │ └── rexster-fragment.xml ├── titan-cassandra ├── config │ ├── cassandra-filters │ │ ├── localhost-bop.properties │ │ ├── localhost-murmur-ssl.properties │ │ └── localhost-murmur.properties │ ├── cassandra │ │ ├── cassandra-env.sh │ │ ├── cassandra.in.sh │ │ ├── cassandra.yaml │ │ ├── log4j-empty.properties │ │ ├── log4j-server.properties │ │ └── log4j-tools.properties │ ├── static │ │ ├── README.md │ │ ├── test.keystore │ │ └── test.truststore │ └── whirr-cassandra.properties ├── pom.xml └── src │ ├── assembly │ └── distribution.xml │ ├── main │ └── java │ │ ├── com │ │ └── thinkaurelius │ │ │ └── titan │ │ │ └── diskstorage │ │ │ └── cassandra │ │ │ ├── AbstractCassandraStoreManager.java │ │ │ ├── CLevel.java │ │ │ ├── CLevelInterface.java │ │ │ ├── CassandraTransaction.java │ │ │ ├── astyanax │ │ │ ├── AstyanaxKeyColumnValueStore.java │ │ │ └── AstyanaxStoreManager.java │ │ │ ├── embedded │ │ │ ├── CassandraEmbeddedKeyColumnValueStore.java │ │ │ └── CassandraEmbeddedStoreManager.java │ │ │ ├── thrift │ │ │ ├── CassandraThriftKeyColumnValueStore.java │ │ │ ├── CassandraThriftStoreManager.java │ │ │ └── thriftpool │ │ │ │ ├── CTConnection.java │ │ │ │ ├── CTConnectionFactory.java │ │ │ │ └── CTConnectionPool.java │ │ │ └── utils │ │ │ ├── CassandraDaemonWrapper.java │ │ │ └── CassandraHelper.java │ │ └── org │ │ └── apache │ │ └── cassandra │ │ └── thrift │ │ └── TBinaryProtocol.java │ └── test │ ├── java │ └── com │ │ └── thinkaurelius │ │ └── titan │ │ ├── CassandraStorageSetup.java │ │ ├── blueprints │ │ └── thrift │ │ │ ├── ThriftGraphComputerProvider.java │ │ │ ├── ThriftGraphProvider.java │ │ │ ├── process │ │ │ ├── ThriftComputerTest.java │ │ │ └── ThriftProcessTest.java │ │ │ └── structure │ │ │ └── ThriftStructureTest.java │ │ ├── diskstorage │ │ └── cassandra │ │ │ ├── AbstractCassandraStoreTest.java │ │ │ ├── CassandraTransactionTest.java │ │ │ ├── UUIDTest.java │ │ │ ├── astyanax │ │ │ ├── AstyanaxIDAuthorityTest.java │ │ │ ├── AstyanaxLockStoreTest.java │ │ │ ├── AstyanaxLogTest.java │ │ │ ├── AstyanaxMultiWriteStoreTest.java │ │ │ ├── AstyanaxSSLStoreTest.java │ │ │ └── AstyanaxStoreTest.java │ │ │ ├── embedded │ │ │ ├── EmbeddedIDAuthorityTest.java │ │ │ ├── EmbeddedLockStoreTest.java │ │ │ ├── EmbeddedLogTest.java │ │ │ ├── EmbeddedMultiWriteStoreTest.java │ │ │ └── EmbeddedStoreTest.java │ │ │ └── thrift │ │ │ ├── ThriftDistributedStoreManagerTest.java │ │ │ ├── ThriftIDAuthorityTest.java │ │ │ ├── ThriftLockStoreTest.java │ │ │ ├── ThriftLogTest.java │ │ │ ├── ThriftMultiWriteStoreTest.java │ │ │ ├── ThriftSSLStoreTest.java │ │ │ └── ThriftStoreTest.java │ │ ├── graphdb │ │ ├── CassandraGraphTest.java │ │ ├── astyanax │ │ │ ├── AstyanaxGraphConcurrentTest.java │ │ │ ├── AstyanaxGraphPerformanceMemoryTest.java │ │ │ ├── AstyanaxGraphTest.java │ │ │ └── AstyanaxPartitionGraphTest.java │ │ ├── embedded │ │ │ ├── EmbeddedEventualGraphTest.java │ │ │ ├── EmbeddedGraphConcurrentTest.java │ │ │ ├── EmbeddedGraphMemoryPerformanceTest.java │ │ │ ├── EmbeddedGraphTest.java │ │ │ └── EmbeddedPartitionGraphTest.java │ │ └── thrift │ │ │ ├── ThriftEventualGraphTest.java │ │ │ ├── ThriftGraphCacheTest.java │ │ │ ├── ThriftGraphConcurrentTest.java │ │ │ ├── ThriftGraphIterativeTest.java │ │ │ ├── ThriftGraphPerformanceMemoryTest.java │ │ │ ├── ThriftGraphSpeedTest.java │ │ │ ├── ThriftGraphTest.java │ │ │ ├── ThriftOLAPTest.java │ │ │ ├── ThriftOperationCountingTest.java │ │ │ └── ThriftPartitionGraphTest.java │ │ └── testcategory │ │ ├── CassandraSSLTests.java │ │ └── StandaloneTests.java │ └── resources │ ├── log4j.properties │ └── rexster-fragment.xml ├── titan-core ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── thinkaurelius │ │ └── titan │ │ ├── core │ │ ├── BaseVertexQuery.java │ │ ├── Cardinality.java │ │ ├── EdgeLabel.java │ │ ├── Idfiable.java │ │ ├── InvalidElementException.java │ │ ├── InvalidIDException.java │ │ ├── Multiplicity.java │ │ ├── Namifiable.java │ │ ├── PropertyKey.java │ │ ├── QueryDescription.java │ │ ├── QueryException.java │ │ ├── RelationType.java │ │ ├── SchemaViolationException.java │ │ ├── Titan.java │ │ ├── TitanConfigurationException.java │ │ ├── TitanEdge.java │ │ ├── TitanElement.java │ │ ├── TitanException.java │ │ ├── TitanFactory.java │ │ ├── TitanGraph.java │ │ ├── TitanGraphComputer.java │ │ ├── TitanGraphQuery.java │ │ ├── TitanGraphTransaction.java │ │ ├── TitanIndexQuery.java │ │ ├── TitanMultiVertexQuery.java │ │ ├── TitanProperty.java │ │ ├── TitanRelation.java │ │ ├── TitanTransaction.java │ │ ├── TitanVertex.java │ │ ├── TitanVertexProperty.java │ │ ├── TitanVertexQuery.java │ │ ├── TransactionBuilder.java │ │ ├── VertexLabel.java │ │ ├── VertexList.java │ │ ├── attribute │ │ │ ├── AttributeSerializer.java │ │ │ ├── Cmp.java │ │ │ ├── Contain.java │ │ │ ├── Geo.java │ │ │ ├── Geoshape.java │ │ │ └── Text.java │ │ ├── log │ │ │ ├── Change.java │ │ │ ├── ChangeProcessor.java │ │ │ ├── ChangeState.java │ │ │ ├── LogProcessorBuilder.java │ │ │ ├── LogProcessorFramework.java │ │ │ ├── TransactionId.java │ │ │ └── TransactionRecovery.java │ │ ├── schema │ │ │ ├── ConsistencyModifier.java │ │ │ ├── DefaultSchemaMaker.java │ │ │ ├── EdgeLabelMaker.java │ │ │ ├── JobStatus.java │ │ │ ├── Mapping.java │ │ │ ├── Parameter.java │ │ │ ├── PropertyKeyMaker.java │ │ │ ├── RelationTypeIndex.java │ │ │ ├── RelationTypeMaker.java │ │ │ ├── SchemaAction.java │ │ │ ├── SchemaInspector.java │ │ │ ├── SchemaManager.java │ │ │ ├── SchemaStatus.java │ │ │ ├── TitanConfiguration.java │ │ │ ├── TitanGraphIndex.java │ │ │ ├── TitanIndex.java │ │ │ ├── TitanManagement.java │ │ │ ├── TitanSchemaElement.java │ │ │ ├── TitanSchemaType.java │ │ │ └── VertexLabelMaker.java │ │ └── util │ │ │ ├── ManagementUtil.java │ │ │ ├── ReflectiveConfigOptionLoader.java │ │ │ ├── TitanCleanup.java │ │ │ └── TitanId.java │ │ ├── diskstorage │ │ ├── Backend.java │ │ ├── BackendException.java │ │ ├── BackendTransaction.java │ │ ├── BaseTransaction.java │ │ ├── BaseTransactionConfig.java │ │ ├── BaseTransactionConfigurable.java │ │ ├── Entry.java │ │ ├── EntryList.java │ │ ├── EntryMetaData.java │ │ ├── IDAuthority.java │ │ ├── IDBlock.java │ │ ├── LoggableTransaction.java │ │ ├── MetaAnnotatable.java │ │ ├── MetaAnnotated.java │ │ ├── Mutation.java │ │ ├── PermanentBackendException.java │ │ ├── ReadBuffer.java │ │ ├── ResourceUnavailableException.java │ │ ├── ScanBuffer.java │ │ ├── StandardIndexProvider.java │ │ ├── StandardStoreManager.java │ │ ├── StaticBuffer.java │ │ ├── StoreMetaData.java │ │ ├── TemporaryBackendException.java │ │ ├── WriteBuffer.java │ │ ├── common │ │ │ ├── AbstractStoreManager.java │ │ │ ├── AbstractStoreTransaction.java │ │ │ ├── DistributedStoreManager.java │ │ │ ├── LocalStoreManager.java │ │ │ └── NoOpStoreTransaction.java │ │ ├── configuration │ │ │ ├── AbstractConfiguration.java │ │ │ ├── BasicConfiguration.java │ │ │ ├── ConcurrentWriteConfiguration.java │ │ │ ├── ConfigElement.java │ │ │ ├── ConfigNamespace.java │ │ │ ├── ConfigOption.java │ │ │ ├── Configuration.java │ │ │ ├── MergedConfiguration.java │ │ │ ├── MixedConfiguration.java │ │ │ ├── ModifiableConfiguration.java │ │ │ ├── ReadConfiguration.java │ │ │ ├── SystemConfiguration.java │ │ │ ├── TransactionalConfiguration.java │ │ │ ├── UserModifiableConfiguration.java │ │ │ ├── WriteConfiguration.java │ │ │ └── backend │ │ │ │ ├── CommonsConfiguration.java │ │ │ │ └── KCVSConfiguration.java │ │ ├── idmanagement │ │ │ ├── AbstractIDAuthority.java │ │ │ ├── ConflictAvoidanceMode.java │ │ │ └── ConsistentKeyIDAuthority.java │ │ ├── indexing │ │ │ ├── IndexEntry.java │ │ │ ├── IndexFeatures.java │ │ │ ├── IndexInformation.java │ │ │ ├── IndexMutation.java │ │ │ ├── IndexProvider.java │ │ │ ├── IndexQuery.java │ │ │ ├── IndexTransaction.java │ │ │ ├── KeyInformation.java │ │ │ ├── RawQuery.java │ │ │ └── StandardKeyInformation.java │ │ ├── keycolumnvalue │ │ │ ├── ConsistencyLevel.java │ │ │ ├── KCVMutation.java │ │ │ ├── KCVSManagerProxy.java │ │ │ ├── KCVSProxy.java │ │ │ ├── KCVSUtil.java │ │ │ ├── KeyColumnValueStore.java │ │ │ ├── KeyColumnValueStoreManager.java │ │ │ ├── KeyIterator.java │ │ │ ├── KeyRange.java │ │ │ ├── KeyRangeQuery.java │ │ │ ├── KeySliceQuery.java │ │ │ ├── ReadOnlyKeyColumnValueStore.java │ │ │ ├── SliceQuery.java │ │ │ ├── StandardStoreFeatures.java │ │ │ ├── StoreFeatures.java │ │ │ ├── StoreManager.java │ │ │ ├── StoreTransaction.java │ │ │ ├── cache │ │ │ │ ├── CachableStaticBuffer.java │ │ │ │ ├── CacheTransaction.java │ │ │ │ ├── ExpirationKCVSCache.java │ │ │ │ ├── KCVEntryMutation.java │ │ │ │ ├── KCVSCache.java │ │ │ │ └── NoKCVSCache.java │ │ │ ├── inmemory │ │ │ │ ├── ColumnValueStore.java │ │ │ │ ├── InMemoryKeyColumnValueStore.java │ │ │ │ └── InMemoryStoreManager.java │ │ │ ├── keyvalue │ │ │ │ ├── BaseKeyColumnValueAdapter.java │ │ │ │ ├── KVMutation.java │ │ │ │ ├── KVQuery.java │ │ │ │ ├── KVUtil.java │ │ │ │ ├── KeySelector.java │ │ │ │ ├── KeyValueEntry.java │ │ │ │ ├── KeyValueStore.java │ │ │ │ ├── KeyValueStoreManager.java │ │ │ │ ├── OrderedKeyValueStore.java │ │ │ │ ├── OrderedKeyValueStoreAdapter.java │ │ │ │ ├── OrderedKeyValueStoreManager.java │ │ │ │ └── OrderedKeyValueStoreManagerAdapter.java │ │ │ ├── scan │ │ │ │ ├── ScanJob.java │ │ │ │ ├── ScanMetrics.java │ │ │ │ ├── StandardScanMetrics.java │ │ │ │ ├── StandardScanner.java │ │ │ │ └── StandardScannerExecutor.java │ │ │ └── ttl │ │ │ │ ├── TTLKCVS.java │ │ │ │ └── TTLKCVSManager.java │ │ ├── locking │ │ │ ├── AbstractLocker.java │ │ │ ├── LocalLockMediator.java │ │ │ ├── LocalLockMediatorProvider.java │ │ │ ├── LocalLockMediators.java │ │ │ ├── LockStatus.java │ │ │ ├── Locker.java │ │ │ ├── LockerProvider.java │ │ │ ├── LockerState.java │ │ │ ├── PermanentLockingException.java │ │ │ ├── TemporaryLockingException.java │ │ │ └── consistentkey │ │ │ │ ├── ConsistentKeyLockStatus.java │ │ │ │ ├── ConsistentKeyLocker.java │ │ │ │ ├── ConsistentKeyLockerSerializer.java │ │ │ │ ├── ExpectedValueCheckingStore.java │ │ │ │ ├── ExpectedValueCheckingStoreManager.java │ │ │ │ ├── ExpectedValueCheckingTransaction.java │ │ │ │ ├── ExpiredLockException.java │ │ │ │ ├── LockCleanerService.java │ │ │ │ ├── StandardLockCleanerRunnable.java │ │ │ │ ├── StandardLockCleanerService.java │ │ │ │ └── TimestampRid.java │ │ ├── log │ │ │ ├── Log.java │ │ │ ├── LogManager.java │ │ │ ├── Message.java │ │ │ ├── MessageReader.java │ │ │ ├── ReadMarker.java │ │ │ ├── kcvs │ │ │ │ ├── ExternalCachePersistor.java │ │ │ │ ├── ExternalPersistor.java │ │ │ │ ├── KCVSLog.java │ │ │ │ ├── KCVSLogManager.java │ │ │ │ └── KCVSMessage.java │ │ │ └── util │ │ │ │ ├── AbstractMessage.java │ │ │ │ ├── FutureMessage.java │ │ │ │ └── ProcessMessageJob.java │ │ └── util │ │ │ ├── BackendCompression.java │ │ │ ├── BackendOperation.java │ │ │ ├── BufferUtil.java │ │ │ ├── ByteBufferUtil.java │ │ │ ├── CacheMetricsAction.java │ │ │ ├── DefaultTransaction.java │ │ │ ├── DirectoryUtil.java │ │ │ ├── EntryArrayList.java │ │ │ ├── HashUtility.java │ │ │ ├── HashingUtil.java │ │ │ ├── Hex.java │ │ │ ├── IOCallable.java │ │ │ ├── KeyColumn.java │ │ │ ├── MetricInstrumentedIterator.java │ │ │ ├── MetricInstrumentedStore.java │ │ │ ├── MetricInstrumentedStoreManager.java │ │ │ ├── NoLock.java │ │ │ ├── ReadArrayBuffer.java │ │ │ ├── RecordIterator.java │ │ │ ├── StandardBaseTransactionConfig.java │ │ │ ├── StaticArrayBuffer.java │ │ │ ├── StaticArrayEntry.java │ │ │ ├── StaticArrayEntryList.java │ │ │ ├── StorageCallable.java │ │ │ ├── UncaughtExceptionLogger.java │ │ │ ├── UncheckedCallable.java │ │ │ ├── WriteBufferUtil.java │ │ │ ├── WriteByteBuffer.java │ │ │ └── time │ │ │ ├── Durations.java │ │ │ ├── Temporals.java │ │ │ ├── Timer.java │ │ │ ├── TimestampProvider.java │ │ │ └── TimestampProviders.java │ │ ├── example │ │ └── GraphOfTheGodsFactory.java │ │ ├── graphdb │ │ ├── configuration │ │ │ ├── GraphDatabaseConfiguration.java │ │ │ ├── PreInitializeConfigOptions.java │ │ │ ├── RegisteredAttributeClass.java │ │ │ └── TitanConstants.java │ │ ├── database │ │ │ ├── EdgeSerializer.java │ │ │ ├── IndexSerializer.java │ │ │ ├── RelationFactory.java │ │ │ ├── RelationQueryCache.java │ │ │ ├── RelationReader.java │ │ │ ├── StandardTitanGraph.java │ │ │ ├── cache │ │ │ │ ├── MetricInstrumentedSchemaCache.java │ │ │ │ ├── SchemaCache.java │ │ │ │ └── StandardSchemaCache.java │ │ │ ├── idassigner │ │ │ │ ├── IDBlockSizer.java │ │ │ │ ├── IDPool.java │ │ │ │ ├── IDPoolExhaustedException.java │ │ │ │ ├── StandardIDPool.java │ │ │ │ ├── StaticIDBlockSizer.java │ │ │ │ ├── VertexIDAssigner.java │ │ │ │ └── placement │ │ │ │ │ ├── IDPlacementStrategy.java │ │ │ │ │ ├── PartitionAssignment.java │ │ │ │ │ ├── PartitionIDRange.java │ │ │ │ │ ├── PropertyPlacementStrategy.java │ │ │ │ │ ├── SimpleBulkPlacementStrategy.java │ │ │ │ │ └── SimplePartitionAssignment.java │ │ │ ├── idhandling │ │ │ │ ├── IDHandler.java │ │ │ │ └── VariableLong.java │ │ │ ├── indexing │ │ │ │ └── StandardIndexInformation.java │ │ │ ├── log │ │ │ │ ├── LogTxMeta.java │ │ │ │ ├── LogTxStatus.java │ │ │ │ └── TransactionLogHeader.java │ │ │ ├── management │ │ │ │ ├── AbstractIndexStatusWatcher.java │ │ │ │ ├── GraphIndexStatusReport.java │ │ │ │ ├── GraphIndexStatusWatcher.java │ │ │ │ ├── ManagementLogger.java │ │ │ │ ├── ManagementSystem.java │ │ │ │ ├── MgmtLogType.java │ │ │ │ ├── ModifierType.java │ │ │ │ ├── RelationIndexStatusReport.java │ │ │ │ ├── RelationIndexStatusWatcher.java │ │ │ │ ├── RelationTypeIndexWrapper.java │ │ │ │ └── TitanGraphIndexWrapper.java │ │ │ └── serialize │ │ │ │ ├── AttributeHandler.java │ │ │ │ ├── AttributeUtil.java │ │ │ │ ├── DataOutput.java │ │ │ │ ├── NoSerializer.java │ │ │ │ ├── OrderPreservingSerializer.java │ │ │ │ ├── Serializer.java │ │ │ │ ├── SerializerInjected.java │ │ │ │ ├── StandardSerializer.java │ │ │ │ ├── SupportsNullSerializer.java │ │ │ │ └── attribute │ │ │ │ ├── ArraySerializer.java │ │ │ │ ├── BooleanArraySerializer.java │ │ │ │ ├── BooleanSerializer.java │ │ │ │ ├── ByteArraySerializer.java │ │ │ │ ├── ByteSerializer.java │ │ │ │ ├── CharArraySerializer.java │ │ │ │ ├── CharacterSerializer.java │ │ │ │ ├── DateSerializer.java │ │ │ │ ├── DoubleArraySerializer.java │ │ │ │ ├── DoubleSerializer.java │ │ │ │ ├── DurationSerializer.java │ │ │ │ ├── EnumSerializer.java │ │ │ │ ├── FloatArraySerializer.java │ │ │ │ ├── FloatSerializer.java │ │ │ │ ├── InstantSerializer.java │ │ │ │ ├── IntArraySerializer.java │ │ │ │ ├── IntegerSerializer.java │ │ │ │ ├── LongArraySerializer.java │ │ │ │ ├── LongSerializer.java │ │ │ │ ├── ObjectSerializer.java │ │ │ │ ├── ParameterArraySerializer.java │ │ │ │ ├── ParameterSerializer.java │ │ │ │ ├── ShortArraySerializer.java │ │ │ │ ├── ShortSerializer.java │ │ │ │ ├── StandardTransactionIdSerializer.java │ │ │ │ ├── StringArraySerializer.java │ │ │ │ ├── StringSerializer.java │ │ │ │ ├── TypeDefinitionDescriptionSerializer.java │ │ │ │ └── UUIDSerializer.java │ │ ├── idmanagement │ │ │ ├── IDInspector.java │ │ │ └── IDManager.java │ │ ├── internal │ │ │ ├── AbstractElement.java │ │ │ ├── ElementCategory.java │ │ │ ├── ElementLifeCycle.java │ │ │ ├── InternalElement.java │ │ │ ├── InternalRelation.java │ │ │ ├── InternalRelationType.java │ │ │ ├── InternalVertex.java │ │ │ ├── InternalVertexLabel.java │ │ │ ├── Order.java │ │ │ ├── OrderList.java │ │ │ ├── RelationCategory.java │ │ │ ├── TitanSchemaCategory.java │ │ │ └── Token.java │ │ ├── log │ │ │ ├── ModificationDeserializer.java │ │ │ ├── StandardChangeState.java │ │ │ ├── StandardLogProcessorFramework.java │ │ │ ├── StandardTransactionId.java │ │ │ └── StandardTransactionLogProcessor.java │ │ ├── olap │ │ │ ├── QueryContainer.java │ │ │ ├── VertexJobConverter.java │ │ │ ├── VertexScanJob.java │ │ │ ├── computer │ │ │ │ ├── FulgoraElementTraversal.java │ │ │ │ ├── FulgoraGraphComputer.java │ │ │ │ ├── FulgoraMapEmitter.java │ │ │ │ ├── FulgoraMemory.java │ │ │ │ ├── FulgoraReduceEmitter.java │ │ │ │ ├── FulgoraUtil.java │ │ │ │ ├── FulgoraVertexMemory.java │ │ │ │ ├── FulgoraVertexProperty.java │ │ │ │ ├── PartitionVertexAggregate.java │ │ │ │ ├── PartitionedVertexProgramExecutor.java │ │ │ │ ├── VertexMapJob.java │ │ │ │ ├── VertexMemoryHandler.java │ │ │ │ ├── VertexProgramScanJob.java │ │ │ │ └── VertexState.java │ │ │ └── job │ │ │ │ ├── GhostVertexRemover.java │ │ │ │ ├── IndexRemoveJob.java │ │ │ │ ├── IndexRepairJob.java │ │ │ │ └── IndexUpdateJob.java │ │ ├── query │ │ │ ├── BackendQuery.java │ │ │ ├── BackendQueryHolder.java │ │ │ ├── BaseQuery.java │ │ │ ├── ElementQuery.java │ │ │ ├── LimitAdjustingIterator.java │ │ │ ├── MetricsQueryExecutor.java │ │ │ ├── Query.java │ │ │ ├── QueryExecutor.java │ │ │ ├── QueryProcessor.java │ │ │ ├── QueryUtil.java │ │ │ ├── ResultMergeSortIterator.java │ │ │ ├── ResultSetIterator.java │ │ │ ├── TitanPredicate.java │ │ │ ├── condition │ │ │ │ ├── And.java │ │ │ │ ├── Condition.java │ │ │ │ ├── ConditionUtil.java │ │ │ │ ├── DirectionCondition.java │ │ │ │ ├── FixedCondition.java │ │ │ │ ├── IncidenceCondition.java │ │ │ │ ├── IncidenceDirectionCondition.java │ │ │ │ ├── Literal.java │ │ │ │ ├── MultiCondition.java │ │ │ │ ├── Not.java │ │ │ │ ├── Or.java │ │ │ │ ├── PredicateCondition.java │ │ │ │ ├── RelationTypeCondition.java │ │ │ │ └── VisibilityFilterCondition.java │ │ │ ├── graph │ │ │ │ ├── GraphCentricQuery.java │ │ │ │ ├── GraphCentricQueryBuilder.java │ │ │ │ ├── IndexQueryBuilder.java │ │ │ │ ├── JointIndexQuery.java │ │ │ │ └── MultiKeySliceQuery.java │ │ │ ├── profile │ │ │ │ ├── ProfileObservable.java │ │ │ │ ├── QueryProfiler.java │ │ │ │ └── SimpleQueryProfiler.java │ │ │ └── vertex │ │ │ │ ├── BaseVertexCentricQuery.java │ │ │ │ ├── BaseVertexCentricQueryBuilder.java │ │ │ │ ├── BasicVertexCentricQueryBuilder.java │ │ │ │ ├── MultiVertexCentricQueryBuilder.java │ │ │ │ ├── SimpleVertexQueryProcessor.java │ │ │ │ ├── VertexArrayList.java │ │ │ │ ├── VertexCentricQuery.java │ │ │ │ ├── VertexCentricQueryBuilder.java │ │ │ │ ├── VertexListInternal.java │ │ │ │ └── VertexLongList.java │ │ ├── relations │ │ │ ├── AbstractEdge.java │ │ │ ├── AbstractTypedRelation.java │ │ │ ├── AbstractVertexProperty.java │ │ │ ├── CacheEdge.java │ │ │ ├── CacheVertexProperty.java │ │ │ ├── EdgeDirection.java │ │ │ ├── ReassignableRelation.java │ │ │ ├── RelationCache.java │ │ │ ├── RelationComparator.java │ │ │ ├── RelationIdentifier.java │ │ │ ├── SimpleTitanProperty.java │ │ │ ├── StandardEdge.java │ │ │ ├── StandardRelation.java │ │ │ └── StandardVertexProperty.java │ │ ├── schema │ │ │ ├── EdgeLabelDefinition.java │ │ │ ├── PropertyKeyDefinition.java │ │ │ ├── RelationTypeDefinition.java │ │ │ ├── SchemaContainer.java │ │ │ ├── SchemaElementDefinition.java │ │ │ ├── SchemaProvider.java │ │ │ └── VertexLabelDefinition.java │ │ ├── tinkerpop │ │ │ ├── ElementUtils.java │ │ │ ├── TitanBlueprintsGraph.java │ │ │ ├── TitanBlueprintsTransaction.java │ │ │ ├── TitanDefaultSchemaMaker.java │ │ │ ├── TitanFeatures.java │ │ │ ├── TitanGraphVariables.java │ │ │ ├── TitanIoRegistry.java │ │ │ ├── Tp3DefaultSchemaMaker.java │ │ │ ├── io │ │ │ │ └── graphson │ │ │ │ │ └── TitanGraphSONModule.java │ │ │ ├── optimize │ │ │ │ ├── AdjacentVertexFilterOptimizerStrategy.java │ │ │ │ ├── HasStepFolder.java │ │ │ │ ├── MultiQueriable.java │ │ │ │ ├── TitanGraphStep.java │ │ │ │ ├── TitanGraphStepStrategy.java │ │ │ │ ├── TitanLocalQueryOptimizerStrategy.java │ │ │ │ ├── TitanPropertiesStep.java │ │ │ │ ├── TitanTraversalUtil.java │ │ │ │ └── TitanVertexStep.java │ │ │ └── profile │ │ │ │ └── TP3ProfileWrapper.java │ │ ├── transaction │ │ │ ├── RelationConstructor.java │ │ │ ├── StandardTitanTx.java │ │ │ ├── StandardTransactionBuilder.java │ │ │ ├── TransactionConfiguration.java │ │ │ ├── VertexFactory.java │ │ │ ├── VertexIterable.java │ │ │ ├── addedrelations │ │ │ │ ├── AddedRelationsContainer.java │ │ │ │ ├── ConcurrentAddedRelations.java │ │ │ │ ├── ConcurrentBufferAddedRelations.java │ │ │ │ ├── SimpleAddedRelations.java │ │ │ │ └── SimpleBufferAddedRelations.java │ │ │ ├── indexcache │ │ │ │ ├── ConcurrentIndexCache.java │ │ │ │ ├── IndexCache.java │ │ │ │ └── SimpleIndexCache.java │ │ │ ├── lock │ │ │ │ ├── CombinerLock.java │ │ │ │ ├── FakeLock.java │ │ │ │ ├── IndexLockTuple.java │ │ │ │ ├── LockTuple.java │ │ │ │ ├── ReentrantTransactionLock.java │ │ │ │ └── TransactionLock.java │ │ │ └── vertexcache │ │ │ │ ├── GuavaVertexCache.java │ │ │ │ ├── LRUVertexCache.java │ │ │ │ └── VertexCache.java │ │ ├── types │ │ │ ├── CompositeIndexType.java │ │ │ ├── IndexField.java │ │ │ ├── IndexType.java │ │ │ ├── MixedIndexType.java │ │ │ ├── ParameterIndexField.java │ │ │ ├── ParameterType.java │ │ │ ├── SchemaSource.java │ │ │ ├── StandardEdgeLabelMaker.java │ │ │ ├── StandardPropertyKeyMaker.java │ │ │ ├── StandardRelationTypeMaker.java │ │ │ ├── StandardVertexLabelMaker.java │ │ │ ├── TypeDefinitionCategory.java │ │ │ ├── TypeDefinitionDescription.java │ │ │ ├── TypeDefinitionMap.java │ │ │ ├── TypeInspector.java │ │ │ ├── TypeUtil.java │ │ │ ├── VertexLabelVertex.java │ │ │ ├── indextype │ │ │ │ ├── CompositeIndexTypeWrapper.java │ │ │ │ ├── IndexTypeWrapper.java │ │ │ │ └── MixedIndexTypeWrapper.java │ │ │ ├── system │ │ │ │ ├── BaseKey.java │ │ │ │ ├── BaseLabel.java │ │ │ │ ├── BaseRelationType.java │ │ │ │ ├── BaseVertexLabel.java │ │ │ │ ├── EmptyRelationType.java │ │ │ │ ├── EmptyVertex.java │ │ │ │ ├── ImplicitKey.java │ │ │ │ ├── SystemRelationType.java │ │ │ │ └── SystemTypeManager.java │ │ │ ├── typemaker │ │ │ │ └── DisableDefaultSchemaMaker.java │ │ │ └── vertices │ │ │ │ ├── EdgeLabelVertex.java │ │ │ │ ├── PropertyKeyVertex.java │ │ │ │ ├── RelationTypeVertex.java │ │ │ │ └── TitanSchemaVertex.java │ │ ├── util │ │ │ ├── AllEdgesIterable.java │ │ │ ├── AllEdgesIterator.java │ │ │ ├── ConcurrentLRUCache.java │ │ │ ├── ElementHelper.java │ │ │ ├── ExceptionFactory.java │ │ │ ├── IndexHelper.java │ │ │ ├── PriorityQueue.java │ │ │ ├── VertexCentricEdgeIterable.java │ │ │ └── WorkerPool.java │ │ └── vertices │ │ │ ├── AbstractVertex.java │ │ │ ├── CacheVertex.java │ │ │ ├── PreloadedVertex.java │ │ │ ├── RemovableRelationIterable.java │ │ │ ├── RemovableRelationIterator.java │ │ │ └── StandardVertex.java │ │ └── util │ │ ├── datastructures │ │ ├── AbstractLongListUtil.java │ │ ├── ArraysUtil.java │ │ ├── BitMap.java │ │ ├── ByteSize.java │ │ ├── CompactMap.java │ │ ├── ExceptionUtil.java │ │ ├── Factory.java │ │ ├── ImmutableIntSet.java │ │ ├── IntHashSet.java │ │ ├── IntSet.java │ │ ├── Interval.java │ │ ├── IterablesUtil.java │ │ ├── LongCounter.java │ │ ├── Maps.java │ │ ├── PointInterval.java │ │ ├── RandomRemovalList.java │ │ ├── RangeInterval.java │ │ ├── Removable.java │ │ └── Retriever.java │ │ ├── encoding │ │ ├── ConversionHelper.java │ │ ├── LongEncoding.java │ │ ├── NumericUtils.java │ │ └── StringEncoding.java │ │ ├── stats │ │ ├── IntegerDoubleFrequency.java │ │ ├── MetricManager.java │ │ ├── NumberUtil.java │ │ └── ObjectAccumulator.java │ │ └── system │ │ ├── BackgroundThread.java │ │ ├── CheckSocket.java │ │ ├── ConfigurationFileFilter.java │ │ ├── ConfigurationLint.java │ │ ├── ConfigurationPrinter.java │ │ ├── ConfigurationUtil.java │ │ ├── IOUtils.java │ │ ├── NetworkUtil.java │ │ ├── TXUtils.java │ │ └── Threads.java │ └── resources │ ├── com │ └── thinkaurelius │ │ └── titan │ │ └── graphdb │ │ └── configuration │ │ └── titan.internal.properties │ └── log4j.properties ├── titan-dist ├── .gitignore ├── README.md ├── pom.xml ├── src │ ├── assembly │ │ ├── cfilter │ │ │ └── conf │ │ │ │ ├── titan-berkeleyje-es.properties │ │ │ │ ├── titan-berkeleyje-lucene.properties │ │ │ │ ├── titan-berkeleyje-solr.properties │ │ │ │ ├── titan-berkeleyje.properties │ │ │ │ ├── titan-cassandra-embedded-es.properties │ │ │ │ ├── titan-cassandra-embedded-solr.properties │ │ │ │ ├── titan-cassandra-embedded.properties │ │ │ │ ├── titan-cassandra-es.properties │ │ │ │ ├── titan-cassandra-solr.properties │ │ │ │ ├── titan-cassandra.properties │ │ │ │ ├── titan-hbase-es.properties │ │ │ │ ├── titan-hbase-solr.properties │ │ │ │ └── titan-hbase.properties │ │ ├── descriptor │ │ │ ├── archive.xml │ │ │ ├── cassandra.component.xml │ │ │ ├── common.component.xml │ │ │ ├── configs.component.xml │ │ │ ├── filesystem.xml │ │ │ ├── htmldocs.component.xml │ │ │ ├── javadocs.xml │ │ │ ├── pkgtools.xml │ │ │ └── readmes.component.xml │ │ └── static │ │ │ ├── README.txt │ │ │ ├── bin │ │ │ ├── cassandra │ │ │ ├── cassandra.in.sh │ │ │ ├── checkconfig.sh │ │ │ ├── checksocket.sh │ │ │ ├── elasticsearch │ │ │ ├── elasticsearch.in.sh │ │ │ ├── gremlin-server.bat │ │ │ ├── gremlin-server.sh │ │ │ ├── gremlin.bat │ │ │ ├── gremlin.sh │ │ │ ├── nodetool │ │ │ └── titan.sh │ │ │ ├── conf │ │ │ ├── cassandra │ │ │ │ ├── cassandra-env.sh │ │ │ │ ├── cassandra.yaml │ │ │ │ └── log4j-cassandra.properties │ │ │ ├── es │ │ │ │ ├── elasticsearch.yml │ │ │ │ └── logging.yml │ │ │ ├── gremlin-server │ │ │ │ ├── gremlin-server.yaml │ │ │ │ ├── log4j-server.properties │ │ │ │ ├── titan-berkeleyje-server.properties │ │ │ │ └── titan-cassandra-es-server.properties │ │ │ ├── hadoop-graph │ │ │ │ ├── hadoop-graphson.properties │ │ │ │ ├── hadoop-gryo.properties │ │ │ │ ├── hadoop-load.properties │ │ │ │ ├── hadoop-script.properties │ │ │ │ └── read-cassandra.properties │ │ │ ├── log4j-console.properties │ │ │ ├── remote-objects.yaml │ │ │ ├── remote.yaml │ │ │ └── solr │ │ │ │ ├── currency.xml │ │ │ │ ├── lang │ │ │ │ └── stopwords_en.txt │ │ │ │ ├── protwords.txt │ │ │ │ ├── schema.xml │ │ │ │ ├── solrconfig.xml │ │ │ │ ├── stopwords.txt │ │ │ │ └── synonyms.txt │ │ │ ├── data │ │ │ ├── grateful-dead-titan-schema.groovy │ │ │ ├── grateful-dead-typed.json │ │ │ ├── grateful-dead.json │ │ │ ├── grateful-dead.kryo │ │ │ ├── grateful-dead.txt │ │ │ ├── grateful-dead.xml │ │ │ ├── legacy-graphson-script-input.groovy │ │ │ ├── script-input-grateful-dead.groovy │ │ │ ├── script-input-tinkerpop.groovy │ │ │ ├── tinkerpop-classic-typed.json │ │ │ ├── tinkerpop-classic.json │ │ │ ├── tinkerpop-classic.kryo │ │ │ ├── tinkerpop-classic.txt │ │ │ ├── tinkerpop-classic.xml │ │ │ ├── tinkerpop-crew-typed.json │ │ │ ├── tinkerpop-crew.json │ │ │ ├── tinkerpop-crew.kryo │ │ │ ├── tinkerpop-modern-typed.json │ │ │ ├── tinkerpop-modern.json │ │ │ ├── tinkerpop-modern.kryo │ │ │ └── tinkerpop-modern.xml │ │ │ ├── ext │ │ │ ├── README.txt │ │ │ └── plugins.txt │ │ │ ├── log │ │ │ └── cassandra.log │ │ │ └── scripts │ │ │ └── empty-sample.groovy │ ├── pkg │ │ ├── resources │ │ │ └── pkgcommon │ │ │ │ ├── etc │ │ │ │ └── version.sh │ │ │ │ └── payload │ │ │ │ └── etc │ │ │ │ └── titan │ │ │ │ └── rexster.xml │ │ └── static │ │ │ ├── debian │ │ │ ├── .gitignore │ │ │ ├── README.packager │ │ │ ├── build.sh │ │ │ ├── changelog.past │ │ │ ├── compat │ │ │ ├── control │ │ │ ├── generate-changes.sh │ │ │ ├── reprepro.conf │ │ │ │ ├── README.md │ │ │ │ ├── distributions │ │ │ │ ├── options │ │ │ │ └── override.aurelius │ │ │ ├── rules │ │ │ ├── source │ │ │ │ └── format │ │ │ ├── titan.default │ │ │ ├── titan.dirs │ │ │ ├── titan.init │ │ │ ├── titan.install │ │ │ └── titan.postinst │ │ │ ├── pkgcommon │ │ │ ├── bin │ │ │ │ ├── build-all.sh │ │ │ │ ├── clean.sh │ │ │ │ ├── install-jars.sh │ │ │ │ ├── install-payload.sh │ │ │ │ ├── partition-jars.sh │ │ │ │ ├── quick-setup-for-debian.sh │ │ │ │ ├── quick-setup-for-redhat.sh │ │ │ │ └── update-local-repos.sh │ │ │ ├── etc │ │ │ │ └── config.sh │ │ │ └── payload │ │ │ │ ├── etc │ │ │ │ └── titan │ │ │ │ │ ├── cassandra.yaml │ │ │ │ │ ├── config.properties │ │ │ │ │ ├── log4j.properties │ │ │ │ │ ├── rexster-init.groovy │ │ │ │ │ └── titan-env.sh │ │ │ │ └── usr │ │ │ │ ├── bin │ │ │ │ ├── gremlin.sh │ │ │ │ └── rexster-console.sh │ │ │ │ ├── sbin │ │ │ │ └── titan │ │ │ │ └── share │ │ │ │ └── titan │ │ │ │ └── titan.in.sh │ │ │ └── redhat │ │ │ ├── build.sh │ │ │ ├── payload │ │ │ ├── titan.init │ │ │ └── titan.sysconfig │ │ │ └── titan.spec.base │ ├── release │ │ ├── commit-compat-version.sh │ │ ├── gh-pages-update.sh │ │ ├── index.html │ │ ├── release.sh │ │ └── rewrite-tag.sh │ └── test │ │ ├── expect │ │ ├── compat-test.expect.vm │ │ ├── getting-started.expect.vm │ │ ├── gremlin-shell-args.expect.vm │ │ ├── single-vertex.expect.vm │ │ └── titan-sh.expect.vm │ │ ├── java │ │ └── com │ │ │ └── thinkaurelius │ │ │ └── titan │ │ │ └── pkgtest │ │ │ ├── AbstractTitanAssemblyIT.java │ │ │ ├── BerkeleyAssemblyIT.java │ │ │ ├── BerkeleyESAssemblyIT.java │ │ │ ├── CassandraEmbeddedAssemblyIT.java │ │ │ ├── CassandraEmbeddedESAssemblyIT.java │ │ │ ├── CassandraThriftAssemblyIT.java │ │ │ ├── CassandraThriftESAssemblyIT.java │ │ │ ├── GraphOfTheGodsCompatIT.java │ │ │ ├── GremlinShellArgsIT.java │ │ │ └── TitanScriptIT.java │ │ └── resources │ │ ├── compat.csv │ │ ├── log4j.properties │ │ ├── target.properties │ │ └── test_gremlin_init.groovy ├── titan-dist-hadoop-1 │ ├── pom.xml │ └── src │ │ └── assembly │ │ └── descriptor │ │ └── archive.xml └── titan-dist-hadoop-2 │ ├── pom.xml │ └── src │ └── assembly │ └── descriptor │ └── archive.xml ├── titan-doc └── pom.xml ├── titan-es ├── .gitignore ├── pom.xml └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── thinkaurelius │ │ │ └── titan │ │ │ └── diskstorage │ │ │ └── es │ │ │ ├── ElasticSearchConstants.java │ │ │ ├── ElasticSearchIndex.java │ │ │ └── ElasticSearchSetup.java │ └── resources │ │ └── titan-es.properties │ └── test │ ├── bin │ ├── elasticsearch │ └── elasticsearch.in.sh │ ├── binassembly.xml │ ├── config │ ├── elasticsearch.yml │ ├── indexCreationOptions.yml │ ├── logging.yml │ ├── networkNodeUsingExt.yml │ ├── networkNodeUsingYaml.yml │ └── transportClient.yml │ ├── java │ └── com │ │ └── thinkaurelius │ │ └── titan │ │ └── diskstorage │ │ └── es │ │ ├── BerkeleyElasticsearchTest.java │ │ ├── ElasticSearchConfigTest.java │ │ ├── ElasticSearchIndexTest.java │ │ ├── ElasticsearchRunner.java │ │ ├── ElasticsearchStatus.java │ │ └── ThriftElasticsearchTest.java │ └── resources │ ├── es_cfg_bogus_nodeclient.yml │ ├── es_cfg_nodeclient.yml │ ├── es_jvmlocal.yml │ ├── es_nodename_bar.yml │ ├── es_nodename_foo.yml │ └── log4j.properties ├── titan-hadoop-parent ├── .gitignore ├── pom.xml ├── titan-hadoop-1 │ ├── pom.xml │ └── src │ │ └── main │ │ └── java │ │ └── com │ │ └── thinkaurelius │ │ └── titan │ │ └── hadoop │ │ ├── compat │ │ └── h1 │ │ │ ├── DistCacheConfigurer.java │ │ │ ├── Hadoop1Compat.java │ │ │ ├── Hadoop1CountersScanMetrics.java │ │ │ ├── ImmutableConfiguration.java │ │ │ └── MapredJarConfigurer.java │ │ └── formats │ │ ├── TitanH1OutputCommitter.java │ │ ├── TitanH1OutputFormat.java │ │ └── TitanH1RecordWriter.java ├── titan-hadoop-2 │ ├── pom.xml │ └── src │ │ └── main │ │ └── java │ │ └── com │ │ └── thinkaurelius │ │ └── titan │ │ └── hadoop │ │ └── compat │ │ └── h2 │ │ ├── DistCacheConfigurer.java │ │ ├── Hadoop2Compat.java │ │ ├── Hadoop2CountersScanMetrics.java │ │ ├── ImmutableConfiguration.java │ │ └── MapredJarConfigurer.java ├── titan-hadoop-core │ ├── README.textile │ ├── pom.xml │ └── src │ │ ├── assembly │ │ ├── example-data.xml │ │ ├── example-data │ │ │ ├── FathersName.groovy │ │ │ └── IncrementalLoading.groovy │ │ ├── shared-resources.xml │ │ └── shared-resources │ │ │ ├── hadoop-job.xml │ │ │ └── log4j.properties │ │ ├── main │ │ └── java │ │ │ └── com │ │ │ └── thinkaurelius │ │ │ └── titan │ │ │ └── hadoop │ │ │ ├── MapReduceIndexJobs.java │ │ │ ├── MapReduceIndexManagement.java │ │ │ ├── compat │ │ │ ├── HadoopCompat.java │ │ │ └── HadoopCompatLoader.java │ │ │ ├── config │ │ │ ├── HBaseAuthHelper.java │ │ │ ├── HadoopConfiguration.java │ │ │ ├── ModifiableHadoopConfiguration.java │ │ │ ├── TitanHadoopConfiguration.java │ │ │ └── job │ │ │ │ ├── AbstractDistCacheConfigurer.java │ │ │ │ ├── JobClasspathConfigurer.java │ │ │ │ └── JobClasspathConfigurers.java │ │ │ ├── formats │ │ │ ├── FormatTools.java │ │ │ ├── JobConfigurationFormat.java │ │ │ ├── cassandra │ │ │ │ ├── CassandraBinaryInputFormat.java │ │ │ │ ├── CassandraBinaryRecordReader.java │ │ │ │ └── CassandraInputFormat.java │ │ │ ├── hbase │ │ │ │ ├── HBaseBinaryInputFormat.java │ │ │ │ ├── HBaseBinaryRecordReader.java │ │ │ │ └── HBaseInputFormat.java │ │ │ └── util │ │ │ │ ├── AbstractBinaryInputFormat.java │ │ │ │ ├── GiraphInputFormat.java │ │ │ │ ├── GiraphRecordReader.java │ │ │ │ ├── TitanVertexDeserializer.java │ │ │ │ └── input │ │ │ │ ├── SystemTypeInspector.java │ │ │ │ ├── TitanHadoopSetup.java │ │ │ │ ├── TitanHadoopSetupCommon.java │ │ │ │ ├── VertexReader.java │ │ │ │ └── current │ │ │ │ └── TitanHadoopSetupImpl.java │ │ │ └── scan │ │ │ ├── AbstractHadoopScanRunner.java │ │ │ ├── CassandraHadoopScanRunner.java │ │ │ ├── HBaseHadoopScanRunner.java │ │ │ ├── HadoopContextScanMetrics.java │ │ │ ├── HadoopScanMapper.java │ │ │ ├── HadoopScanRunner.java │ │ │ └── HadoopVertexScanMapper.java │ │ └── test │ │ ├── java │ │ └── com │ │ │ └── thinkaurelius │ │ │ └── titan │ │ │ └── hadoop │ │ │ ├── AbstractIndexManagementIT.java │ │ │ ├── CassandraIndexManagementIT.java │ │ │ ├── CassandraInputFormatIT.java │ │ │ ├── CassandraScanJobIT.java │ │ │ └── HBaseIndexManagementIT.java │ │ └── resources │ │ ├── cassandra-read.properties │ │ └── com │ │ └── thinkaurelius │ │ └── titan │ │ └── hadoop │ │ ├── formats │ │ ├── edgelist │ │ │ └── rdf │ │ │ │ └── graph-example-1.ntriple │ │ ├── graphson │ │ │ ├── extra-cerberus.json │ │ │ ├── graph-example-1.json │ │ │ ├── graph-of-the-gods.json │ │ │ ├── incremental-custom-cerberus-load.groovy │ │ │ ├── incremental-load.groovy │ │ │ └── incremental-naive-cerberus-load.groovy │ │ └── script │ │ │ ├── ScriptInput.groovy │ │ │ ├── ScriptOutput.groovy │ │ │ └── graph-of-the-gods.id │ │ ├── graph-of-the-gods-2.seq │ │ ├── graphson-noop.properties │ │ └── tinkerpop │ │ └── gremlin │ │ └── Script.groovy └── titan-hadoop │ ├── pom.xml │ └── src │ └── assembly │ ├── code-jar.xml │ ├── javadoc-jar.xml │ └── sources-jar.xml ├── titan-hbase-parent ├── .gitignore ├── common │ └── test │ │ ├── binassembly.xml │ │ ├── conf │ │ ├── hadoop-metrics.properties │ │ ├── hbase-env.sh │ │ ├── hbase-policy.xml │ │ ├── hbase-site.xml │ │ ├── log4j.properties │ │ ├── regionservers │ │ └── whirr-hbase.properties │ │ └── resources │ │ ├── log4j.properties │ │ └── mvn_opts.txt ├── pom.xml ├── titan-hbase-094 │ ├── .gitignore │ ├── pom.xml │ └── src │ │ ├── main │ │ └── java │ │ │ └── com │ │ │ ├── google │ │ │ └── common │ │ │ │ └── io │ │ │ │ └── NullOutputStream.java │ │ │ └── thinkaurelius │ │ │ └── titan │ │ │ └── diskstorage │ │ │ └── hbase │ │ │ ├── HBaseAdmin0_94.java │ │ │ ├── HBaseCompat0_94.java │ │ │ ├── HConnection0_94.java │ │ │ └── HTable0_94.java │ │ └── test │ │ └── bin │ │ ├── get-active-master.rb │ │ ├── graceful_stop.sh │ │ ├── hbase │ │ ├── hbase-config.sh │ │ ├── hbase-daemon.sh │ │ ├── hbase-daemons.sh │ │ ├── hbase-jruby │ │ ├── hirb.rb │ │ ├── local-master-backup.sh │ │ ├── local-regionservers.sh │ │ ├── master-backup.sh │ │ ├── region_mover.rb │ │ ├── region_status.rb │ │ ├── regionservers.sh │ │ ├── rolling-restart.sh │ │ ├── ruby │ │ ├── hbase.rb │ │ ├── hbase │ │ │ ├── admin.rb │ │ │ ├── hbase.rb │ │ │ ├── replication_admin.rb │ │ │ ├── security.rb │ │ │ └── table.rb │ │ ├── irb │ │ │ └── hirb.rb │ │ ├── shell.rb │ │ └── shell │ │ │ ├── commands.rb │ │ │ ├── commands │ │ │ ├── add_peer.rb │ │ │ ├── alter.rb │ │ │ ├── alter_async.rb │ │ │ ├── alter_status.rb │ │ │ ├── assign.rb │ │ │ ├── balance_switch.rb │ │ │ ├── balancer.rb │ │ │ ├── clone_snapshot.rb │ │ │ ├── close_region.rb │ │ │ ├── compact.rb │ │ │ ├── count.rb │ │ │ ├── create.rb │ │ │ ├── delete.rb │ │ │ ├── delete_snapshot.rb │ │ │ ├── deleteall.rb │ │ │ ├── describe.rb │ │ │ ├── disable.rb │ │ │ ├── disable_all.rb │ │ │ ├── disable_peer.rb │ │ │ ├── drop.rb │ │ │ ├── drop_all.rb │ │ │ ├── enable.rb │ │ │ ├── enable_all.rb │ │ │ ├── enable_peer.rb │ │ │ ├── exists.rb │ │ │ ├── flush.rb │ │ │ ├── get.rb │ │ │ ├── get_counter.rb │ │ │ ├── grant.rb │ │ │ ├── hlog_roll.rb │ │ │ ├── incr.rb │ │ │ ├── is_disabled.rb │ │ │ ├── is_enabled.rb │ │ │ ├── list.rb │ │ │ ├── list_peers.rb │ │ │ ├── list_replicated_tables.rb │ │ │ ├── list_snapshots.rb │ │ │ ├── major_compact.rb │ │ │ ├── move.rb │ │ │ ├── put.rb │ │ │ ├── remove_peer.rb │ │ │ ├── restore_snapshot.rb │ │ │ ├── revoke.rb │ │ │ ├── scan.rb │ │ │ ├── show_filters.rb │ │ │ ├── snapshot.rb │ │ │ ├── split.rb │ │ │ ├── start_replication.rb │ │ │ ├── status.rb │ │ │ ├── stop_replication.rb │ │ │ ├── truncate.rb │ │ │ ├── unassign.rb │ │ │ ├── user_permission.rb │ │ │ ├── version.rb │ │ │ ├── whoami.rb │ │ │ └── zk_dump.rb │ │ │ └── formatter.rb │ │ ├── start-hbase.sh │ │ ├── stop-hbase.sh │ │ ├── titan_customizations_to_hbase_script.patch │ │ ├── titan_customizations_to_hirb.rb.patch │ │ └── zookeepers.sh ├── titan-hbase-096 │ ├── pom.xml │ └── src │ │ ├── main │ │ └── java │ │ │ └── com │ │ │ └── thinkaurelius │ │ │ └── titan │ │ │ └── diskstorage │ │ │ └── hbase │ │ │ ├── HBaseAdmin0_96.java │ │ │ ├── HBaseCompat0_96.java │ │ │ ├── HConnection0_96.java │ │ │ └── HTable0_96.java │ │ └── test │ │ └── bin │ │ ├── get-active-master.rb │ │ ├── graceful_stop.sh │ │ ├── hbase │ │ ├── hbase-cleanup.sh │ │ ├── hbase-common.sh │ │ ├── hbase-config.sh │ │ ├── hbase-daemon.sh │ │ ├── hbase-daemons.sh │ │ ├── hbase-jruby │ │ ├── hirb.rb │ │ ├── local-master-backup.sh │ │ ├── local-regionservers.sh │ │ ├── master-backup.sh │ │ ├── region_mover.rb │ │ ├── region_status.rb │ │ ├── regionservers.sh │ │ ├── replication │ │ └── copy_tables_desc.rb │ │ ├── rolling-restart.sh │ │ ├── ruby │ │ ├── hbase.rb │ │ ├── hbase │ │ │ ├── admin.rb │ │ │ ├── hbase.rb │ │ │ ├── replication_admin.rb │ │ │ ├── security.rb │ │ │ └── table.rb │ │ ├── irb │ │ │ └── hirb.rb │ │ ├── shell.rb │ │ └── shell │ │ │ ├── commands.rb │ │ │ ├── commands │ │ │ ├── add_peer.rb │ │ │ ├── alter.rb │ │ │ ├── alter_async.rb │ │ │ ├── alter_namespace.rb │ │ │ ├── alter_status.rb │ │ │ ├── assign.rb │ │ │ ├── balance_switch.rb │ │ │ ├── balancer.rb │ │ │ ├── catalogjanitor_enabled.rb │ │ │ ├── catalogjanitor_run.rb │ │ │ ├── catalogjanitor_switch.rb │ │ │ ├── clone_snapshot.rb │ │ │ ├── close_region.rb │ │ │ ├── compact.rb │ │ │ ├── count.rb │ │ │ ├── create.rb │ │ │ ├── create_namespace.rb │ │ │ ├── delete.rb │ │ │ ├── delete_snapshot.rb │ │ │ ├── deleteall.rb │ │ │ ├── describe.rb │ │ │ ├── describe_namespace.rb │ │ │ ├── disable.rb │ │ │ ├── disable_all.rb │ │ │ ├── disable_peer.rb │ │ │ ├── drop.rb │ │ │ ├── drop_all.rb │ │ │ ├── drop_namespace.rb │ │ │ ├── enable.rb │ │ │ ├── enable_all.rb │ │ │ ├── enable_peer.rb │ │ │ ├── exists.rb │ │ │ ├── flush.rb │ │ │ ├── get.rb │ │ │ ├── get_counter.rb │ │ │ ├── get_table.rb │ │ │ ├── grant.rb │ │ │ ├── hlog_roll.rb │ │ │ ├── incr.rb │ │ │ ├── is_disabled.rb │ │ │ ├── is_enabled.rb │ │ │ ├── list.rb │ │ │ ├── list_namespace.rb │ │ │ ├── list_namespace_tables.rb │ │ │ ├── list_peers.rb │ │ │ ├── list_replicated_tables.rb │ │ │ ├── list_snapshots.rb │ │ │ ├── major_compact.rb │ │ │ ├── merge_region.rb │ │ │ ├── move.rb │ │ │ ├── put.rb │ │ │ ├── remove_peer.rb │ │ │ ├── rename_snapshot.rb │ │ │ ├── restore_snapshot.rb │ │ │ ├── revoke.rb │ │ │ ├── scan.rb │ │ │ ├── show_filters.rb │ │ │ ├── snapshot.rb │ │ │ ├── split.rb │ │ │ ├── status.rb │ │ │ ├── table_help.rb │ │ │ ├── trace.rb │ │ │ ├── truncate.rb │ │ │ ├── truncate_preserve.rb │ │ │ ├── unassign.rb │ │ │ ├── user_permission.rb │ │ │ ├── version.rb │ │ │ ├── whoami.rb │ │ │ └── zk_dump.rb │ │ │ └── formatter.rb │ │ ├── start-hbase.sh │ │ ├── stop-hbase.sh │ │ ├── test │ │ └── process_based_cluster.sh │ │ ├── titan_customizations_to_hbase_script.patch │ │ └── zookeepers.sh ├── titan-hbase-098 │ ├── pom.xml │ └── src │ │ ├── main │ │ └── java │ │ │ └── com │ │ │ └── thinkaurelius │ │ │ └── titan │ │ │ └── diskstorage │ │ │ └── hbase │ │ │ ├── HBaseAdmin0_98.java │ │ │ ├── HBaseCompat0_98.java │ │ │ ├── HConnection0_98.java │ │ │ └── HTable0_98.java │ │ └── test │ │ └── bin │ │ ├── get-active-master.rb │ │ ├── graceful_stop.sh │ │ ├── hbase │ │ ├── hbase-cleanup.sh │ │ ├── hbase-common.sh │ │ ├── hbase-config.sh │ │ ├── hbase-daemon.sh │ │ ├── hbase-daemons.sh │ │ ├── hbase-jruby │ │ ├── hirb.rb │ │ ├── local-master-backup.sh │ │ ├── local-regionservers.sh │ │ ├── master-backup.sh │ │ ├── region_mover.rb │ │ ├── region_status.rb │ │ ├── regionservers.sh │ │ ├── replication │ │ └── copy_tables_desc.rb │ │ ├── rolling-restart.sh │ │ ├── ruby │ │ ├── hbase.rb │ │ ├── hbase │ │ │ ├── admin.rb │ │ │ ├── hbase.rb │ │ │ ├── replication_admin.rb │ │ │ ├── security.rb │ │ │ └── table.rb │ │ ├── irb │ │ │ └── hirb.rb │ │ ├── shell.rb │ │ └── shell │ │ │ ├── commands.rb │ │ │ ├── commands │ │ │ ├── add_peer.rb │ │ │ ├── alter.rb │ │ │ ├── alter_async.rb │ │ │ ├── alter_namespace.rb │ │ │ ├── alter_status.rb │ │ │ ├── assign.rb │ │ │ ├── balance_switch.rb │ │ │ ├── balancer.rb │ │ │ ├── catalogjanitor_enabled.rb │ │ │ ├── catalogjanitor_run.rb │ │ │ ├── catalogjanitor_switch.rb │ │ │ ├── clone_snapshot.rb │ │ │ ├── close_region.rb │ │ │ ├── compact.rb │ │ │ ├── count.rb │ │ │ ├── create.rb │ │ │ ├── create_namespace.rb │ │ │ ├── delete.rb │ │ │ ├── delete_snapshot.rb │ │ │ ├── deleteall.rb │ │ │ ├── describe.rb │ │ │ ├── describe_namespace.rb │ │ │ ├── disable.rb │ │ │ ├── disable_all.rb │ │ │ ├── disable_peer.rb │ │ │ ├── drop.rb │ │ │ ├── drop_all.rb │ │ │ ├── drop_namespace.rb │ │ │ ├── enable.rb │ │ │ ├── enable_all.rb │ │ │ ├── enable_peer.rb │ │ │ ├── exists.rb │ │ │ ├── flush.rb │ │ │ ├── get.rb │ │ │ ├── get_counter.rb │ │ │ ├── get_table.rb │ │ │ ├── grant.rb │ │ │ ├── hlog_roll.rb │ │ │ ├── incr.rb │ │ │ ├── is_disabled.rb │ │ │ ├── is_enabled.rb │ │ │ ├── list.rb │ │ │ ├── list_namespace.rb │ │ │ ├── list_namespace_tables.rb │ │ │ ├── list_peers.rb │ │ │ ├── list_replicated_tables.rb │ │ │ ├── list_snapshots.rb │ │ │ ├── major_compact.rb │ │ │ ├── merge_region.rb │ │ │ ├── move.rb │ │ │ ├── put.rb │ │ │ ├── remove_peer.rb │ │ │ ├── rename_snapshot.rb │ │ │ ├── restore_snapshot.rb │ │ │ ├── revoke.rb │ │ │ ├── scan.rb │ │ │ ├── show_filters.rb │ │ │ ├── snapshot.rb │ │ │ ├── split.rb │ │ │ ├── status.rb │ │ │ ├── table_help.rb │ │ │ ├── trace.rb │ │ │ ├── truncate.rb │ │ │ ├── truncate_preserve.rb │ │ │ ├── unassign.rb │ │ │ ├── user_permission.rb │ │ │ ├── version.rb │ │ │ ├── whoami.rb │ │ │ └── zk_dump.rb │ │ │ └── formatter.rb │ │ ├── start-hbase.sh │ │ ├── stop-hbase.sh │ │ ├── test │ │ └── process_based_cluster.sh │ │ ├── titan_customizations_to_hbase_script.patch │ │ └── zookeepers.sh ├── titan-hbase-10 │ ├── pom.xml │ └── src │ │ ├── main │ │ └── java │ │ │ └── com │ │ │ └── thinkaurelius │ │ │ └── titan │ │ │ └── diskstorage │ │ │ └── hbase │ │ │ ├── HBaseAdmin1_0.java │ │ │ ├── HBaseCompat1_0.java │ │ │ ├── HConnection1_0.java │ │ │ └── HTable1_0.java │ │ └── test │ │ └── bin │ │ ├── draining_servers.rb │ │ ├── get-active-master.rb │ │ ├── graceful_stop.sh │ │ ├── hbase │ │ ├── hbase-cleanup.sh │ │ ├── hbase-common.sh │ │ ├── hbase-config.cmd │ │ ├── hbase-config.sh │ │ ├── hbase-daemon.sh │ │ ├── hbase-daemons.sh │ │ ├── hbase-jruby │ │ ├── hbase.cmd │ │ ├── hirb.rb │ │ ├── local-master-backup.sh │ │ ├── local-regionservers.sh │ │ ├── master-backup.sh │ │ ├── region_mover.rb │ │ ├── region_status.rb │ │ ├── regionservers.sh │ │ ├── replication │ │ └── copy_tables_desc.rb │ │ ├── rolling-restart.sh │ │ ├── ruby │ │ ├── hbase.rb │ │ ├── hbase │ │ │ ├── admin.rb │ │ │ ├── hbase.rb │ │ │ ├── replication_admin.rb │ │ │ ├── security.rb │ │ │ ├── table.rb │ │ │ └── visibility_labels.rb │ │ ├── irb │ │ │ └── hirb.rb │ │ ├── shell.rb │ │ └── shell │ │ │ ├── commands.rb │ │ │ ├── commands │ │ │ ├── add_labels.rb │ │ │ ├── add_peer.rb │ │ │ ├── alter.rb │ │ │ ├── alter_async.rb │ │ │ ├── alter_namespace.rb │ │ │ ├── alter_status.rb │ │ │ ├── append.rb │ │ │ ├── append_peer_tableCFs.rb │ │ │ ├── assign.rb │ │ │ ├── balance_switch.rb │ │ │ ├── balancer.rb │ │ │ ├── catalogjanitor_enabled.rb │ │ │ ├── catalogjanitor_run.rb │ │ │ ├── catalogjanitor_switch.rb │ │ │ ├── clear_auths.rb │ │ │ ├── clone_snapshot.rb │ │ │ ├── close_region.rb │ │ │ ├── compact.rb │ │ │ ├── compact_rs.rb │ │ │ ├── count.rb │ │ │ ├── create.rb │ │ │ ├── create_namespace.rb │ │ │ ├── delete.rb │ │ │ ├── delete_all_snapshot.rb │ │ │ ├── delete_snapshot.rb │ │ │ ├── deleteall.rb │ │ │ ├── describe.rb │ │ │ ├── describe_namespace.rb │ │ │ ├── disable.rb │ │ │ ├── disable_all.rb │ │ │ ├── disable_peer.rb │ │ │ ├── disable_table_replication.rb │ │ │ ├── drop.rb │ │ │ ├── drop_all.rb │ │ │ ├── drop_namespace.rb │ │ │ ├── enable.rb │ │ │ ├── enable_all.rb │ │ │ ├── enable_peer.rb │ │ │ ├── enable_table_replication.rb │ │ │ ├── exists.rb │ │ │ ├── flush.rb │ │ │ ├── get.rb │ │ │ ├── get_auths.rb │ │ │ ├── get_counter.rb │ │ │ ├── get_table.rb │ │ │ ├── grant.rb │ │ │ ├── incr.rb │ │ │ ├── is_disabled.rb │ │ │ ├── is_enabled.rb │ │ │ ├── list.rb │ │ │ ├── list_labels.rb │ │ │ ├── list_namespace.rb │ │ │ ├── list_namespace_tables.rb │ │ │ ├── list_peers.rb │ │ │ ├── list_replicated_tables.rb │ │ │ ├── list_snapshots.rb │ │ │ ├── major_compact.rb │ │ │ ├── merge_region.rb │ │ │ ├── move.rb │ │ │ ├── put.rb │ │ │ ├── remove_peer.rb │ │ │ ├── remove_peer_tableCFs.rb │ │ │ ├── restore_snapshot.rb │ │ │ ├── revoke.rb │ │ │ ├── scan.rb │ │ │ ├── set_auths.rb │ │ │ ├── set_peer_tableCFs.rb │ │ │ ├── set_visibility.rb │ │ │ ├── show_filters.rb │ │ │ ├── show_peer_tableCFs.rb │ │ │ ├── snapshot.rb │ │ │ ├── split.rb │ │ │ ├── status.rb │ │ │ ├── table_help.rb │ │ │ ├── trace.rb │ │ │ ├── truncate.rb │ │ │ ├── truncate_preserve.rb │ │ │ ├── unassign.rb │ │ │ ├── update_all_config.rb │ │ │ ├── update_config.rb │ │ │ ├── user_permission.rb │ │ │ ├── version.rb │ │ │ ├── wal_roll.rb │ │ │ ├── whoami.rb │ │ │ └── zk_dump.rb │ │ │ └── formatter.rb │ │ ├── shutdown_regionserver.rb │ │ ├── start-hbase.cmd │ │ ├── start-hbase.sh │ │ ├── stop-hbase.cmd │ │ ├── stop-hbase.sh │ │ ├── test │ │ └── process_based_cluster.sh │ │ ├── thread-pool.rb │ │ ├── titan_customizations_to_hbase_script.patch │ │ └── zookeepers.sh ├── titan-hbase-core │ ├── pom.xml │ └── src │ │ ├── main │ │ └── java │ │ │ └── com │ │ │ ├── google │ │ │ └── common │ │ │ │ ├── base │ │ │ │ └── Stopwatch.java │ │ │ │ └── io │ │ │ │ └── Closeables.java │ │ │ └── thinkaurelius │ │ │ └── titan │ │ │ └── diskstorage │ │ │ └── hbase │ │ │ ├── AdminMask.java │ │ │ ├── ConnectionMask.java │ │ │ ├── HBaseCompat.java │ │ │ ├── HBaseCompatLoader.java │ │ │ ├── HBaseKeyColumnValueStore.java │ │ │ ├── HBaseStoreManager.java │ │ │ ├── HBaseTransaction.java │ │ │ └── TableMask.java │ │ └── test │ │ └── java │ │ └── com │ │ └── thinkaurelius │ │ └── titan │ │ ├── HBaseStatus.java │ │ ├── HBaseStorageSetup.java │ │ ├── blueprints │ │ ├── HBaseGraphComputerProvider.java │ │ ├── HBaseGraphProvider.java │ │ ├── process │ │ │ ├── HBaseComputerTest.java │ │ │ └── HBaseProcessTest.java │ │ └── structure │ │ │ └── HBaseStructureTest.java │ │ ├── diskstorage │ │ └── hbase │ │ │ ├── HBaseDistributedStoreManagerTest.java │ │ │ ├── HBaseIDAuthorityTest.java │ │ │ ├── HBaseLockStoreTest.java │ │ │ ├── HBaseLogTest.java │ │ │ ├── HBaseMultiWriteStoreTest.java │ │ │ └── HBaseStoreTest.java │ │ └── graphdb │ │ └── hbase │ │ ├── HBaseGraphConcurrentTest.java │ │ ├── HBaseGraphPerformanceMemoryTest.java │ │ ├── HBaseGraphTest.java │ │ ├── HBaseOLAPTest.java │ │ ├── HBaseOperationCountingTest.java │ │ └── HBasePartitionGraphTest.java └── titan-hbase │ ├── pom.xml │ └── src │ └── assembly │ ├── code-jar.xml │ ├── javadoc-jar.xml │ └── sources-jar.xml ├── titan-lucene ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ └── thinkaurelius │ │ └── titan │ │ └── diskstorage │ │ └── lucene │ │ └── LuceneIndex.java │ └── test │ ├── java │ └── com │ │ └── thinkaurelius │ │ └── titan │ │ └── diskstorage │ │ └── lucene │ │ ├── BerkeleyLuceneTest.java │ │ ├── LuceneExample.java │ │ └── LuceneIndexTest.java │ └── resources │ └── log4j.properties ├── titan-rexster ├── pom.xml └── src │ └── main │ └── java │ └── com │ └── thinkaurelius │ └── titan │ └── tinkerpop │ └── rexster │ └── TitanGraphConfiguration.java ├── titan-solr ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ └── thinkaurelius │ │ └── titan │ │ └── diskstorage │ │ └── solr │ │ ├── SolrIndex.java │ │ └── transform │ │ └── GeoToWktConverter.java │ └── test │ ├── java │ └── com │ │ └── thinkaurelius │ │ └── titan │ │ └── diskstorage │ │ └── solr │ │ ├── BerkeleySolrTest.java │ │ ├── SolrIndexTest.java │ │ ├── SolrRunner.java │ │ ├── SolrTitanIndexTest.java │ │ ├── ThriftSolrTest.java │ │ └── transform │ │ └── GeoToWktConverterTest.java │ └── resources │ ├── log4j.properties │ └── solr │ ├── core-template │ ├── currency.xml │ ├── lang │ │ └── stopwords_en.txt │ ├── protwords.txt │ ├── schema.xml │ ├── solrconfig.xml │ ├── stopwords.txt │ └── synonyms.txt │ └── solr.xml └── titan-test ├── data ├── jub-effort.txt └── v10k.graphml.gz ├── pom.xml └── src ├── main ├── groovy │ └── com │ │ └── thinkaurelius │ │ └── titan │ │ └── graphdb │ │ ├── GroovySpeedTestSupport.groovy │ │ ├── LongIterator.groovy │ │ ├── SpeedTestSchema.groovy │ │ └── TitanGraphSpeedTest.groovy └── java │ └── com │ └── thinkaurelius │ └── titan │ ├── DaemonRunner.java │ ├── StorageSetup.java │ ├── TestBed.java │ ├── TestByteBuffer.java │ ├── blueprints │ ├── AbstractTitanGraphComputerProvider.java │ └── AbstractTitanGraphProvider.java │ ├── diskstorage │ ├── AbstractKCVSTest.java │ ├── DistributedStoreManagerTest.java │ ├── ExpectedValueCheckingTest.java │ ├── IDAuthorityTest.java │ ├── KeyColumn.java │ ├── KeyColumnValueStoreTest.java │ ├── KeyColumnValueStoreUtil.java │ ├── KeyValueStoreTest.java │ ├── KeyValueStoreUtil.java │ ├── LockKeyColumnValueStoreTest.java │ ├── MultiWriteKeyColumnValueStoreTest.java │ ├── SimpleScanJob.java │ ├── SimpleScanJobRunner.java │ ├── cache │ │ └── KCVSCacheTest.java │ ├── configuration │ │ └── WritableConfigurationTest.java │ ├── indexing │ │ └── IndexProviderTest.java │ ├── log │ │ ├── KCVSLogTest.java │ │ └── LogTest.java │ └── util │ │ ├── TestLockerManager.java │ │ └── TestTimeUtility.java │ ├── graphdb │ ├── TestMockIndexProvider.java │ ├── TestMockLog.java │ ├── TitanEventualGraphTest.java │ ├── TitanGraphBaseTest.java │ ├── TitanGraphConcurrentTest.java │ ├── TitanGraphIterativeBenchmark.java │ ├── TitanGraphPerformanceMemoryTest.java │ ├── TitanGraphTest.java │ ├── TitanIndexTest.java │ ├── TitanIoTest.java │ ├── TitanOperationCountingTest.java │ ├── TitanPartitionGraphTest.java │ ├── database │ │ └── management │ │ │ └── ManagementTest.java │ └── serializer │ │ ├── SpecialInt.java │ │ └── SpecialIntSerializer.java │ ├── olap │ ├── OLAPTest.java │ ├── PageRankMapReduce.java │ ├── PageRankVertexProgram.java │ ├── ShortestDistanceMapReduce.java │ ├── ShortestDistanceMessageCombiner.java │ └── ShortestDistanceVertexProgram.java │ ├── testcategory │ ├── BrittleTests.java │ ├── KeyOrderAgnosticTests.java │ ├── MemoryTests.java │ ├── OrderedKeyStoreTests.java │ ├── PerformanceTests.java │ ├── SerialTests.java │ └── UnorderedKeyStoreTests.java │ └── testutil │ ├── CsvConsumer.java │ ├── JUnitBenchmarkProvider.java │ ├── MemoryAssess.java │ ├── RandomGenerator.java │ ├── TestGraphConfigs.java │ ├── TestTimestamps.java │ └── TitanAssert.java └── test ├── java └── com │ └── thinkaurelius │ └── titan │ ├── blueprints │ ├── InMemoryGraphComputerProvider.java │ ├── InMemoryGraphProvider.java │ ├── InMemoryTitanComputerTest.java │ ├── InMemoryTitanProcessTest.java │ ├── InMemoryTitanStructureTest.java │ └── groovy │ │ ├── InMemoryGroovyProcessComputerTest.java │ │ └── InMemoryGroovyProcessStandardTest.java │ ├── diskstorage │ ├── cache │ │ └── ExpirationCacheTest.java │ ├── configuration │ │ ├── CommonConfigTest.java │ │ ├── ConfigurationTest.java │ │ └── KCVSConfigTest.java │ ├── inmemory │ │ ├── InMemoryIDAuthorityTest.java │ │ ├── InMemoryKeyColumnValueStoreTest.java │ │ └── InMemoryLockKeyColumnValueStoreTest.java │ ├── keycolumnvalue │ │ └── StaticArrayEntryTest.java │ ├── locking │ │ ├── ConsistentKeyLockerTest.java │ │ ├── LocalLockMediatorTest.java │ │ ├── LockCleanerRunnableTest.java │ │ └── LockCleanerServiceTest.java │ └── util │ │ ├── BufferUtilTest.java │ │ └── StorageFeaturesTest.java │ ├── graphdb │ ├── TestCoreElements.java │ ├── TitanFactoryShorthandTest.java │ ├── VertexListTest.java │ ├── attribute │ │ ├── GeoshapeTest.java │ │ └── TextTest.java │ ├── configuration │ │ ├── GraphDatabaseConfigurationTest.java │ │ └── TinkerpopFeaturesTest.java │ ├── database │ │ └── serialize │ │ │ └── attribute │ │ │ └── UUIDSerializerTest.java │ ├── idmanagement │ │ ├── IDManagementTest.java │ │ ├── IDPoolTest.java │ │ ├── MockIDAuthority.java │ │ ├── PartitionIDRangeTest.java │ │ ├── RidGenerationTest.java │ │ ├── VariableLongTest.java │ │ └── VertexIDAssignerTest.java │ ├── inmemory │ │ ├── InMemoryConfigurationTest.java │ │ ├── InMemoryGraphTest.java │ │ ├── InMemoryOLAPTest.java │ │ ├── InMemoryPartitionGraphTest.java │ │ └── InMemoryTitanIoTest.java │ ├── query │ │ └── QueryTest.java │ └── serializer │ │ ├── EdgeSerializerTest.java │ │ ├── SerializerGraphConfiguration.java │ │ ├── SerializerSpeedTest.java │ │ ├── SerializerTest.java │ │ ├── SerializerTestCommon.java │ │ └── attributes │ │ ├── TClass1.java │ │ ├── TClass1Serializer.java │ │ ├── TClass2.java │ │ ├── TClass2Serializer.java │ │ ├── TEnum.java │ │ └── TEnumSerializer.java │ ├── testutil │ └── ObjectSizer.java │ └── util │ ├── LongEncodingTest.java │ ├── StringEncodingTest.java │ ├── datastructures │ ├── BitMapTest.java │ ├── RandomRemovalListTest.java │ └── RelationCacheTest.java │ └── interval │ └── IntervalTest.java └── resources ├── log4j.properties └── rexster-fragment.xml /BUILDING.md: -------------------------------------------------------------------------------- 1 | Building Titan 2 | -------------- 3 | 4 | Required: 5 | 6 | * Java 7 (0.5 and earlier) or Java 8 (0.9 and later) 7 | * Maven 8 | 9 | To build without executing tests: 10 | 11 | ``` 12 | mvn clean install -DskipTests=true 13 | ``` 14 | 15 | To build with default tests: 16 | 17 | ``` 18 | mvn clean install 19 | ``` 20 | 21 | To build with default plus TinkerPop tests: 22 | 23 | ``` 24 | mvn clean install -Dtest.skip.tp=false 25 | ``` 26 | 27 | To build with only the TinkerPop tests: 28 | 29 | ``` 30 | mvn clean install -Dtest.skip.tp=false -DskipTests=true 31 | ``` 32 | -------------------------------------------------------------------------------- /README.textile: -------------------------------------------------------------------------------- 1 | !http://thinkaurelius.github.io/titan/images/titan-logo.png! 2 | 3 | Titan is a highly scalable "graph database":http://en.wikipedia.org/wiki/Graph_database optimized for storing and querying large graphs with billions of vertices and edges distributed across a multi-machine cluster. Titan is a transactional database that can support thousands of concurrent users, complex traversals, and analytic graph queries. 4 | 5 | h2. Learn More 6 | 7 | The "project homepage":http://titandb.io contains more information on Titan and provides links to documentation, getting-started guides and release downloads. 8 | -------------------------------------------------------------------------------- /docs/adoc_attributes.txt: -------------------------------------------------------------------------------- 1 | // This file is reserved for Asciidoc attribute definitions 2 | // http://www.methods.co.nz/asciidoc/chunked/ch28.html 3 | :tinkerpop_version: $MAVEN{tinkerpop.version} 4 | -------------------------------------------------------------------------------- /docs/advanced.txt: -------------------------------------------------------------------------------- 1 | [[titan-advanced]] 2 | Advanced Topics 3 | =============== 4 | 5 | include::advschema.txt[] 6 | 7 | include::eventualconsistency.txt[] 8 | 9 | include::recovery.txt[] 10 | 11 | include::reindex.txt[] 12 | 13 | include::bulkloading.txt[] 14 | 15 | //include::multiquery.txt[] 16 | 17 | include::partitioning.txt[] 18 | 19 | include::serializer.txt[] 20 | 21 | include::hadoop.txt[] 22 | -------------------------------------------------------------------------------- /docs/appendices.txt: -------------------------------------------------------------------------------- 1 | [[appendices]] 2 | Appendices 3 | ========== 4 | 5 | [[javadoc]] 6 | [appendix] 7 | API Documentation (JavaDoc) 8 | --------------------------- 9 | 10 | Refer to the Titan http://thinkaurelius.github.io/titan/javadoc/current/[API documentation] for a complete documentation of all core APIs exposed by Titan. 11 | We *strongly* encourage all users of Titan to use the Gremlin query language for any queries executed on Titan and to not use Titan's APIs outside of the management system. 12 | 13 | 14 | //--------------------------- 15 | 16 | include::versions.txt[] 17 | 18 | include::changelog.txt[] 19 | 20 | include::upgrade.txt[] 21 | 22 | include::relatedmaterial.txt[] 23 | 24 | include::acknowledgements.txt[] 25 | -------------------------------------------------------------------------------- /docs/index.txt: -------------------------------------------------------------------------------- 1 | Titan Documentation 2 | =================== 3 | 4 | include::adoc_attributes.txt[] 5 | 6 | include::intro.txt[] 7 | 8 | include::titanbasics.txt[] 9 | 10 | include::storagebackends.txt[] 11 | 12 | include::indexbackends.txt[] 13 | 14 | include::advanced.txt[] 15 | 16 | include::titaninternals.txt[] 17 | 18 | include::appendices.txt[] 19 | -------------------------------------------------------------------------------- /docs/listings/faunus_cfg.txt: -------------------------------------------------------------------------------- 1 | // This file is generated automatically, do not edit 2 | -------------------------------------------------------------------------------- /docs/listings/faunus_rdf_cfg.txt: -------------------------------------------------------------------------------- 1 | // This file is generated automatically, do not edit 2 | -------------------------------------------------------------------------------- /docs/listings/faunus_script_cfg.txt: -------------------------------------------------------------------------------- 1 | // This file is generated automatically, do not edit 2 | -------------------------------------------------------------------------------- /docs/listings/titan_cfg.txt: -------------------------------------------------------------------------------- 1 | // This file is generated automatically, do not edit 2 | -------------------------------------------------------------------------------- /docs/relatedprojects.txt: -------------------------------------------------------------------------------- 1 | [[related-projects]] 2 | Related Third-Party Projects 3 | ---------------------------- 4 | 5 | * http://bulbflow.com/[Bulbflow] (Python client) 6 | * https://github.com/clojurewerkz/titanium[Titanium] (Clojure client) 7 | * https://bitbucket.org/wellaware/mogwai/[Mogwai] (Python client) 8 | * https://github.com/StartTheShift/titan-tools[Titan Tools] (Collection of management tools for Titan) 9 | * https://github.com/bcajes/titan-cookbook[Titan Chef Cookbook] (Chef cookbook) 10 | * http://keylines.com/titan[KeyLines Graph Visualization] (GUI interface) 11 | -------------------------------------------------------------------------------- /docs/static/avada-stub/css/ie.css: -------------------------------------------------------------------------------- 1 | .image .image-extras .image-extras-content{} 2 | .search input{padding-left:5px;} 3 | #header .tagline{margin-top:3px !important;} 4 | .has-sidebar .summary.entry-summary{width:318px;} 5 | .has-sidebar .woocommerce-tabs .panel { width: 394px; } 6 | .woocommerce .social-share li.email{border-right:0;} 7 | 8 | .star-rating { width: 5.2em !important;} 9 | 10 | .avada-select-parent .avada-select-arrow, .gravity-select-parent .select-arrow, .wpcf7-select-parent .select-arrow, .select-arrow { background: #fff; } -------------------------------------------------------------------------------- /docs/static/avada-stub/css/ie10.css: -------------------------------------------------------------------------------- 1 | .search input{padding-left:5px;} 2 | #header .tagline{margin-top:3px !important;} -------------------------------------------------------------------------------- /docs/static/avada-stub/css/vc_converter.css: -------------------------------------------------------------------------------- 1 | .composer-switch{float:left;margin:0;margin-right:10px;margin-bottom:10px;} 2 | .vc-converter{float:left;margin-right:10px;margin-bottom:10px;} 3 | .vc-converter span{color:red;line-height:24px;} 4 | #postdivrich{clear:both;} -------------------------------------------------------------------------------- /docs/static/avada-stub/images/titandb-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thinkaurelius/titan/ee226e52415b8bf43b700afac75fa5b9767993a5/docs/static/avada-stub/images/titandb-logo.png -------------------------------------------------------------------------------- /docs/static/font-awesome-4.0.3/VERSION.txt: -------------------------------------------------------------------------------- 1 | 4.0.3 2 | -------------------------------------------------------------------------------- /docs/static/font-awesome-4.0.3/fonts/FontAwesome.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thinkaurelius/titan/ee226e52415b8bf43b700afac75fa5b9767993a5/docs/static/font-awesome-4.0.3/fonts/FontAwesome.otf -------------------------------------------------------------------------------- /docs/static/font-awesome-4.0.3/fonts/fontawesome-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thinkaurelius/titan/ee226e52415b8bf43b700afac75fa5b9767993a5/docs/static/font-awesome-4.0.3/fonts/fontawesome-webfont.eot -------------------------------------------------------------------------------- /docs/static/font-awesome-4.0.3/fonts/fontawesome-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thinkaurelius/titan/ee226e52415b8bf43b700afac75fa5b9767993a5/docs/static/font-awesome-4.0.3/fonts/fontawesome-webfont.ttf -------------------------------------------------------------------------------- /docs/static/font-awesome-4.0.3/fonts/fontawesome-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thinkaurelius/titan/ee226e52415b8bf43b700afac75fa5b9767993a5/docs/static/font-awesome-4.0.3/fonts/fontawesome-webfont.woff -------------------------------------------------------------------------------- /docs/static/font-awesome-4.0.3/less/bordered-pulled.less: -------------------------------------------------------------------------------- 1 | // Bordered & Pulled 2 | // ------------------------- 3 | 4 | .@{fa-css-prefix}-border { 5 | padding: .2em .25em .15em; 6 | border: solid .08em @fa-border-color; 7 | border-radius: .1em; 8 | } 9 | 10 | .pull-right { float: right; } 11 | .pull-left { float: left; } 12 | 13 | .@{fa-css-prefix} { 14 | &.pull-left { margin-right: .3em; } 15 | &.pull-right { margin-left: .3em; } 16 | } 17 | -------------------------------------------------------------------------------- /docs/static/font-awesome-4.0.3/less/core.less: -------------------------------------------------------------------------------- 1 | // Base Class Definition 2 | // ------------------------- 3 | 4 | .@{fa-css-prefix} { 5 | display: inline-block; 6 | font-family: FontAwesome; 7 | font-style: normal; 8 | font-weight: normal; 9 | line-height: 1; 10 | -webkit-font-smoothing: antialiased; 11 | -moz-osx-font-smoothing: grayscale; 12 | } 13 | -------------------------------------------------------------------------------- /docs/static/font-awesome-4.0.3/less/fixed-width.less: -------------------------------------------------------------------------------- 1 | // Fixed Width Icons 2 | // ------------------------- 3 | .@{fa-css-prefix}-fw { 4 | width: (18em / 14); 5 | text-align: center; 6 | } 7 | -------------------------------------------------------------------------------- /docs/static/font-awesome-4.0.3/less/font-awesome.less: -------------------------------------------------------------------------------- 1 | /*! 2 | * Font Awesome 4.0.3 by @davegandy - http://fontawesome.io - @fontawesome 3 | * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) 4 | */ 5 | 6 | @import "variables"; 7 | @import "mixins"; 8 | @import "path"; 9 | @import "core"; 10 | @import "larger"; 11 | @import "fixed-width"; 12 | @import "list"; 13 | @import "bordered-pulled"; 14 | @import "spinning"; 15 | @import "rotated-flipped"; 16 | @import "stacked"; 17 | @import "icons"; 18 | -------------------------------------------------------------------------------- /docs/static/font-awesome-4.0.3/less/larger.less: -------------------------------------------------------------------------------- 1 | // Icon Sizes 2 | // ------------------------- 3 | 4 | /* makes the font 33% larger relative to the icon container */ 5 | .@{fa-css-prefix}-lg { 6 | font-size: (4em / 3); 7 | line-height: (3em / 4); 8 | vertical-align: -15%; 9 | } 10 | .@{fa-css-prefix}-2x { font-size: 2em; } 11 | .@{fa-css-prefix}-3x { font-size: 3em; } 12 | .@{fa-css-prefix}-4x { font-size: 4em; } 13 | .@{fa-css-prefix}-5x { font-size: 5em; } 14 | -------------------------------------------------------------------------------- /docs/static/font-awesome-4.0.3/less/list.less: -------------------------------------------------------------------------------- 1 | // List Icons 2 | // ------------------------- 3 | 4 | .@{fa-css-prefix}-ul { 5 | padding-left: 0; 6 | margin-left: @fa-li-width; 7 | list-style-type: none; 8 | > li { position: relative; } 9 | } 10 | .@{fa-css-prefix}-li { 11 | position: absolute; 12 | left: -@fa-li-width; 13 | width: @fa-li-width; 14 | top: (2em / 14); 15 | text-align: center; 16 | &.@{fa-css-prefix}-lg { 17 | left: -@fa-li-width + (4em / 14); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /docs/static/font-awesome-4.0.3/less/mixins.less: -------------------------------------------------------------------------------- 1 | // Mixins 2 | // -------------------------- 3 | 4 | .fa-icon-rotate(@degrees, @rotation) { 5 | filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=@rotation); 6 | -webkit-transform: rotate(@degrees); 7 | -moz-transform: rotate(@degrees); 8 | -ms-transform: rotate(@degrees); 9 | -o-transform: rotate(@degrees); 10 | transform: rotate(@degrees); 11 | } 12 | 13 | .fa-icon-flip(@horiz, @vert, @rotation) { 14 | filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=@rotation, mirror=1); 15 | -webkit-transform: scale(@horiz, @vert); 16 | -moz-transform: scale(@horiz, @vert); 17 | -ms-transform: scale(@horiz, @vert); 18 | -o-transform: scale(@horiz, @vert); 19 | transform: scale(@horiz, @vert); 20 | } 21 | -------------------------------------------------------------------------------- /docs/static/font-awesome-4.0.3/less/path.less: -------------------------------------------------------------------------------- 1 | /* FONT PATH 2 | * -------------------------- */ 3 | 4 | @font-face { 5 | font-family: 'FontAwesome'; 6 | src: url('@{fa-font-path}/fontawesome-webfont.eot?v=@{fa-version}'); 7 | src: url('@{fa-font-path}/fontawesome-webfont.eot?#iefix&v=@{fa-version}') format('embedded-opentype'), 8 | url('@{fa-font-path}/fontawesome-webfont.woff?v=@{fa-version}') format('woff'), 9 | url('@{fa-font-path}/fontawesome-webfont.ttf?v=@{fa-version}') format('truetype'), 10 | url('@{fa-font-path}/fontawesome-webfont.svg?v=@{fa-version}#fontawesomeregular') format('svg'); 11 | // src: url('@{fa-font-path}/FontAwesome.otf') format('opentype'); // used when developing fonts 12 | font-weight: normal; 13 | font-style: normal; 14 | } 15 | -------------------------------------------------------------------------------- /docs/static/font-awesome-4.0.3/less/rotated-flipped.less: -------------------------------------------------------------------------------- 1 | // Rotated & Flipped Icons 2 | // ------------------------- 3 | 4 | .@{fa-css-prefix}-rotate-90 { .fa-icon-rotate(90deg, 1); } 5 | .@{fa-css-prefix}-rotate-180 { .fa-icon-rotate(180deg, 2); } 6 | .@{fa-css-prefix}-rotate-270 { .fa-icon-rotate(270deg, 3); } 7 | 8 | .@{fa-css-prefix}-flip-horizontal { .fa-icon-flip(-1, 1, 0); } 9 | .@{fa-css-prefix}-flip-vertical { .fa-icon-flip(1, -1, 2); } 10 | -------------------------------------------------------------------------------- /docs/static/font-awesome-4.0.3/less/stacked.less: -------------------------------------------------------------------------------- 1 | // Stacked Icons 2 | // ------------------------- 3 | 4 | .@{fa-css-prefix}-stack { 5 | position: relative; 6 | display: inline-block; 7 | width: 2em; 8 | height: 2em; 9 | line-height: 2em; 10 | vertical-align: middle; 11 | } 12 | .@{fa-css-prefix}-stack-1x, .@{fa-css-prefix}-stack-2x { 13 | position: absolute; 14 | left: 0; 15 | width: 100%; 16 | text-align: center; 17 | } 18 | .@{fa-css-prefix}-stack-1x { line-height: inherit; } 19 | .@{fa-css-prefix}-stack-2x { font-size: 2em; } 20 | .@{fa-css-prefix}-inverse { color: @fa-inverse; } 21 | -------------------------------------------------------------------------------- /docs/static/font-awesome-4.0.3/scss/_bordered-pulled.scss: -------------------------------------------------------------------------------- 1 | // Bordered & Pulled 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix}-border { 5 | padding: .2em .25em .15em; 6 | border: solid .08em $fa-border-color; 7 | border-radius: .1em; 8 | } 9 | 10 | .pull-right { float: right; } 11 | .pull-left { float: left; } 12 | 13 | .#{$fa-css-prefix} { 14 | &.pull-left { margin-right: .3em; } 15 | &.pull-right { margin-left: .3em; } 16 | } 17 | -------------------------------------------------------------------------------- /docs/static/font-awesome-4.0.3/scss/_core.scss: -------------------------------------------------------------------------------- 1 | // Base Class Definition 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix} { 5 | display: inline-block; 6 | font-family: FontAwesome; 7 | font-style: normal; 8 | font-weight: normal; 9 | line-height: 1; 10 | -webkit-font-smoothing: antialiased; 11 | -moz-osx-font-smoothing: grayscale; 12 | } 13 | -------------------------------------------------------------------------------- /docs/static/font-awesome-4.0.3/scss/_fixed-width.scss: -------------------------------------------------------------------------------- 1 | // Fixed Width Icons 2 | // ------------------------- 3 | .#{$fa-css-prefix}-fw { 4 | width: (18em / 14); 5 | text-align: center; 6 | } 7 | -------------------------------------------------------------------------------- /docs/static/font-awesome-4.0.3/scss/_larger.scss: -------------------------------------------------------------------------------- 1 | // Icon Sizes 2 | // ------------------------- 3 | 4 | /* makes the font 33% larger relative to the icon container */ 5 | .#{$fa-css-prefix}-lg { 6 | font-size: (4em / 3); 7 | line-height: (3em / 4); 8 | vertical-align: -15%; 9 | } 10 | .#{$fa-css-prefix}-2x { font-size: 2em; } 11 | .#{$fa-css-prefix}-3x { font-size: 3em; } 12 | .#{$fa-css-prefix}-4x { font-size: 4em; } 13 | .#{$fa-css-prefix}-5x { font-size: 5em; } 14 | -------------------------------------------------------------------------------- /docs/static/font-awesome-4.0.3/scss/_list.scss: -------------------------------------------------------------------------------- 1 | // List Icons 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix}-ul { 5 | padding-left: 0; 6 | margin-left: $fa-li-width; 7 | list-style-type: none; 8 | > li { position: relative; } 9 | } 10 | .#{$fa-css-prefix}-li { 11 | position: absolute; 12 | left: -$fa-li-width; 13 | width: $fa-li-width; 14 | top: (2em / 14); 15 | text-align: center; 16 | &.#{$fa-css-prefix}-lg { 17 | left: -$fa-li-width + (4em / 14); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /docs/static/font-awesome-4.0.3/scss/_mixins.scss: -------------------------------------------------------------------------------- 1 | // Mixins 2 | // -------------------------- 3 | 4 | @mixin fa-icon-rotate($degrees, $rotation) { 5 | filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=$rotation); 6 | -webkit-transform: rotate($degrees); 7 | -moz-transform: rotate($degrees); 8 | -ms-transform: rotate($degrees); 9 | -o-transform: rotate($degrees); 10 | transform: rotate($degrees); 11 | } 12 | 13 | @mixin fa-icon-flip($horiz, $vert, $rotation) { 14 | filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=$rotation); 15 | -webkit-transform: scale($horiz, $vert); 16 | -moz-transform: scale($horiz, $vert); 17 | -ms-transform: scale($horiz, $vert); 18 | -o-transform: scale($horiz, $vert); 19 | transform: scale($horiz, $vert); 20 | } 21 | -------------------------------------------------------------------------------- /docs/static/font-awesome-4.0.3/scss/_path.scss: -------------------------------------------------------------------------------- 1 | /* FONT PATH 2 | * -------------------------- */ 3 | 4 | @font-face { 5 | font-family: 'FontAwesome'; 6 | src: url('#{$fa-font-path}/fontawesome-webfont.eot?v=#{$fa-version}'); 7 | src: url('#{$fa-font-path}/fontawesome-webfont.eot?#iefix&v=#{$fa-version}') format('embedded-opentype'), 8 | url('#{$fa-font-path}/fontawesome-webfont.woff?v=#{$fa-version}') format('woff'), 9 | url('#{$fa-font-path}/fontawesome-webfont.ttf?v=#{$fa-version}') format('truetype'), 10 | url('#{$fa-font-path}/fontawesome-webfont.svg?v=#{$fa-version}#fontawesomeregular') format('svg'); 11 | //src: url('#{$fa-font-path}/FontAwesome.otf') format('opentype'); // used when developing fonts 12 | font-weight: normal; 13 | font-style: normal; 14 | } 15 | -------------------------------------------------------------------------------- /docs/static/font-awesome-4.0.3/scss/_rotated-flipped.scss: -------------------------------------------------------------------------------- 1 | // Rotated & Flipped Icons 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix}-rotate-90 { @include fa-icon-rotate(90deg, 1); } 5 | .#{$fa-css-prefix}-rotate-180 { @include fa-icon-rotate(180deg, 2); } 6 | .#{$fa-css-prefix}-rotate-270 { @include fa-icon-rotate(270deg, 3); } 7 | 8 | .#{$fa-css-prefix}-flip-horizontal { @include fa-icon-flip(-1, 1, 0); } 9 | .#{$fa-css-prefix}-flip-vertical { @include fa-icon-flip(1, -1, 2); } 10 | -------------------------------------------------------------------------------- /docs/static/font-awesome-4.0.3/scss/_stacked.scss: -------------------------------------------------------------------------------- 1 | // Stacked Icons 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix}-stack { 5 | position: relative; 6 | display: inline-block; 7 | width: 2em; 8 | height: 2em; 9 | line-height: 2em; 10 | vertical-align: middle; 11 | } 12 | .#{$fa-css-prefix}-stack-1x, .#{$fa-css-prefix}-stack-2x { 13 | position: absolute; 14 | left: 0; 15 | width: 100%; 16 | text-align: center; 17 | } 18 | .#{$fa-css-prefix}-stack-1x { line-height: inherit; } 19 | .#{$fa-css-prefix}-stack-2x { font-size: 2em; } 20 | .#{$fa-css-prefix}-inverse { color: $fa-inverse; } 21 | -------------------------------------------------------------------------------- /docs/static/font-awesome-4.0.3/scss/font-awesome.scss: -------------------------------------------------------------------------------- 1 | /*! 2 | * Font Awesome 4.0.3 by @davegandy - http://fontawesome.io - @fontawesome 3 | * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) 4 | */ 5 | 6 | @import "variables"; 7 | @import "mixins"; 8 | @import "path"; 9 | @import "core"; 10 | @import "larger"; 11 | @import "fixed-width"; 12 | @import "list"; 13 | @import "bordered-pulled"; 14 | @import "spinning"; 15 | @import "rotated-flipped"; 16 | @import "stacked"; 17 | @import "icons"; 18 | -------------------------------------------------------------------------------- /docs/static/images/adjacency-list.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thinkaurelius/titan/ee226e52415b8bf43b700afac75fa5b9767993a5/docs/static/images/adjacency-list.png -------------------------------------------------------------------------------- /docs/static/images/bigtablemodel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thinkaurelius/titan/ee226e52415b8bf43b700afac75fa5b9767993a5/docs/static/images/bigtablemodel.png -------------------------------------------------------------------------------- /docs/static/images/building-titan.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thinkaurelius/titan/ee226e52415b8bf43b700afac75fa5b9767993a5/docs/static/images/building-titan.png -------------------------------------------------------------------------------- /docs/static/images/data-science-chain.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thinkaurelius/titan/ee226e52415b8bf43b700afac75fa5b9767993a5/docs/static/images/data-science-chain.png -------------------------------------------------------------------------------- /docs/static/images/dbpedia-indegree.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thinkaurelius/titan/ee226e52415b8bf43b700afac75fa5b9767993a5/docs/static/images/dbpedia-indegree.png -------------------------------------------------------------------------------- /docs/static/images/dbpedia-outdegree.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thinkaurelius/titan/ee226e52415b8bf43b700afac75fa5b9767993a5/docs/static/images/dbpedia-outdegree.png -------------------------------------------------------------------------------- /docs/static/images/dead-elephants.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thinkaurelius/titan/ee226e52415b8bf43b700afac75fa5b9767993a5/docs/static/images/dead-elephants.png -------------------------------------------------------------------------------- /docs/static/images/download-button.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thinkaurelius/titan/ee226e52415b8bf43b700afac75fa5b9767993a5/docs/static/images/download-button.png -------------------------------------------------------------------------------- /docs/static/images/ec2-screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thinkaurelius/titan/ee226e52415b8bf43b700afac75fa5b9767993a5/docs/static/images/ec2-screenshot.png -------------------------------------------------------------------------------- /docs/static/images/faunus-character.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thinkaurelius/titan/ee226e52415b8bf43b700afac75fa5b9767993a5/docs/static/images/faunus-character.pdf -------------------------------------------------------------------------------- /docs/static/images/faunus-character.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thinkaurelius/titan/ee226e52415b8bf43b700afac75fa5b9767993a5/docs/static/images/faunus-character.png -------------------------------------------------------------------------------- /docs/static/images/faunus-diagram.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thinkaurelius/titan/ee226e52415b8bf43b700afac75fa5b9767993a5/docs/static/images/faunus-diagram.png -------------------------------------------------------------------------------- /docs/static/images/faunus-distributed-gremlin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thinkaurelius/titan/ee226e52415b8bf43b700afac75fa5b9767993a5/docs/static/images/faunus-distributed-gremlin.png -------------------------------------------------------------------------------- /docs/static/images/faunus-elephants.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thinkaurelius/titan/ee226e52415b8bf43b700afac75fa5b9767993a5/docs/static/images/faunus-elephants.png -------------------------------------------------------------------------------- /docs/static/images/faunus-graph-workflow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thinkaurelius/titan/ee226e52415b8bf43b700afac75fa5b9767993a5/docs/static/images/faunus-graph-workflow.png -------------------------------------------------------------------------------- /docs/static/images/faunus-head-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thinkaurelius/titan/ee226e52415b8bf43b700afac75fa5b9767993a5/docs/static/images/faunus-head-logo.png -------------------------------------------------------------------------------- /docs/static/images/faunus-head.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thinkaurelius/titan/ee226e52415b8bf43b700afac75fa5b9767993a5/docs/static/images/faunus-head.png -------------------------------------------------------------------------------- /docs/static/images/faunus-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thinkaurelius/titan/ee226e52415b8bf43b700afac75fa5b9767993a5/docs/static/images/faunus-logo.png -------------------------------------------------------------------------------- /docs/static/images/faunus-rexster-security-group-screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thinkaurelius/titan/ee226e52415b8bf43b700afac75fa5b9767993a5/docs/static/images/faunus-rexster-security-group-screenshot.png -------------------------------------------------------------------------------- /docs/static/images/faunus-seated.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thinkaurelius/titan/ee226e52415b8bf43b700afac75fa5b9767993a5/docs/static/images/faunus-seated.pdf -------------------------------------------------------------------------------- /docs/static/images/faunus-seated.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thinkaurelius/titan/ee226e52415b8bf43b700afac75fa5b9767993a5/docs/static/images/faunus-seated.png -------------------------------------------------------------------------------- /docs/static/images/faunus-security-group-screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thinkaurelius/titan/ee226e52415b8bf43b700afac75fa5b9767993a5/docs/static/images/faunus-security-group-screenshot.png -------------------------------------------------------------------------------- /docs/static/images/graph-derivation.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thinkaurelius/titan/ee226e52415b8bf43b700afac75fa5b9767993a5/docs/static/images/graph-derivation.png -------------------------------------------------------------------------------- /docs/static/images/graph-globe.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thinkaurelius/titan/ee226e52415b8bf43b700afac75fa5b9767993a5/docs/static/images/graph-globe.png -------------------------------------------------------------------------------- /docs/static/images/graph-of-the-gods-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thinkaurelius/titan/ee226e52415b8bf43b700afac75fa5b9767993a5/docs/static/images/graph-of-the-gods-2.png -------------------------------------------------------------------------------- /docs/static/images/graph-of-the-gods.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thinkaurelius/titan/ee226e52415b8bf43b700afac75fa5b9767993a5/docs/static/images/graph-of-the-gods.png -------------------------------------------------------------------------------- /docs/static/images/graph-statistic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thinkaurelius/titan/ee226e52415b8bf43b700afac75fa5b9767993a5/docs/static/images/graph-statistic.png -------------------------------------------------------------------------------- /docs/static/images/gremlin-elephant.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thinkaurelius/titan/ee226e52415b8bf43b700afac75fa5b9767993a5/docs/static/images/gremlin-elephant.png -------------------------------------------------------------------------------- /docs/static/images/gremlin-terminal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thinkaurelius/titan/ee226e52415b8bf43b700afac75fa5b9767993a5/docs/static/images/gremlin-terminal.png -------------------------------------------------------------------------------- /docs/static/images/hadoop-elephant.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thinkaurelius/titan/ee226e52415b8bf43b700afac75fa5b9767993a5/docs/static/images/hadoop-elephant.png -------------------------------------------------------------------------------- /docs/static/images/hadoop-logo.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thinkaurelius/titan/ee226e52415b8bf43b700afac75fa5b9767993a5/docs/static/images/hadoop-logo.jpg -------------------------------------------------------------------------------- /docs/static/images/hdfs-logo.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thinkaurelius/titan/ee226e52415b8bf43b700afac75fa5b9767993a5/docs/static/images/hdfs-logo.jpg -------------------------------------------------------------------------------- /docs/static/images/icons/README: -------------------------------------------------------------------------------- 1 | Replaced the plain DocBook XSL admonition icons with Jimmac's DocBook 2 | icons (http://jimmac.musichall.cz/ikony.php3). I dropped transparency 3 | from the Jimmac icons to get round MS IE and FOP PNG incompatibilies. 4 | 5 | Stuart Rackham 6 | -------------------------------------------------------------------------------- /docs/static/images/icons/callouts/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thinkaurelius/titan/ee226e52415b8bf43b700afac75fa5b9767993a5/docs/static/images/icons/callouts/1.png -------------------------------------------------------------------------------- /docs/static/images/icons/callouts/10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thinkaurelius/titan/ee226e52415b8bf43b700afac75fa5b9767993a5/docs/static/images/icons/callouts/10.png -------------------------------------------------------------------------------- /docs/static/images/icons/callouts/11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thinkaurelius/titan/ee226e52415b8bf43b700afac75fa5b9767993a5/docs/static/images/icons/callouts/11.png -------------------------------------------------------------------------------- /docs/static/images/icons/callouts/12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thinkaurelius/titan/ee226e52415b8bf43b700afac75fa5b9767993a5/docs/static/images/icons/callouts/12.png -------------------------------------------------------------------------------- /docs/static/images/icons/callouts/13.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thinkaurelius/titan/ee226e52415b8bf43b700afac75fa5b9767993a5/docs/static/images/icons/callouts/13.png -------------------------------------------------------------------------------- /docs/static/images/icons/callouts/14.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thinkaurelius/titan/ee226e52415b8bf43b700afac75fa5b9767993a5/docs/static/images/icons/callouts/14.png -------------------------------------------------------------------------------- /docs/static/images/icons/callouts/15.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thinkaurelius/titan/ee226e52415b8bf43b700afac75fa5b9767993a5/docs/static/images/icons/callouts/15.png -------------------------------------------------------------------------------- /docs/static/images/icons/callouts/2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thinkaurelius/titan/ee226e52415b8bf43b700afac75fa5b9767993a5/docs/static/images/icons/callouts/2.png -------------------------------------------------------------------------------- /docs/static/images/icons/callouts/3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thinkaurelius/titan/ee226e52415b8bf43b700afac75fa5b9767993a5/docs/static/images/icons/callouts/3.png -------------------------------------------------------------------------------- /docs/static/images/icons/callouts/4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thinkaurelius/titan/ee226e52415b8bf43b700afac75fa5b9767993a5/docs/static/images/icons/callouts/4.png -------------------------------------------------------------------------------- /docs/static/images/icons/callouts/5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thinkaurelius/titan/ee226e52415b8bf43b700afac75fa5b9767993a5/docs/static/images/icons/callouts/5.png -------------------------------------------------------------------------------- /docs/static/images/icons/callouts/6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thinkaurelius/titan/ee226e52415b8bf43b700afac75fa5b9767993a5/docs/static/images/icons/callouts/6.png -------------------------------------------------------------------------------- /docs/static/images/icons/callouts/7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thinkaurelius/titan/ee226e52415b8bf43b700afac75fa5b9767993a5/docs/static/images/icons/callouts/7.png -------------------------------------------------------------------------------- /docs/static/images/icons/callouts/8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thinkaurelius/titan/ee226e52415b8bf43b700afac75fa5b9767993a5/docs/static/images/icons/callouts/8.png -------------------------------------------------------------------------------- /docs/static/images/icons/callouts/9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thinkaurelius/titan/ee226e52415b8bf43b700afac75fa5b9767993a5/docs/static/images/icons/callouts/9.png -------------------------------------------------------------------------------- /docs/static/images/icons/caution.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thinkaurelius/titan/ee226e52415b8bf43b700afac75fa5b9767993a5/docs/static/images/icons/caution.png -------------------------------------------------------------------------------- /docs/static/images/icons/example.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thinkaurelius/titan/ee226e52415b8bf43b700afac75fa5b9767993a5/docs/static/images/icons/example.png -------------------------------------------------------------------------------- /docs/static/images/icons/home.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thinkaurelius/titan/ee226e52415b8bf43b700afac75fa5b9767993a5/docs/static/images/icons/home.png -------------------------------------------------------------------------------- /docs/static/images/icons/important.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thinkaurelius/titan/ee226e52415b8bf43b700afac75fa5b9767993a5/docs/static/images/icons/important.png -------------------------------------------------------------------------------- /docs/static/images/icons/next.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thinkaurelius/titan/ee226e52415b8bf43b700afac75fa5b9767993a5/docs/static/images/icons/next.png -------------------------------------------------------------------------------- /docs/static/images/icons/note.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thinkaurelius/titan/ee226e52415b8bf43b700afac75fa5b9767993a5/docs/static/images/icons/note.png -------------------------------------------------------------------------------- /docs/static/images/icons/prev.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thinkaurelius/titan/ee226e52415b8bf43b700afac75fa5b9767993a5/docs/static/images/icons/prev.png -------------------------------------------------------------------------------- /docs/static/images/icons/tip.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thinkaurelius/titan/ee226e52415b8bf43b700afac75fa5b9767993a5/docs/static/images/icons/tip.png -------------------------------------------------------------------------------- /docs/static/images/icons/up.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thinkaurelius/titan/ee226e52415b8bf43b700afac75fa5b9767993a5/docs/static/images/icons/up.png -------------------------------------------------------------------------------- /docs/static/images/icons/warning.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thinkaurelius/titan/ee226e52415b8bf43b700afac75fa5b9767993a5/docs/static/images/icons/warning.png -------------------------------------------------------------------------------- /docs/static/images/juno-married.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thinkaurelius/titan/ee226e52415b8bf43b700afac75fa5b9767993a5/docs/static/images/juno-married.png -------------------------------------------------------------------------------- /docs/static/images/mapreduce-logo.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thinkaurelius/titan/ee226e52415b8bf43b700afac75fa5b9767993a5/docs/static/images/mapreduce-logo.jpg -------------------------------------------------------------------------------- /docs/static/images/relationlayout.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thinkaurelius/titan/ee226e52415b8bf43b700afac75fa5b9767993a5/docs/static/images/relationlayout.png -------------------------------------------------------------------------------- /docs/static/images/script-format-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thinkaurelius/titan/ee226e52415b8bf43b700afac75fa5b9767993a5/docs/static/images/script-format-logo.png -------------------------------------------------------------------------------- /docs/static/images/splash-graph.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thinkaurelius/titan/ee226e52415b8bf43b700afac75fa5b9767993a5/docs/static/images/splash-graph.png -------------------------------------------------------------------------------- /docs/static/images/super-node.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thinkaurelius/titan/ee226e52415b8bf43b700afac75fa5b9767993a5/docs/static/images/super-node.png -------------------------------------------------------------------------------- /docs/static/images/titan-captheorem.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thinkaurelius/titan/ee226e52415b8bf43b700afac75fa5b9767993a5/docs/static/images/titan-captheorem.png -------------------------------------------------------------------------------- /docs/static/images/titan-configuration.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thinkaurelius/titan/ee226e52415b8bf43b700afac75fa5b9767993a5/docs/static/images/titan-configuration.png -------------------------------------------------------------------------------- /docs/static/images/titan-elasticsearch.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thinkaurelius/titan/ee226e52415b8bf43b700afac75fa5b9767993a5/docs/static/images/titan-elasticsearch.png -------------------------------------------------------------------------------- /docs/static/images/titan-globe.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thinkaurelius/titan/ee226e52415b8bf43b700afac75fa5b9767993a5/docs/static/images/titan-globe.png -------------------------------------------------------------------------------- /docs/static/images/titan-head.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thinkaurelius/titan/ee226e52415b8bf43b700afac75fa5b9767993a5/docs/static/images/titan-head.png -------------------------------------------------------------------------------- /docs/static/images/titan-kneeling.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thinkaurelius/titan/ee226e52415b8bf43b700afac75fa5b9767993a5/docs/static/images/titan-kneeling.png -------------------------------------------------------------------------------- /docs/static/images/titan-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thinkaurelius/titan/ee226e52415b8bf43b700afac75fa5b9767993a5/docs/static/images/titan-logo.png -------------------------------------------------------------------------------- /docs/static/images/titan-modes-distributed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thinkaurelius/titan/ee226e52415b8bf43b700afac75fa5b9767993a5/docs/static/images/titan-modes-distributed.png -------------------------------------------------------------------------------- /docs/static/images/titan-modes-embedded.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thinkaurelius/titan/ee226e52415b8bf43b700afac75fa5b9767993a5/docs/static/images/titan-modes-embedded.png -------------------------------------------------------------------------------- /docs/static/images/titan-modes-local.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thinkaurelius/titan/ee226e52415b8bf43b700afac75fa5b9767993a5/docs/static/images/titan-modes-local.png -------------------------------------------------------------------------------- /docs/static/images/titan-modes-rexster.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thinkaurelius/titan/ee226e52415b8bf43b700afac75fa5b9767993a5/docs/static/images/titan-modes-rexster.png -------------------------------------------------------------------------------- /docs/static/images/titan-seated-highres.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thinkaurelius/titan/ee226e52415b8bf43b700afac75fa5b9767993a5/docs/static/images/titan-seated-highres.png -------------------------------------------------------------------------------- /docs/static/images/titan-seated.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thinkaurelius/titan/ee226e52415b8bf43b700afac75fa5b9767993a5/docs/static/images/titan-seated.pdf -------------------------------------------------------------------------------- /docs/static/images/titan-seated.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thinkaurelius/titan/ee226e52415b8bf43b700afac75fa5b9767993a5/docs/static/images/titan-seated.png -------------------------------------------------------------------------------- /docs/static/images/titanstoragelayout.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thinkaurelius/titan/ee226e52415b8bf43b700afac75fa5b9767993a5/docs/static/images/titanstoragelayout.png -------------------------------------------------------------------------------- /docs/static/images/vertex-centric-index.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thinkaurelius/titan/ee226e52415b8bf43b700afac75fa5b9767993a5/docs/static/images/vertex-centric-index.png -------------------------------------------------------------------------------- /docs/static/images/vertex-query-filter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thinkaurelius/titan/ee226e52415b8bf43b700afac75fa5b9767993a5/docs/static/images/vertex-query-filter.png -------------------------------------------------------------------------------- /docs/storagebackends.txt: -------------------------------------------------------------------------------- 1 | [[storage-backends]] 2 | Storage Backends 3 | ================ 4 | 5 | Titan's data storage layer is pluggable. Implementations of the 6 | pluggable storage layer -- that is, the software component tells Titan 7 | how to talk to its data store -- are called storage backends. 8 | 9 | This section describes configuration and administration of Titan's 10 | standard storage backends. 11 | 12 | This section only addresses configuration of the stock storage 13 | backends that come with Titan. 14 | 15 | include::cassandra.txt[] 16 | 17 | include::hbase.txt[] 18 | 19 | include::bdb.txt[] 20 | 21 | include::inmemorybackend.txt[] 22 | -------------------------------------------------------------------------------- /docs/titaninternals.txt: -------------------------------------------------------------------------------- 1 | [[internals]] 2 | Titan Internals 3 | =============== 4 | 5 | include::datamodel.txt[] 6 | 7 | include::building.txt[] 8 | -------------------------------------------------------------------------------- /docs/tutorials.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thinkaurelius/titan/ee226e52415b8bf43b700afac75fa5b9767993a5/docs/tutorials.txt -------------------------------------------------------------------------------- /docs/usefultools.txt: -------------------------------------------------------------------------------- 1 | [[tools-and-utilities]] 2 | Useful Tools 3 | ============ 4 | 5 | include::relatedprojects.txt[] 6 | 7 | include::advblueprints.txt[] 8 | 9 | include::generating.txt[] 10 | -------------------------------------------------------------------------------- /docs/xsl/highlight/properties-hl.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 10 | ! 11 | 12 | 13 | # 14 | 15 | 16 | 18 | ^(.+)(?=(=|:)) 19 | 20 | MULTILINE 21 | 22 | 23 | -------------------------------------------------------------------------------- /docs/xsl/highlight/xslthl-config.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /titan-all/src/main/resources/META-INF/services/org.apache.tinkerpop.gremlin.groovy.plugin.GremlinPlugin: -------------------------------------------------------------------------------- 1 | com.thinkaurelius.titan.graphdb.tinkerpop.plugin.TitanGremlinPlugin -------------------------------------------------------------------------------- /titan-berkeleyje/src/test/java/com/thinkaurelius/titan/blueprints/process/BerkeleyTitanComputerTest.java: -------------------------------------------------------------------------------- 1 | package com.thinkaurelius.titan.blueprints.process; 2 | 3 | import com.thinkaurelius.titan.blueprints.BerkeleyGraphComputerProvider; 4 | import com.thinkaurelius.titan.core.TitanGraph; 5 | import org.apache.tinkerpop.gremlin.GraphProviderClass; 6 | import org.apache.tinkerpop.gremlin.process.ProcessComputerSuite; 7 | import org.junit.runner.RunWith; 8 | 9 | /** 10 | * @author Matthias Broecheler (me@matthiasb.com) 11 | */ 12 | @RunWith(ProcessComputerSuite.class) 13 | @GraphProviderClass(provider = BerkeleyGraphComputerProvider.class, graph = TitanGraph.class) 14 | public class BerkeleyTitanComputerTest { 15 | } -------------------------------------------------------------------------------- /titan-berkeleyje/src/test/java/com/thinkaurelius/titan/blueprints/process/BerkeleyTitanProcessPerformanceTest.java: -------------------------------------------------------------------------------- 1 | package com.thinkaurelius.titan.blueprints.process; 2 | 3 | import com.thinkaurelius.titan.blueprints.BerkeleyGraphProvider; 4 | import com.thinkaurelius.titan.core.TitanGraph; 5 | import org.apache.tinkerpop.gremlin.GraphProviderClass; 6 | import org.apache.tinkerpop.gremlin.process.ProcessPerformanceSuite; 7 | import org.apache.tinkerpop.gremlin.process.ProcessStandardSuite; 8 | import org.junit.Ignore; 9 | import org.junit.runner.RunWith; 10 | 11 | /** 12 | * @author Matthias Broecheler (me@matthiasb.com) 13 | */ 14 | @RunWith(ProcessPerformanceSuite.class) 15 | @GraphProviderClass(provider = BerkeleyGraphProvider.class, graph = TitanGraph.class) 16 | public class BerkeleyTitanProcessPerformanceTest { 17 | } 18 | -------------------------------------------------------------------------------- /titan-berkeleyje/src/test/java/com/thinkaurelius/titan/blueprints/process/BerkeleyTitanProcessTest.java: -------------------------------------------------------------------------------- 1 | package com.thinkaurelius.titan.blueprints.process; 2 | 3 | import com.thinkaurelius.titan.blueprints.BerkeleyGraphProvider; 4 | import com.thinkaurelius.titan.core.TitanGraph; 5 | import org.apache.tinkerpop.gremlin.GraphProviderClass; 6 | import org.apache.tinkerpop.gremlin.process.ProcessStandardSuite; 7 | import org.apache.tinkerpop.gremlin.structure.StructureStandardSuite; 8 | import org.junit.runner.RunWith; 9 | 10 | /** 11 | * @author Matthias Broecheler (me@matthiasb.com) 12 | */ 13 | @RunWith(ProcessStandardSuite.class) 14 | @GraphProviderClass(provider = BerkeleyGraphProvider.class, graph = TitanGraph.class) 15 | public class BerkeleyTitanProcessTest { 16 | } -------------------------------------------------------------------------------- /titan-berkeleyje/src/test/java/com/thinkaurelius/titan/blueprints/process/groovy/BerkeleyTitanGroovyProcessComputerTest.java: -------------------------------------------------------------------------------- 1 | package com.thinkaurelius.titan.blueprints.process.groovy; 2 | 3 | import com.thinkaurelius.titan.blueprints.BerkeleyGraphComputerProvider; 4 | import com.thinkaurelius.titan.blueprints.BerkeleyGraphProvider; 5 | import com.thinkaurelius.titan.core.TitanGraph; 6 | import org.apache.tinkerpop.gremlin.GraphProviderClass; 7 | import org.apache.tinkerpop.gremlin.process.GroovyProcessComputerSuite; 8 | import org.apache.tinkerpop.gremlin.process.ProcessStandardSuite; 9 | import org.junit.Ignore; 10 | import org.junit.runner.RunWith; 11 | 12 | /** 13 | * @author Bryn Cooke 14 | */ 15 | @RunWith(GroovyProcessComputerSuite.class) 16 | @GraphProviderClass(provider = BerkeleyGraphComputerProvider.class, graph = TitanGraph.class) 17 | public class BerkeleyTitanGroovyProcessComputerTest { 18 | } -------------------------------------------------------------------------------- /titan-berkeleyje/src/test/java/com/thinkaurelius/titan/blueprints/process/groovy/BerkeleyTitanGroovyProcessStandardTest.java: -------------------------------------------------------------------------------- 1 | package com.thinkaurelius.titan.blueprints.process.groovy; 2 | 3 | import com.thinkaurelius.titan.blueprints.BerkeleyGraphProvider; 4 | import com.thinkaurelius.titan.core.TitanGraph; 5 | import org.apache.tinkerpop.gremlin.GraphProviderClass; 6 | import org.apache.tinkerpop.gremlin.process.GroovyProcessStandardSuite; 7 | import org.apache.tinkerpop.gremlin.process.ProcessStandardSuite; 8 | import org.junit.Ignore; 9 | import org.junit.runner.RunWith; 10 | 11 | /** 12 | * @author Bryn Cooke 13 | */ 14 | @RunWith(GroovyProcessStandardSuite.class) 15 | @GraphProviderClass(provider = BerkeleyGraphProvider.class, graph = TitanGraph.class) 16 | public class BerkeleyTitanGroovyProcessStandardTest { 17 | } -------------------------------------------------------------------------------- /titan-berkeleyje/src/test/java/com/thinkaurelius/titan/blueprints/structure/BerkeleyTitanStructurePerformanceTest.java: -------------------------------------------------------------------------------- 1 | package com.thinkaurelius.titan.blueprints.structure; 2 | 3 | import com.thinkaurelius.titan.blueprints.BerkeleyGraphProvider; 4 | import com.thinkaurelius.titan.core.TitanGraph; 5 | import org.apache.tinkerpop.gremlin.GraphProviderClass; 6 | import org.apache.tinkerpop.gremlin.process.ProcessComputerSuite; 7 | import org.apache.tinkerpop.gremlin.structure.StructurePerformanceSuite; 8 | import org.junit.Ignore; 9 | import org.junit.runner.RunWith; 10 | 11 | /** 12 | * @author Matthias Broecheler (me@matthiasb.com) 13 | */ 14 | @Ignore 15 | @RunWith(StructurePerformanceSuite.class) 16 | @GraphProviderClass(provider = BerkeleyGraphProvider.class, graph = TitanGraph.class) 17 | public class BerkeleyTitanStructurePerformanceTest { 18 | } 19 | -------------------------------------------------------------------------------- /titan-berkeleyje/src/test/java/com/thinkaurelius/titan/blueprints/structure/BerkeleyTitanStructureTest.java: -------------------------------------------------------------------------------- 1 | package com.thinkaurelius.titan.blueprints.structure; 2 | 3 | import com.thinkaurelius.titan.blueprints.BerkeleyGraphProvider; 4 | import com.thinkaurelius.titan.core.TitanGraph; 5 | import org.apache.tinkerpop.gremlin.GraphProviderClass; 6 | import org.apache.tinkerpop.gremlin.structure.StructureStandardSuite; 7 | import org.junit.runner.RunWith; 8 | 9 | /** 10 | * @author Matthias Broecheler (me@matthiasb.com) 11 | */ 12 | @RunWith(StructureStandardSuite.class) 13 | @GraphProviderClass(provider = BerkeleyGraphProvider.class, graph = TitanGraph.class) 14 | public class BerkeleyTitanStructureTest { 15 | } 16 | -------------------------------------------------------------------------------- /titan-berkeleyje/src/test/java/com/thinkaurelius/titan/blueprints/structure/groovy/BerkeleyTitanGroovyEnvironmentIntegrateTest.java: -------------------------------------------------------------------------------- 1 | package com.thinkaurelius.titan.blueprints.structure.groovy; 2 | 3 | import com.thinkaurelius.titan.blueprints.BerkeleyGraphProvider; 4 | import com.thinkaurelius.titan.core.TitanGraph; 5 | import org.apache.tinkerpop.gremlin.GraphProviderClass; 6 | import org.apache.tinkerpop.gremlin.groovy.GroovyEnvironmentIntegrateSuite; 7 | import org.apache.tinkerpop.gremlin.process.ProcessStandardSuite; 8 | import org.junit.Ignore; 9 | import org.junit.runner.RunWith; 10 | 11 | /** 12 | * @author Bryn Cooke 13 | */ 14 | @Ignore 15 | @RunWith(GroovyEnvironmentIntegrateSuite.class) 16 | @GraphProviderClass(provider = BerkeleyGraphProvider.class, graph = TitanGraph.class) 17 | public class BerkeleyTitanGroovyEnvironmentIntegrateTest { 18 | } -------------------------------------------------------------------------------- /titan-berkeleyje/src/test/java/com/thinkaurelius/titan/blueprints/structure/groovy/BerkeleyTitanGroovyEnvironmentPerformanceTest.java: -------------------------------------------------------------------------------- 1 | package com.thinkaurelius.titan.blueprints.structure.groovy; 2 | 3 | import com.thinkaurelius.titan.blueprints.BerkeleyGraphProvider; 4 | import com.thinkaurelius.titan.core.TitanGraph; 5 | import org.apache.tinkerpop.gremlin.GraphProviderClass; 6 | import org.apache.tinkerpop.gremlin.groovy.GroovyEnvironmentPerformanceSuite; 7 | import org.apache.tinkerpop.gremlin.process.ProcessStandardSuite; 8 | import org.junit.Ignore; 9 | import org.junit.runner.RunWith; 10 | 11 | /** 12 | * @author Bryn Cooke 13 | */ 14 | @Ignore 15 | @RunWith(GroovyEnvironmentPerformanceSuite.class) 16 | @GraphProviderClass(provider = BerkeleyGraphProvider.class, graph = TitanGraph.class) 17 | public class BerkeleyTitanGroovyEnvironmentPerformanceTest { 18 | } -------------------------------------------------------------------------------- /titan-berkeleyje/src/test/java/com/thinkaurelius/titan/blueprints/structure/groovy/BerkeleyTitanGroovyEnvironmentTest.java: -------------------------------------------------------------------------------- 1 | package com.thinkaurelius.titan.blueprints.structure.groovy; 2 | 3 | import com.thinkaurelius.titan.blueprints.BerkeleyGraphProvider; 4 | import com.thinkaurelius.titan.core.TitanGraph; 5 | import org.apache.tinkerpop.gremlin.GraphProviderClass; 6 | import org.apache.tinkerpop.gremlin.groovy.GroovyEnvironmentSuite; 7 | import org.apache.tinkerpop.gremlin.process.ProcessStandardSuite; 8 | import org.junit.Ignore; 9 | import org.junit.runner.RunWith; 10 | 11 | /** 12 | * @author Bryn Cooke 13 | */ 14 | @Ignore 15 | @RunWith(GroovyEnvironmentSuite.class) 16 | @GraphProviderClass(provider = BerkeleyGraphProvider.class, graph = TitanGraph.class) 17 | public class BerkeleyTitanGroovyEnvironmentTest { 18 | } -------------------------------------------------------------------------------- /titan-berkeleyje/src/test/java/com/thinkaurelius/titan/diskstorage/berkeleyje/BerkeleyKeyValueTest.java: -------------------------------------------------------------------------------- 1 | package com.thinkaurelius.titan.diskstorage.berkeleyje; 2 | 3 | import com.thinkaurelius.titan.BerkeleyStorageSetup; 4 | import com.thinkaurelius.titan.diskstorage.BackendException; 5 | import com.thinkaurelius.titan.diskstorage.KeyValueStoreTest; 6 | import com.thinkaurelius.titan.diskstorage.keycolumnvalue.keyvalue.OrderedKeyValueStoreManager; 7 | 8 | 9 | public class BerkeleyKeyValueTest extends KeyValueStoreTest { 10 | 11 | @Override 12 | public OrderedKeyValueStoreManager openStorageManager() throws BackendException { 13 | return new BerkeleyJEStoreManager(BerkeleyStorageSetup.getBerkeleyJEConfiguration()); 14 | } 15 | 16 | 17 | } 18 | -------------------------------------------------------------------------------- /titan-berkeleyje/src/test/java/com/thinkaurelius/titan/diskstorage/berkeleyje/BerkeleyLogTest.java: -------------------------------------------------------------------------------- 1 | package com.thinkaurelius.titan.diskstorage.berkeleyje; 2 | 3 | import com.thinkaurelius.titan.BerkeleyStorageSetup; 4 | import com.thinkaurelius.titan.diskstorage.BackendException; 5 | import com.thinkaurelius.titan.diskstorage.keycolumnvalue.KeyColumnValueStoreManager; 6 | import com.thinkaurelius.titan.diskstorage.keycolumnvalue.keyvalue.OrderedKeyValueStoreManagerAdapter; 7 | import com.thinkaurelius.titan.diskstorage.log.KCVSLogTest; 8 | 9 | 10 | public class BerkeleyLogTest extends KCVSLogTest { 11 | 12 | public KeyColumnValueStoreManager openStorageManager() throws BackendException { 13 | BerkeleyJEStoreManager sm = new BerkeleyJEStoreManager(BerkeleyStorageSetup.getBerkeleyJEConfiguration()); 14 | return new OrderedKeyValueStoreManagerAdapter(sm); 15 | } 16 | 17 | } 18 | -------------------------------------------------------------------------------- /titan-berkeleyje/src/test/java/com/thinkaurelius/titan/graphdb/berkeleyje/BerkeleyGraphConcurrentTest.java: -------------------------------------------------------------------------------- 1 | package com.thinkaurelius.titan.graphdb.berkeleyje; 2 | 3 | import com.thinkaurelius.titan.BerkeleyStorageSetup; 4 | import com.thinkaurelius.titan.diskstorage.configuration.WriteConfiguration; 5 | import com.thinkaurelius.titan.graphdb.TitanGraphConcurrentTest; 6 | 7 | public class BerkeleyGraphConcurrentTest extends TitanGraphConcurrentTest { 8 | 9 | @Override 10 | public WriteConfiguration getConfiguration() { 11 | return BerkeleyStorageSetup.getBerkeleyJEGraphConfiguration(); 12 | } 13 | 14 | } 15 | -------------------------------------------------------------------------------- /titan-berkeleyje/src/test/java/com/thinkaurelius/titan/graphdb/berkeleyje/BerkeleyGraphPerformanceMemoryTest.java: -------------------------------------------------------------------------------- 1 | package com.thinkaurelius.titan.graphdb.berkeleyje; 2 | 3 | import com.thinkaurelius.titan.BerkeleyStorageSetup; 4 | import com.thinkaurelius.titan.diskstorage.configuration.WriteConfiguration; 5 | import com.thinkaurelius.titan.graphdb.TitanGraphPerformanceMemoryTest; 6 | 7 | public class BerkeleyGraphPerformanceMemoryTest extends TitanGraphPerformanceMemoryTest { 8 | 9 | @Override 10 | public WriteConfiguration getConfiguration() { 11 | return BerkeleyStorageSetup.getBerkeleyJEGraphConfiguration(); 12 | } 13 | 14 | 15 | } 16 | -------------------------------------------------------------------------------- /titan-berkeleyje/src/test/java/com/thinkaurelius/titan/graphdb/berkeleyje/BerkeleyOLAPTest.java: -------------------------------------------------------------------------------- 1 | package com.thinkaurelius.titan.graphdb.berkeleyje; 2 | 3 | import com.thinkaurelius.titan.BerkeleyStorageSetup; 4 | import com.thinkaurelius.titan.diskstorage.configuration.WriteConfiguration; 5 | import com.thinkaurelius.titan.olap.OLAPTest; 6 | 7 | public class BerkeleyOLAPTest extends OLAPTest { 8 | 9 | @Override 10 | public WriteConfiguration getConfiguration() { 11 | return BerkeleyStorageSetup.getBerkeleyJEGraphConfiguration(); 12 | } 13 | 14 | } 15 | -------------------------------------------------------------------------------- /titan-berkeleyje/src/test/java/com/thinkaurelius/titan/graphdb/berkeleyje/BerkeleyOperationCountingTest.java: -------------------------------------------------------------------------------- 1 | package com.thinkaurelius.titan.graphdb.berkeleyje; 2 | 3 | import com.thinkaurelius.titan.BerkeleyStorageSetup; 4 | import com.thinkaurelius.titan.diskstorage.configuration.WriteConfiguration; 5 | import com.thinkaurelius.titan.graphdb.TitanGraphTest; 6 | import com.thinkaurelius.titan.graphdb.TitanOperationCountingTest; 7 | 8 | public class BerkeleyOperationCountingTest extends TitanOperationCountingTest { 9 | 10 | @Override 11 | public WriteConfiguration getBaseConfiguration() { 12 | return BerkeleyStorageSetup.getBerkeleyJEGraphConfiguration(); 13 | } 14 | 15 | @Override 16 | public boolean storeUsesConsistentKeyLocker() { 17 | return false; 18 | } 19 | 20 | } 21 | -------------------------------------------------------------------------------- /titan-berkeleyje/src/test/java/com/thinkaurelius/titan/graphdb/berkeleyje/BerkeleyPartitionGraphTest.java: -------------------------------------------------------------------------------- 1 | package com.thinkaurelius.titan.graphdb.berkeleyje; 2 | 3 | import com.thinkaurelius.titan.BerkeleyStorageSetup; 4 | import com.thinkaurelius.titan.diskstorage.configuration.WriteConfiguration; 5 | import com.thinkaurelius.titan.graphdb.TitanOperationCountingTest; 6 | import com.thinkaurelius.titan.graphdb.TitanPartitionGraphTest; 7 | import org.junit.Ignore; 8 | 9 | 10 | 11 | public class BerkeleyPartitionGraphTest extends TitanPartitionGraphTest { 12 | 13 | @Override 14 | public WriteConfiguration getBaseConfiguration() { 15 | return BerkeleyStorageSetup.getBerkeleyJEGraphConfiguration(); 16 | } 17 | 18 | /** 19 | * TODO: debug berkeley dbs keyslice method 20 | */ 21 | 22 | } 23 | -------------------------------------------------------------------------------- /titan-berkeleyje/src/test/java/com/thinkaurelius/titan/graphdb/database/management/BerkeleyManagementTest.java: -------------------------------------------------------------------------------- 1 | package com.thinkaurelius.titan.graphdb.database.management; 2 | 3 | import com.thinkaurelius.titan.BerkeleyStorageSetup; 4 | import com.thinkaurelius.titan.diskstorage.configuration.WriteConfiguration; 5 | 6 | public class BerkeleyManagementTest extends ManagementTest { 7 | @Override 8 | public WriteConfiguration getConfiguration() { 9 | return BerkeleyStorageSetup.getBerkeleyJEGraphConfiguration(); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /titan-berkeleyje/src/test/resources/rexster-fragment.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | false 4 | home 5 | 6 | local 7 | 8 | 9 | 10 | tp:gremlin 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /titan-cassandra/config/cassandra-filters/localhost-bop.properties: -------------------------------------------------------------------------------- 1 | cassandra.ip = 127.0.0.1 2 | cassandra.seed = 127.0.0.1 3 | # This must be set to prevent Cassandra from self-killing with BOP: 4 | # https://issues.apache.org/jira/browse/CASSANDRA-5414 5 | cassandra.token = 0000000000000000000000000000000000 6 | cassandra.num.tokens = 7 | cassandra.partitioner = org.apache.cassandra.dht.ByteOrderedPartitioner 8 | cassandra.dir = ${project.build.directory}/cassandra/data/localhost-bop 9 | cassandra.clientenc.enabled = false 10 | cassandra.clientenc.ccert = false -------------------------------------------------------------------------------- /titan-cassandra/config/cassandra-filters/localhost-murmur-ssl.properties: -------------------------------------------------------------------------------- 1 | cassandra.ip = 127.0.0.1 2 | cassandra.seed = 127.0.0.1 3 | cassandra.token = 4 | cassandra.num.tokens = num_tokens: 4 5 | cassandra.partitioner = org.apache.cassandra.dht.Murmur3Partitioner 6 | cassandra.dir = ${project.build.directory}/cassandra/data/localhost-murmur-ssl 7 | cassandra.clientenc.enabled = true 8 | cassandra.clientenc.ccert = false 9 | cassandra.clientenc.kspath = ${project.build.directory}/cassandra/conf/localhost-murmur-ssl/test.keystore 10 | cassandra.clientenc.kspw = cassandra 11 | -------------------------------------------------------------------------------- /titan-cassandra/config/cassandra-filters/localhost-murmur.properties: -------------------------------------------------------------------------------- 1 | cassandra.ip = 127.0.0.1 2 | cassandra.seed = 127.0.0.1 3 | cassandra.token = 4 | cassandra.num.tokens = num_tokens: 4 5 | cassandra.partitioner = org.apache.cassandra.dht.Murmur3Partitioner 6 | cassandra.dir = ${project.build.directory}/cassandra/data/localhost-murmur 7 | cassandra.clientenc.enabled = false 8 | cassandra.clientenc.ccert = false 9 | -------------------------------------------------------------------------------- /titan-cassandra/config/cassandra/log4j-empty.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thinkaurelius/titan/ee226e52415b8bf43b700afac75fa5b9767993a5/titan-cassandra/config/cassandra/log4j-empty.properties -------------------------------------------------------------------------------- /titan-cassandra/config/static/README.md: -------------------------------------------------------------------------------- 1 | This keypair is just for testing. Under no circumstances should it be 2 | used on any system that matters. It's been public on github and 3 | compromised since the day it was generated. -------------------------------------------------------------------------------- /titan-cassandra/config/static/test.keystore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thinkaurelius/titan/ee226e52415b8bf43b700afac75fa5b9767993a5/titan-cassandra/config/static/test.keystore -------------------------------------------------------------------------------- /titan-cassandra/config/static/test.truststore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thinkaurelius/titan/ee226e52415b8bf43b700afac75fa5b9767993a5/titan-cassandra/config/static/test.truststore -------------------------------------------------------------------------------- /titan-cassandra/src/main/java/com/thinkaurelius/titan/diskstorage/cassandra/CLevelInterface.java: -------------------------------------------------------------------------------- 1 | package com.thinkaurelius.titan.diskstorage.cassandra; 2 | 3 | public interface CLevelInterface { 4 | 5 | public org.apache.cassandra.db.ConsistencyLevel getDB(); 6 | 7 | public org.apache.cassandra.thrift.ConsistencyLevel getThrift(); 8 | 9 | public com.netflix.astyanax.model.ConsistencyLevel getAstyanax(); 10 | } 11 | -------------------------------------------------------------------------------- /titan-cassandra/src/test/java/com/thinkaurelius/titan/blueprints/thrift/ThriftGraphProvider.java: -------------------------------------------------------------------------------- 1 | package com.thinkaurelius.titan.blueprints.thrift; 2 | 3 | import com.thinkaurelius.titan.CassandraStorageSetup; 4 | import com.thinkaurelius.titan.blueprints.AbstractTitanGraphProvider; 5 | import com.thinkaurelius.titan.diskstorage.configuration.ModifiableConfiguration; 6 | 7 | /** 8 | * @author Matthias Broecheler (me@matthiasb.com) 9 | */ 10 | public class ThriftGraphProvider extends AbstractTitanGraphProvider { 11 | 12 | @Override 13 | public ModifiableConfiguration getTitanConfiguration(String graphName, Class test, String testMethodName) { 14 | CassandraStorageSetup.startCleanEmbedded(); 15 | return CassandraStorageSetup.getCassandraThriftConfiguration(graphName); 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /titan-cassandra/src/test/java/com/thinkaurelius/titan/diskstorage/cassandra/embedded/EmbeddedLockStoreTest.java: -------------------------------------------------------------------------------- 1 | package com.thinkaurelius.titan.diskstorage.cassandra.embedded; 2 | 3 | import com.thinkaurelius.titan.CassandraStorageSetup; 4 | import com.thinkaurelius.titan.diskstorage.BackendException; 5 | import com.thinkaurelius.titan.diskstorage.LockKeyColumnValueStoreTest; 6 | import com.thinkaurelius.titan.diskstorage.keycolumnvalue.KeyColumnValueStoreManager; 7 | 8 | public class EmbeddedLockStoreTest extends LockKeyColumnValueStoreTest { 9 | 10 | @Override 11 | public KeyColumnValueStoreManager openStorageManager(int idx) throws BackendException { 12 | return new CassandraEmbeddedStoreManager(CassandraStorageSetup.getEmbeddedConfiguration(getClass().getSimpleName())); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /titan-cassandra/src/test/java/com/thinkaurelius/titan/diskstorage/cassandra/embedded/EmbeddedMultiWriteStoreTest.java: -------------------------------------------------------------------------------- 1 | package com.thinkaurelius.titan.diskstorage.cassandra.embedded; 2 | 3 | import com.thinkaurelius.titan.diskstorage.BackendException; 4 | 5 | import com.thinkaurelius.titan.CassandraStorageSetup; 6 | import com.thinkaurelius.titan.diskstorage.MultiWriteKeyColumnValueStoreTest; 7 | import com.thinkaurelius.titan.diskstorage.keycolumnvalue.KeyColumnValueStoreManager; 8 | 9 | public class EmbeddedMultiWriteStoreTest extends MultiWriteKeyColumnValueStoreTest { 10 | 11 | @Override 12 | public KeyColumnValueStoreManager openStorageManager() throws BackendException { 13 | return new CassandraEmbeddedStoreManager(CassandraStorageSetup.getEmbeddedConfiguration(getClass().getSimpleName())); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /titan-cassandra/src/test/java/com/thinkaurelius/titan/graphdb/astyanax/AstyanaxGraphPerformanceMemoryTest.java: -------------------------------------------------------------------------------- 1 | package com.thinkaurelius.titan.graphdb.astyanax; 2 | 3 | import com.thinkaurelius.titan.diskstorage.configuration.WriteConfiguration; 4 | import org.junit.BeforeClass; 5 | 6 | import com.thinkaurelius.titan.CassandraStorageSetup; 7 | import com.thinkaurelius.titan.graphdb.TitanGraphPerformanceMemoryTest; 8 | 9 | public class AstyanaxGraphPerformanceMemoryTest extends TitanGraphPerformanceMemoryTest { 10 | 11 | @BeforeClass 12 | public static void startCassandra() { 13 | CassandraStorageSetup.startCleanEmbedded(); 14 | } 15 | 16 | @Override 17 | public WriteConfiguration getConfiguration() { 18 | return CassandraStorageSetup.getAstyanaxGraphConfiguration(getClass().getSimpleName()); 19 | } 20 | 21 | } 22 | -------------------------------------------------------------------------------- /titan-cassandra/src/test/java/com/thinkaurelius/titan/graphdb/astyanax/AstyanaxGraphTest.java: -------------------------------------------------------------------------------- 1 | package com.thinkaurelius.titan.graphdb.astyanax; 2 | 3 | import com.thinkaurelius.titan.CassandraStorageSetup; 4 | import com.thinkaurelius.titan.diskstorage.configuration.WriteConfiguration; 5 | import com.thinkaurelius.titan.graphdb.CassandraGraphTest; 6 | 7 | public class AstyanaxGraphTest extends CassandraGraphTest { 8 | 9 | @Override 10 | public WriteConfiguration getConfiguration() { 11 | return CassandraStorageSetup.getAstyanaxGraphConfiguration(getClass().getSimpleName()); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /titan-cassandra/src/test/java/com/thinkaurelius/titan/graphdb/astyanax/AstyanaxPartitionGraphTest.java: -------------------------------------------------------------------------------- 1 | package com.thinkaurelius.titan.graphdb.astyanax; 2 | 3 | import com.thinkaurelius.titan.CassandraStorageSetup; 4 | import com.thinkaurelius.titan.diskstorage.configuration.WriteConfiguration; 5 | import com.thinkaurelius.titan.graphdb.TitanGraphTest; 6 | import com.thinkaurelius.titan.graphdb.TitanPartitionGraphTest; 7 | import org.junit.BeforeClass; 8 | 9 | public class AstyanaxPartitionGraphTest extends TitanPartitionGraphTest { 10 | 11 | @BeforeClass 12 | public static void startCassandra() { 13 | CassandraStorageSetup.startCleanEmbedded(); 14 | } 15 | 16 | @Override 17 | public WriteConfiguration getBaseConfiguration() { 18 | return CassandraStorageSetup.getAstyanaxGraphConfiguration(getClass().getSimpleName()); 19 | } 20 | 21 | } 22 | -------------------------------------------------------------------------------- /titan-cassandra/src/test/java/com/thinkaurelius/titan/graphdb/embedded/EmbeddedEventualGraphTest.java: -------------------------------------------------------------------------------- 1 | package com.thinkaurelius.titan.graphdb.embedded; 2 | 3 | import org.junit.BeforeClass; 4 | 5 | import com.thinkaurelius.titan.CassandraStorageSetup; 6 | import com.thinkaurelius.titan.diskstorage.configuration.WriteConfiguration; 7 | import com.thinkaurelius.titan.graphdb.TitanEventualGraphTest; 8 | 9 | public class EmbeddedEventualGraphTest extends TitanEventualGraphTest { 10 | 11 | @BeforeClass 12 | public static void startEmbeddedCassandra() { 13 | CassandraStorageSetup.startCleanEmbedded(); 14 | } 15 | 16 | @Override 17 | public WriteConfiguration getConfiguration() { 18 | return CassandraStorageSetup.getEmbeddedCassandraPartitionGraphConfiguration(getClass().getSimpleName()); 19 | } 20 | 21 | } 22 | -------------------------------------------------------------------------------- /titan-cassandra/src/test/java/com/thinkaurelius/titan/graphdb/embedded/EmbeddedGraphTest.java: -------------------------------------------------------------------------------- 1 | package com.thinkaurelius.titan.graphdb.embedded; 2 | 3 | import com.thinkaurelius.titan.CassandraStorageSetup; 4 | import com.thinkaurelius.titan.diskstorage.configuration.WriteConfiguration; 5 | import com.thinkaurelius.titan.graphdb.CassandraGraphTest; 6 | 7 | public class EmbeddedGraphTest extends CassandraGraphTest { 8 | 9 | @Override 10 | public WriteConfiguration getConfiguration() { 11 | return CassandraStorageSetup.getEmbeddedCassandraPartitionGraphConfiguration(getClass().getSimpleName()); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /titan-cassandra/src/test/java/com/thinkaurelius/titan/graphdb/embedded/EmbeddedPartitionGraphTest.java: -------------------------------------------------------------------------------- 1 | package com.thinkaurelius.titan.graphdb.embedded; 2 | 3 | import com.thinkaurelius.titan.CassandraStorageSetup; 4 | import com.thinkaurelius.titan.diskstorage.configuration.WriteConfiguration; 5 | import com.thinkaurelius.titan.graphdb.TitanEventualGraphTest; 6 | import com.thinkaurelius.titan.graphdb.TitanPartitionGraphTest; 7 | import org.junit.BeforeClass; 8 | 9 | public class EmbeddedPartitionGraphTest extends TitanPartitionGraphTest { 10 | 11 | @BeforeClass 12 | public static void startEmbeddedCassandra() { 13 | CassandraStorageSetup.startCleanEmbedded(); 14 | } 15 | 16 | @Override 17 | public WriteConfiguration getBaseConfiguration() { 18 | return CassandraStorageSetup.getEmbeddedCassandraPartitionGraphConfiguration(getClass().getSimpleName()); 19 | } 20 | 21 | } 22 | -------------------------------------------------------------------------------- /titan-cassandra/src/test/java/com/thinkaurelius/titan/graphdb/thrift/ThriftEventualGraphTest.java: -------------------------------------------------------------------------------- 1 | package com.thinkaurelius.titan.graphdb.thrift; 2 | 3 | import com.thinkaurelius.titan.CassandraStorageSetup; 4 | import com.thinkaurelius.titan.diskstorage.configuration.WriteConfiguration; 5 | import com.thinkaurelius.titan.graphdb.TitanEventualGraphTest; 6 | import com.thinkaurelius.titan.graphdb.TitanGraphTest; 7 | import org.junit.BeforeClass; 8 | import org.junit.experimental.categories.Category; 9 | 10 | public class ThriftEventualGraphTest extends TitanEventualGraphTest { 11 | 12 | @Override 13 | public WriteConfiguration getConfiguration() { 14 | return CassandraStorageSetup.getCassandraThriftGraphConfiguration(getClass().getSimpleName()); 15 | } 16 | 17 | @BeforeClass 18 | public static void beforeClass() { 19 | CassandraStorageSetup.startCleanEmbedded(); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /titan-cassandra/src/test/java/com/thinkaurelius/titan/graphdb/thrift/ThriftGraphPerformanceMemoryTest.java: -------------------------------------------------------------------------------- 1 | package com.thinkaurelius.titan.graphdb.thrift; 2 | 3 | import com.thinkaurelius.titan.diskstorage.configuration.WriteConfiguration; 4 | import org.apache.commons.configuration.Configuration; 5 | import org.junit.BeforeClass; 6 | 7 | import com.thinkaurelius.titan.CassandraStorageSetup; 8 | import com.thinkaurelius.titan.graphdb.TitanGraphPerformanceMemoryTest; 9 | 10 | public class ThriftGraphPerformanceMemoryTest extends TitanGraphPerformanceMemoryTest { 11 | 12 | @Override 13 | public WriteConfiguration getConfiguration() { 14 | return CassandraStorageSetup.getCassandraThriftGraphConfiguration(getClass().getSimpleName()); 15 | } 16 | 17 | 18 | @BeforeClass 19 | public static void beforeClass() { 20 | CassandraStorageSetup.startCleanEmbedded(); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /titan-cassandra/src/test/java/com/thinkaurelius/titan/graphdb/thrift/ThriftGraphTest.java: -------------------------------------------------------------------------------- 1 | package com.thinkaurelius.titan.graphdb.thrift; 2 | 3 | import com.thinkaurelius.titan.CassandraStorageSetup; 4 | import com.thinkaurelius.titan.diskstorage.configuration.WriteConfiguration; 5 | import com.thinkaurelius.titan.graphdb.CassandraGraphTest; 6 | 7 | public class ThriftGraphTest extends CassandraGraphTest { 8 | 9 | @Override 10 | public WriteConfiguration getConfiguration() { 11 | return CassandraStorageSetup.getCassandraThriftGraphConfiguration(getClass().getSimpleName()); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /titan-cassandra/src/test/java/com/thinkaurelius/titan/graphdb/thrift/ThriftOLAPTest.java: -------------------------------------------------------------------------------- 1 | package com.thinkaurelius.titan.graphdb.thrift; 2 | 3 | import com.thinkaurelius.titan.CassandraStorageSetup; 4 | import com.thinkaurelius.titan.diskstorage.configuration.WriteConfiguration; 5 | import com.thinkaurelius.titan.olap.OLAPTest; 6 | import org.junit.BeforeClass; 7 | 8 | public class ThriftOLAPTest extends OLAPTest { 9 | 10 | @Override 11 | public WriteConfiguration getConfiguration() { 12 | return CassandraStorageSetup.getCassandraThriftGraphConfiguration(getClass().getSimpleName()); 13 | } 14 | 15 | 16 | @BeforeClass 17 | public static void beforeClass() { 18 | CassandraStorageSetup.startCleanEmbedded(); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /titan-cassandra/src/test/java/com/thinkaurelius/titan/graphdb/thrift/ThriftPartitionGraphTest.java: -------------------------------------------------------------------------------- 1 | package com.thinkaurelius.titan.graphdb.thrift; 2 | 3 | import com.thinkaurelius.titan.CassandraStorageSetup; 4 | import com.thinkaurelius.titan.diskstorage.configuration.WriteConfiguration; 5 | import com.thinkaurelius.titan.graphdb.TitanOperationCountingTest; 6 | import com.thinkaurelius.titan.graphdb.TitanPartitionGraphTest; 7 | import org.junit.BeforeClass; 8 | 9 | public class ThriftPartitionGraphTest extends TitanPartitionGraphTest { 10 | 11 | @BeforeClass 12 | public static void beforeClass() { 13 | CassandraStorageSetup.startCleanEmbedded(); 14 | } 15 | 16 | @Override 17 | public WriteConfiguration getBaseConfiguration() { 18 | return CassandraStorageSetup.getCassandraThriftGraphConfiguration(getClass().getSimpleName()); 19 | } 20 | 21 | } 22 | -------------------------------------------------------------------------------- /titan-cassandra/src/test/java/com/thinkaurelius/titan/testcategory/CassandraSSLTests.java: -------------------------------------------------------------------------------- 1 | package com.thinkaurelius.titan.testcategory; 2 | 3 | /** 4 | * This is a JUnit category for tests that need to run against Cassandra 5 | * configured for SSL-based client authentication. 6 | * 7 | * If you rename or move this class, then you must also update mentions of it in 8 | * the Cassandra module's pom.xml. 9 | */ 10 | public interface CassandraSSLTests { } 11 | -------------------------------------------------------------------------------- /titan-cassandra/src/test/java/com/thinkaurelius/titan/testcategory/StandaloneTests.java: -------------------------------------------------------------------------------- 1 | package com.thinkaurelius.titan.testcategory; 2 | 3 | /** 4 | * This is a JUnit category for tests that don't need a Cassandra server. 5 | * 6 | * If you rename or move this class, then you must also update mentions of it in 7 | * the Cassandra module's pom.xml. 8 | */ 9 | public class StandaloneTests { } 10 | -------------------------------------------------------------------------------- /titan-cassandra/src/test/resources/rexster-fragment.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | false 4 | home 5 | 6 | local 7 | 8 | 9 | 10 | tp:gremlin 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /titan-core/src/main/java/com/thinkaurelius/titan/core/Idfiable.java: -------------------------------------------------------------------------------- 1 | package com.thinkaurelius.titan.core; 2 | 3 | /** 4 | * Represents an entity that can be uniquely identified by a long id. 5 | * 6 | * @author Matthias Broecheler (me@matthiasb.com) 7 | */ 8 | public interface Idfiable { 9 | 10 | /** 11 | * Unique identifier for this entity. 12 | * 13 | * @return Unique long id for this entity 14 | */ 15 | public long longId(); 16 | 17 | } 18 | -------------------------------------------------------------------------------- /titan-core/src/main/java/com/thinkaurelius/titan/core/InvalidIDException.java: -------------------------------------------------------------------------------- 1 | package com.thinkaurelius.titan.core; 2 | 3 | /** 4 | * Titan represents element identifiers as longs, but not all numbers 5 | * in the representable space of longs are valid. This exception can 6 | * be thrown when an invalid long ID is encountered. 7 | */ 8 | public class InvalidIDException extends TitanException { 9 | 10 | public InvalidIDException(String msg) { 11 | super(msg); 12 | } 13 | 14 | public InvalidIDException(String msg, Throwable cause) { 15 | super(msg, cause); 16 | } 17 | 18 | public InvalidIDException(Throwable cause) { 19 | super(cause); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /titan-core/src/main/java/com/thinkaurelius/titan/core/Namifiable.java: -------------------------------------------------------------------------------- 1 | package com.thinkaurelius.titan.core; 2 | 3 | /** 4 | * Represents an entity that can be uniquely identified by a String name. 5 | * 6 | * @author Matthias Broecheler (me@matthiasb.com) 7 | */ 8 | public interface Namifiable { 9 | 10 | /** 11 | * Returns the unique name of this entity. 12 | * 13 | * @return Name of this entity. 14 | */ 15 | public String name(); 16 | 17 | } 18 | -------------------------------------------------------------------------------- /titan-core/src/main/java/com/thinkaurelius/titan/core/SchemaViolationException.java: -------------------------------------------------------------------------------- 1 | package com.thinkaurelius.titan.core; 2 | 3 | /** 4 | * Titan represents element identifiers as longs, but not all numbers 5 | * in the representable space of longs are valid. This exception can 6 | * be thrown when an invalid long ID is encountered. 7 | */ 8 | public class SchemaViolationException extends IllegalArgumentException { 9 | 10 | public SchemaViolationException(String msg) { 11 | super(msg); 12 | } 13 | 14 | public SchemaViolationException(String msg, Object... args) { 15 | super(String.format(msg,args)); 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /titan-core/src/main/java/com/thinkaurelius/titan/core/Titan.java: -------------------------------------------------------------------------------- 1 | package com.thinkaurelius.titan.core; 2 | 3 | import com.thinkaurelius.titan.graphdb.configuration.TitanConstants; 4 | 5 | 6 | /** 7 | * Contains constants for this Titan Graph Database. 8 | * 9 | * @author Matthias Broecheler (me@matthiasb.com) 10 | */ 11 | public class Titan { 12 | 13 | /** 14 | * The version of this Titan graph database 15 | * 16 | * @return 17 | */ 18 | public static String version() { 19 | return TitanConstants.VERSION; 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /titan-core/src/main/java/com/thinkaurelius/titan/core/TitanProperty.java: -------------------------------------------------------------------------------- 1 | package com.thinkaurelius.titan.core; 2 | 3 | import org.apache.tinkerpop.gremlin.structure.Property; 4 | 5 | /** 6 | * @author Matthias Broecheler (me@matthiasb.com) 7 | */ 8 | public interface TitanProperty extends Property { 9 | 10 | public PropertyKey propertyKey(); 11 | 12 | @Override 13 | public default String key() { 14 | return propertyKey().name(); 15 | } 16 | 17 | } 18 | -------------------------------------------------------------------------------- /titan-core/src/main/java/com/thinkaurelius/titan/core/log/TransactionRecovery.java: -------------------------------------------------------------------------------- 1 | package com.thinkaurelius.titan.core.log; 2 | 3 | import com.thinkaurelius.titan.core.TitanException; 4 | 5 | /** 6 | * {@link TransactionRecovery} is a process that runs in the background and read's from the transaction 7 | * write-ahead log to determine which transactions have not been successfully persisted against all 8 | * backends. It then attempts to recover such transactions. 9 | *

10 | * This process is started via {@link com.thinkaurelius.titan.core.TitanFactory#} 11 | * 12 | * @author Matthias Broecheler (me@matthiasb.com) 13 | */ 14 | public interface TransactionRecovery { 15 | 16 | /** 17 | * Shuts down the transaction recovery process 18 | * 19 | * @throws TitanException 20 | */ 21 | public void shutdown() throws TitanException; 22 | 23 | } 24 | -------------------------------------------------------------------------------- /titan-core/src/main/java/com/thinkaurelius/titan/core/schema/TitanIndex.java: -------------------------------------------------------------------------------- 1 | package com.thinkaurelius.titan.core.schema; 2 | 3 | /** 4 | * Schema Elements that represent an index in the graph 5 | * 6 | * @author Matthias Broecheler (me@matthiasb.com) 7 | */ 8 | public interface TitanIndex extends TitanSchemaElement { 9 | 10 | } 11 | -------------------------------------------------------------------------------- /titan-core/src/main/java/com/thinkaurelius/titan/core/schema/TitanSchemaElement.java: -------------------------------------------------------------------------------- 1 | package com.thinkaurelius.titan.core.schema; 2 | 3 | import com.thinkaurelius.titan.core.Namifiable; 4 | 5 | /** 6 | * Marks any element that is part of a Titan Schema. 7 | * Titan Schema elements can be uniquely identified by their name. 8 | *

9 | * A Titan Schema element is either a {@link TitanSchemaType} or an index definition, i.e. 10 | * {@link TitanGraphIndex} or {@link RelationTypeIndex}. 11 | * 12 | * @author Matthias Broecheler (me@matthiasb.com) 13 | */ 14 | public interface TitanSchemaElement extends Namifiable { 15 | 16 | } 17 | -------------------------------------------------------------------------------- /titan-core/src/main/java/com/thinkaurelius/titan/core/schema/TitanSchemaType.java: -------------------------------------------------------------------------------- 1 | package com.thinkaurelius.titan.core.schema; 2 | 3 | /** 4 | * A TitanSchemaType is a {@link TitanSchemaElement} that represents a label or key 5 | * used in the graph. As such, a schema type is either a {@link com.thinkaurelius.titan.core.RelationType} 6 | * or a {@link com.thinkaurelius.titan.core.VertexLabel}. 7 | *

8 | * TitanSchemaTypes are a special {@link TitanSchemaElement} in that they are referenced from the 9 | * main graph when creating vertices, edges, and properties. 10 | * 11 | * @author Matthias Broecheler (me@matthiasb.com) 12 | */ 13 | public interface TitanSchemaType extends TitanSchemaElement { 14 | } 15 | -------------------------------------------------------------------------------- /titan-core/src/main/java/com/thinkaurelius/titan/diskstorage/BaseTransaction.java: -------------------------------------------------------------------------------- 1 | package com.thinkaurelius.titan.diskstorage; 2 | 3 | /** 4 | * Represents a transaction for a particular storage backend. 5 | * 6 | * @author Matthias Broecheler (me@matthiasb.com) 7 | */ 8 | 9 | public interface BaseTransaction { 10 | 11 | /** 12 | * Commits the transaction and persists all modifications to the backend. 13 | * 14 | * Call either this method or {@link #rollback()} at most once per instance. 15 | * 16 | * @throws BackendException 17 | */ 18 | public void commit() throws BackendException; 19 | 20 | /** 21 | * Aborts (or rolls back) the transaction. 22 | * 23 | * Call either this method or {@link #commit()} at most once per instance. 24 | * 25 | * @throws BackendException 26 | */ 27 | public void rollback() throws BackendException; 28 | 29 | } 30 | -------------------------------------------------------------------------------- /titan-core/src/main/java/com/thinkaurelius/titan/diskstorage/BaseTransactionConfigurable.java: -------------------------------------------------------------------------------- 1 | package com.thinkaurelius.titan.diskstorage; 2 | 3 | 4 | /** 5 | * An extension to the {@link BaseTransaction} interface that exposes a 6 | * configuration object of type {@link BaseTransactionConfig} for this particular transaction. 7 | * 8 | * @author Matthias Broecheler (me@matthiasb.com) 9 | */ 10 | public interface BaseTransactionConfigurable extends BaseTransaction { 11 | 12 | /** 13 | * Get the configuration for this transaction 14 | * 15 | * @return 16 | */ 17 | public BaseTransactionConfig getConfiguration(); 18 | 19 | } 20 | -------------------------------------------------------------------------------- /titan-core/src/main/java/com/thinkaurelius/titan/diskstorage/LoggableTransaction.java: -------------------------------------------------------------------------------- 1 | package com.thinkaurelius.titan.diskstorage; 2 | 3 | import com.thinkaurelius.titan.graphdb.database.serialize.DataOutput; 4 | 5 | /** 6 | * @author Matthias Broecheler (me@matthiasb.com) 7 | */ 8 | public interface LoggableTransaction extends BaseTransaction { 9 | 10 | public void logMutations(DataOutput out); 11 | 12 | } 13 | -------------------------------------------------------------------------------- /titan-core/src/main/java/com/thinkaurelius/titan/diskstorage/MetaAnnotatable.java: -------------------------------------------------------------------------------- 1 | package com.thinkaurelius.titan.diskstorage; 2 | 3 | /** 4 | * @author Matthias Broecheler (me@matthiasb.com) 5 | */ 6 | public interface MetaAnnotatable { 7 | 8 | public Object setMetaData(EntryMetaData key, Object value); 9 | 10 | } 11 | -------------------------------------------------------------------------------- /titan-core/src/main/java/com/thinkaurelius/titan/diskstorage/MetaAnnotated.java: -------------------------------------------------------------------------------- 1 | package com.thinkaurelius.titan.diskstorage; 2 | 3 | import java.util.Map; 4 | 5 | /** 6 | * @author Matthias Broecheler (me@matthiasb.com) 7 | */ 8 | public interface MetaAnnotated { 9 | 10 | /** 11 | * Returns true if this entry has associated meta data 12 | * @return 13 | */ 14 | public boolean hasMetaData(); 15 | 16 | /** 17 | * Returns all meta data associated with this entry 18 | * @return 19 | */ 20 | public Map getMetaData(); 21 | 22 | } 23 | -------------------------------------------------------------------------------- /titan-core/src/main/java/com/thinkaurelius/titan/diskstorage/ReadBuffer.java: -------------------------------------------------------------------------------- 1 | package com.thinkaurelius.titan.diskstorage; 2 | 3 | import java.nio.ByteBuffer; 4 | 5 | /** 6 | * A Buffer that allows sequential reads and static reads. 7 | * Should not be used by multiple threads. 8 | * 9 | * @author Matthias Broecheler (me@matthiasb.com) 10 | */ 11 | public interface ReadBuffer extends ScanBuffer, StaticBuffer { 12 | 13 | public int getPosition(); 14 | 15 | public void movePositionTo(int position); 16 | 17 | public T asRelative(Factory factory); 18 | 19 | public ReadBuffer subrange(int length, boolean invert); 20 | 21 | } 22 | -------------------------------------------------------------------------------- /titan-core/src/main/java/com/thinkaurelius/titan/diskstorage/common/NoOpStoreTransaction.java: -------------------------------------------------------------------------------- 1 | package com.thinkaurelius.titan.diskstorage.common; 2 | 3 | import com.thinkaurelius.titan.diskstorage.BaseTransactionConfig; 4 | 5 | /** 6 | * Dummy transaction object that does nothing 7 | * 8 | * @author Matthias Broecheler (me@matthiasb.com) 9 | */ 10 | 11 | public class NoOpStoreTransaction extends AbstractStoreTransaction { 12 | 13 | public NoOpStoreTransaction(BaseTransactionConfig config) { 14 | super(config); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /titan-core/src/main/java/com/thinkaurelius/titan/diskstorage/configuration/ConcurrentWriteConfiguration.java: -------------------------------------------------------------------------------- 1 | package com.thinkaurelius.titan.diskstorage.configuration; 2 | 3 | /** 4 | * @author Matthias Broecheler (me@matthiasb.com) 5 | */ 6 | public interface ConcurrentWriteConfiguration extends WriteConfiguration { 7 | 8 | public void set(String key, O value, O expectedValue); 9 | 10 | } 11 | -------------------------------------------------------------------------------- /titan-core/src/main/java/com/thinkaurelius/titan/diskstorage/configuration/SystemConfiguration.java: -------------------------------------------------------------------------------- 1 | package com.thinkaurelius.titan.diskstorage.configuration; 2 | 3 | /** 4 | * @author Matthias Broecheler (me@matthiasb.com) 5 | */ 6 | public interface SystemConfiguration extends Configuration { 7 | 8 | @Override 9 | public SystemConfiguration restrictTo(final String... umbrellaElements); 10 | 11 | 12 | 13 | 14 | } 15 | -------------------------------------------------------------------------------- /titan-core/src/main/java/com/thinkaurelius/titan/diskstorage/configuration/WriteConfiguration.java: -------------------------------------------------------------------------------- 1 | package com.thinkaurelius.titan.diskstorage.configuration; 2 | 3 | /** 4 | * @author Matthias Broecheler (me@matthiasb.com) 5 | */ 6 | public interface WriteConfiguration extends ReadConfiguration { 7 | 8 | public void set(String key, O value); 9 | 10 | public void remove(String key); 11 | 12 | public WriteConfiguration copy(); 13 | 14 | } 15 | -------------------------------------------------------------------------------- /titan-core/src/main/java/com/thinkaurelius/titan/diskstorage/keycolumnvalue/cache/CachableStaticBuffer.java: -------------------------------------------------------------------------------- 1 | package com.thinkaurelius.titan.diskstorage.keycolumnvalue.cache; 2 | 3 | import com.thinkaurelius.titan.diskstorage.StaticBuffer; 4 | 5 | /** 6 | * @author Matthias Broecheler (me@matthiasb.com) 7 | */ 8 | public interface CachableStaticBuffer extends StaticBuffer { 9 | 10 | public int getCacheMarker(); 11 | 12 | } 13 | -------------------------------------------------------------------------------- /titan-core/src/main/java/com/thinkaurelius/titan/diskstorage/keycolumnvalue/keyvalue/KeyValueEntry.java: -------------------------------------------------------------------------------- 1 | package com.thinkaurelius.titan.diskstorage.keycolumnvalue.keyvalue; 2 | 3 | import com.thinkaurelius.titan.diskstorage.StaticBuffer; 4 | 5 | /** 6 | * Representation of a (key,value) pair. 7 | * 8 | * @author Matthias Bröcheler (me@matthiasb.com); 9 | */ 10 | 11 | public class KeyValueEntry { 12 | 13 | private final StaticBuffer key; 14 | private final StaticBuffer value; 15 | 16 | public KeyValueEntry(StaticBuffer key, StaticBuffer value) { 17 | assert key != null; 18 | assert value != null; 19 | this.key = key; 20 | this.value = value; 21 | } 22 | 23 | public StaticBuffer getKey() { 24 | return key; 25 | } 26 | 27 | 28 | public StaticBuffer getValue() { 29 | return value; 30 | } 31 | 32 | 33 | } 34 | -------------------------------------------------------------------------------- /titan-core/src/main/java/com/thinkaurelius/titan/diskstorage/locking/LockStatus.java: -------------------------------------------------------------------------------- 1 | package com.thinkaurelius.titan.diskstorage.locking; 2 | 3 | 4 | import java.time.Instant; 5 | 6 | /** 7 | * A single held lock's expiration time. This is used by {@link AbstractLocker}. 8 | * 9 | * @see AbstractLocker 10 | * @see ConsistentKeyLockStatus 11 | */ 12 | public interface LockStatus { 13 | 14 | /** 15 | * Returns the moment at which this lock expires (inclusive). 16 | * 17 | * @return The expiration instant of this lock 18 | */ 19 | public Instant getExpirationTimestamp(); 20 | } 21 | -------------------------------------------------------------------------------- /titan-core/src/main/java/com/thinkaurelius/titan/diskstorage/locking/LockerProvider.java: -------------------------------------------------------------------------------- 1 | package com.thinkaurelius.titan.diskstorage.locking; 2 | 3 | /** 4 | * @author Matthias Broecheler (me@matthiasb.com) 5 | */ 6 | public interface LockerProvider { 7 | 8 | public Locker getLocker(String lockerName); 9 | 10 | } 11 | -------------------------------------------------------------------------------- /titan-core/src/main/java/com/thinkaurelius/titan/diskstorage/locking/consistentkey/ExpiredLockException.java: -------------------------------------------------------------------------------- 1 | package com.thinkaurelius.titan.diskstorage.locking.consistentkey; 2 | 3 | 4 | import com.thinkaurelius.titan.diskstorage.locking.TemporaryLockingException; 5 | 6 | public class ExpiredLockException extends TemporaryLockingException { 7 | 8 | public ExpiredLockException(String msg) { 9 | super(msg); 10 | } 11 | 12 | public ExpiredLockException(String msg, Throwable cause) { 13 | super(msg, cause); 14 | } 15 | 16 | public ExpiredLockException(Throwable cause) { 17 | super(cause); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /titan-core/src/main/java/com/thinkaurelius/titan/diskstorage/locking/consistentkey/LockCleanerService.java: -------------------------------------------------------------------------------- 1 | package com.thinkaurelius.titan.diskstorage.locking.consistentkey; 2 | 3 | import com.thinkaurelius.titan.diskstorage.keycolumnvalue.StoreTransaction; 4 | import com.thinkaurelius.titan.diskstorage.util.KeyColumn; 5 | 6 | import java.time.Instant; 7 | 8 | public interface LockCleanerService { 9 | public void clean(KeyColumn target, Instant cutoff, StoreTransaction tx); 10 | } 11 | -------------------------------------------------------------------------------- /titan-core/src/main/java/com/thinkaurelius/titan/diskstorage/locking/consistentkey/TimestampRid.java: -------------------------------------------------------------------------------- 1 | package com.thinkaurelius.titan.diskstorage.locking.consistentkey; 2 | 3 | import com.thinkaurelius.titan.diskstorage.StaticBuffer; 4 | 5 | import java.time.Instant; 6 | 7 | public class TimestampRid { 8 | 9 | private final Instant timestamp; 10 | private final StaticBuffer rid; 11 | 12 | public TimestampRid(Instant timestamp, StaticBuffer rid) { 13 | this.timestamp = timestamp; 14 | this.rid = rid; 15 | } 16 | 17 | public Instant getTimestamp() { 18 | return timestamp; 19 | } 20 | 21 | public StaticBuffer getRid() { 22 | return rid; 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /titan-core/src/main/java/com/thinkaurelius/titan/diskstorage/log/MessageReader.java: -------------------------------------------------------------------------------- 1 | package com.thinkaurelius.titan.diskstorage.log; 2 | 3 | /** 4 | * Implementations of this interface are used to process messages read from the log. 5 | * 6 | * @author Matthias Broecheler (me@matthiasb.com) 7 | */ 8 | public interface MessageReader { 9 | 10 | /** 11 | * Processes the given message. The message object may not be mutated! 12 | * @param message 13 | */ 14 | public void read(Message message); 15 | 16 | /** 17 | * Need to override this method because the {@link Log} uses this comparison 18 | * when unregistering readers 19 | * 20 | * @param other other reader to compare against 21 | * @return 22 | */ 23 | @Override 24 | public boolean equals(Object other); 25 | 26 | } 27 | -------------------------------------------------------------------------------- /titan-core/src/main/java/com/thinkaurelius/titan/diskstorage/log/kcvs/ExternalPersistor.java: -------------------------------------------------------------------------------- 1 | package com.thinkaurelius.titan.diskstorage.log.kcvs; 2 | 3 | import com.thinkaurelius.titan.diskstorage.Entry; 4 | import com.thinkaurelius.titan.diskstorage.StaticBuffer; 5 | 6 | /** 7 | * @author Matthias Broecheler (me@matthiasb.com) 8 | */ 9 | public interface ExternalPersistor { 10 | 11 | public void add(StaticBuffer key, Entry cell); 12 | 13 | } 14 | -------------------------------------------------------------------------------- /titan-core/src/main/java/com/thinkaurelius/titan/diskstorage/log/kcvs/KCVSMessage.java: -------------------------------------------------------------------------------- 1 | package com.thinkaurelius.titan.diskstorage.log.kcvs; 2 | 3 | 4 | import com.thinkaurelius.titan.diskstorage.StaticBuffer; 5 | import com.thinkaurelius.titan.diskstorage.log.util.AbstractMessage; 6 | 7 | import java.time.Instant; 8 | 9 | /** 10 | * Implementation of {@link AbstractMessage} for {@link KCVSLog}. 11 | * 12 | * @author Matthias Broecheler (me@matthiasb.com) 13 | */ 14 | public class KCVSMessage extends AbstractMessage { 15 | 16 | public KCVSMessage(StaticBuffer payload, Instant timestamp, String senderId) { 17 | super(payload, timestamp, senderId); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /titan-core/src/main/java/com/thinkaurelius/titan/diskstorage/util/BackendCompression.java: -------------------------------------------------------------------------------- 1 | package com.thinkaurelius.titan.diskstorage.util; 2 | 3 | import com.thinkaurelius.titan.diskstorage.StaticBuffer; 4 | 5 | /** 6 | * @author Matthias Broecheler (me@matthiasb.com) 7 | */ 8 | 9 | public interface BackendCompression { 10 | 11 | public StaticBuffer compress(StaticBuffer value); 12 | 13 | public StaticBuffer decompress(StaticBuffer value); 14 | 15 | public static final BackendCompression NO_COMPRESSION = new BackendCompression() { 16 | @Override 17 | public StaticBuffer compress(StaticBuffer value) { 18 | return value; 19 | } 20 | 21 | @Override 22 | public StaticBuffer decompress(StaticBuffer value) { 23 | return value; 24 | } 25 | }; 26 | 27 | } 28 | -------------------------------------------------------------------------------- /titan-core/src/main/java/com/thinkaurelius/titan/diskstorage/util/CacheMetricsAction.java: -------------------------------------------------------------------------------- 1 | package com.thinkaurelius.titan.diskstorage.util; 2 | 3 | /** 4 | * @author Matthias Broecheler (me@matthiasb.com) 5 | */ 6 | public enum CacheMetricsAction { 7 | 8 | RETRIEVAL("retrievals"), MISS("misses"), EXPIRE("expire"); 9 | 10 | private final String name; 11 | 12 | CacheMetricsAction(String name) { 13 | this.name = name; 14 | } 15 | 16 | public String getName() { return name; } 17 | } 18 | -------------------------------------------------------------------------------- /titan-core/src/main/java/com/thinkaurelius/titan/diskstorage/util/HashUtility.java: -------------------------------------------------------------------------------- 1 | package com.thinkaurelius.titan.diskstorage.util; 2 | 3 | import com.google.common.hash.HashFunction; 4 | import com.google.common.hash.Hashing; 5 | 6 | /** 7 | * @author Matthias Broecheler (me@matthiasb.com) 8 | */ 9 | public enum HashUtility { 10 | 11 | SHORT { 12 | @Override 13 | public HashFunction get() { 14 | return Hashing.murmur3_32(); 15 | } 16 | }, 17 | 18 | LONG { 19 | @Override 20 | public HashFunction get() { 21 | return Hashing.murmur3_128(); 22 | } 23 | }; 24 | 25 | 26 | public abstract HashFunction get(); 27 | 28 | 29 | } 30 | -------------------------------------------------------------------------------- /titan-core/src/main/java/com/thinkaurelius/titan/diskstorage/util/IOCallable.java: -------------------------------------------------------------------------------- 1 | package com.thinkaurelius.titan.diskstorage.util; 2 | 3 | import java.io.IOException; 4 | import java.util.concurrent.Callable; 5 | 6 | public interface IOCallable extends Callable { 7 | 8 | @Override 9 | public T call() throws IOException; 10 | } 11 | -------------------------------------------------------------------------------- /titan-core/src/main/java/com/thinkaurelius/titan/diskstorage/util/RecordIterator.java: -------------------------------------------------------------------------------- 1 | package com.thinkaurelius.titan.diskstorage.util; 2 | 3 | import java.io.Closeable; 4 | import java.util.Iterator; 5 | 6 | /** 7 | * Iterator over records in the storage backend. Behaves like a normal iterator 8 | * with an additional close method so that resources associated with this 9 | * iterator can be released. 10 | * 11 | * @author Matthias Broecheler (me@matthiasb.com) 12 | */ 13 | 14 | public interface RecordIterator extends Iterator, Closeable { } 15 | -------------------------------------------------------------------------------- /titan-core/src/main/java/com/thinkaurelius/titan/diskstorage/util/StorageCallable.java: -------------------------------------------------------------------------------- 1 | package com.thinkaurelius.titan.diskstorage.util; 2 | 3 | import java.util.concurrent.Callable; 4 | 5 | import com.thinkaurelius.titan.diskstorage.BackendException; 6 | 7 | /** 8 | * Like {@link Callable}, except the exception type is narrowed from 9 | * {@link Exception} to {@link com.thinkaurelius.titan.diskstorage.BackendException}. 10 | * 11 | * @param 12 | * call return type 13 | */ 14 | public interface StorageCallable extends Callable { 15 | 16 | @Override 17 | public T call() throws BackendException; 18 | } 19 | -------------------------------------------------------------------------------- /titan-core/src/main/java/com/thinkaurelius/titan/diskstorage/util/UncheckedCallable.java: -------------------------------------------------------------------------------- 1 | package com.thinkaurelius.titan.diskstorage.util; 2 | 3 | import java.util.concurrent.Callable; 4 | 5 | public interface UncheckedCallable extends Callable { 6 | 7 | @Override 8 | public T call(); 9 | } 10 | -------------------------------------------------------------------------------- /titan-core/src/main/java/com/thinkaurelius/titan/diskstorage/util/WriteBufferUtil.java: -------------------------------------------------------------------------------- 1 | package com.thinkaurelius.titan.diskstorage.util; 2 | 3 | import com.thinkaurelius.titan.diskstorage.StaticBuffer; 4 | import com.thinkaurelius.titan.diskstorage.WriteBuffer; 5 | 6 | /** 7 | * @author Matthias Broecheler (me@matthiasb.com) 8 | */ 9 | 10 | public class WriteBufferUtil { 11 | 12 | 13 | public static final WriteBuffer put(WriteBuffer out, byte[] bytes) { 14 | for (int i=0;i= 0); 23 | this.partitionID = id; 24 | } 25 | 26 | @Override 27 | public int getPartitionID() { 28 | return partitionID; 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /titan-core/src/main/java/com/thinkaurelius/titan/graphdb/database/log/LogTxStatus.java: -------------------------------------------------------------------------------- 1 | package com.thinkaurelius.titan.graphdb.database.log; 2 | 3 | /** 4 | * @author Matthias Broecheler (me@matthiasb.com) 5 | */ 6 | public enum LogTxStatus { 7 | 8 | PRECOMMIT, PRIMARY_SUCCESS, COMPLETE_SUCCESS, SECONDARY_SUCCESS, SECONDARY_FAILURE, USER_LOG; 9 | 10 | public boolean isPrimarySuccess() { 11 | return this==PRIMARY_SUCCESS || this==COMPLETE_SUCCESS; 12 | } 13 | 14 | public boolean isSuccess() { 15 | return this==PRIMARY_SUCCESS || this==COMPLETE_SUCCESS || this==SECONDARY_SUCCESS; 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /titan-core/src/main/java/com/thinkaurelius/titan/graphdb/database/management/MgmtLogType.java: -------------------------------------------------------------------------------- 1 | package com.thinkaurelius.titan.graphdb.database.management; 2 | 3 | /** 4 | * @author Matthias Broecheler (me@matthiasb.com) 5 | */ 6 | public enum MgmtLogType { 7 | 8 | CACHED_TYPE_EVICTION, CACHED_TYPE_EVICTION_ACK, CONFIG_MUTATION; 9 | 10 | } 11 | -------------------------------------------------------------------------------- /titan-core/src/main/java/com/thinkaurelius/titan/graphdb/database/management/ModifierType.java: -------------------------------------------------------------------------------- 1 | package com.thinkaurelius.titan.graphdb.database.management; 2 | 3 | import com.thinkaurelius.titan.graphdb.types.TypeDefinitionCategory; 4 | 5 | /** 6 | * @author Joshua Shinavier (http://fortytwo.net) 7 | */ 8 | public enum ModifierType { 9 | CONSISTENCY(TypeDefinitionCategory.CONSISTENCY_LEVEL), 10 | TTL(TypeDefinitionCategory.TTL); 11 | 12 | private final TypeDefinitionCategory category; 13 | 14 | private ModifierType(final TypeDefinitionCategory category) { 15 | this.category = category; 16 | } 17 | 18 | public TypeDefinitionCategory getCategory() { 19 | return category; 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /titan-core/src/main/java/com/thinkaurelius/titan/graphdb/database/serialize/Serializer.java: -------------------------------------------------------------------------------- 1 | package com.thinkaurelius.titan.graphdb.database.serialize; 2 | 3 | import com.thinkaurelius.titan.diskstorage.ScanBuffer; 4 | 5 | import java.io.Closeable; 6 | 7 | public interface Serializer extends AttributeHandler, Closeable { 8 | 9 | public Object readClassAndObject(ScanBuffer buffer); 10 | 11 | public T readObject(ScanBuffer buffer, Class type); 12 | 13 | public T readObjectByteOrder(ScanBuffer buffer, Class type); 14 | 15 | public T readObjectNotNull(ScanBuffer buffer, Class type); 16 | 17 | public DataOutput getDataOutput(int initialCapacity); 18 | 19 | } 20 | -------------------------------------------------------------------------------- /titan-core/src/main/java/com/thinkaurelius/titan/graphdb/database/serialize/SupportsNullSerializer.java: -------------------------------------------------------------------------------- 1 | package com.thinkaurelius.titan.graphdb.database.serialize; 2 | 3 | import com.google.common.base.Preconditions; 4 | import com.thinkaurelius.titan.core.attribute.AttributeSerializer; 5 | 6 | /** 7 | * Marker interface to indicate that a given serializer supports serializing 8 | * null values effectively. 9 | * 10 | * @author Matthias Broecheler (me@matthiasb.com) 11 | */ 12 | public interface SupportsNullSerializer { 13 | 14 | } 15 | -------------------------------------------------------------------------------- /titan-core/src/main/java/com/thinkaurelius/titan/graphdb/database/serialize/attribute/ObjectSerializer.java: -------------------------------------------------------------------------------- 1 | package com.thinkaurelius.titan.graphdb.database.serialize.attribute; 2 | 3 | import com.google.common.base.Preconditions; 4 | import com.thinkaurelius.titan.core.attribute.AttributeSerializer; 5 | import com.thinkaurelius.titan.diskstorage.ScanBuffer; 6 | import com.thinkaurelius.titan.diskstorage.WriteBuffer; 7 | 8 | /** 9 | * @author Matthias Broecheler (me@matthiasb.com) 10 | */ 11 | public class ObjectSerializer implements AttributeSerializer { 12 | 13 | @Override 14 | public Object read(ScanBuffer buffer) { 15 | Preconditions.checkArgument(buffer.getByte()==1,"Invalid serialization state"); 16 | return new Object(); 17 | } 18 | 19 | @Override 20 | public void write(WriteBuffer buffer, Object attribute) { 21 | buffer.putByte((byte)1); 22 | } 23 | 24 | } 25 | -------------------------------------------------------------------------------- /titan-core/src/main/java/com/thinkaurelius/titan/graphdb/internal/InternalVertexLabel.java: -------------------------------------------------------------------------------- 1 | package com.thinkaurelius.titan.graphdb.internal; 2 | 3 | import com.thinkaurelius.titan.core.VertexLabel; 4 | 5 | /** 6 | * @author Matthias Broecheler (me@matthiasb.com) 7 | */ 8 | public interface InternalVertexLabel extends VertexLabel { 9 | 10 | public boolean hasDefaultConfiguration(); 11 | 12 | public int getTTL(); 13 | 14 | 15 | } 16 | -------------------------------------------------------------------------------- /titan-core/src/main/java/com/thinkaurelius/titan/graphdb/query/BackendQuery.java: -------------------------------------------------------------------------------- 1 | package com.thinkaurelius.titan.graphdb.query; 2 | 3 | /** 4 | * A BackendQuery is a query that can be updated to a new limit. 5 | *

6 | * This is useful in query execution where the query limit is successively relaxed to find all the needed elements 7 | * of the result set. 8 | * 9 | * @author Matthias Broecheler (me@matthiasb.com) 10 | */ 11 | public interface BackendQuery extends Query { 12 | 13 | /** 14 | * Creates a new query identical to the current one but with the specified limit. 15 | * 16 | * @param newLimit 17 | * @return 18 | */ 19 | public Q updateLimit(int newLimit); 20 | 21 | } 22 | -------------------------------------------------------------------------------- /titan-core/src/main/java/com/thinkaurelius/titan/graphdb/query/Query.java: -------------------------------------------------------------------------------- 1 | package com.thinkaurelius.titan.graphdb.query; 2 | 3 | /** 4 | * Standard Query interface specifying that a query may have a limit. 5 | * 6 | * @author Matthias Broecheler (me@matthiasb.com) 7 | */ 8 | public interface Query { 9 | 10 | public static final int NO_LIMIT = Integer.MAX_VALUE; 11 | 12 | /** 13 | * Whether this query has a defined limit 14 | * 15 | * @return 16 | */ 17 | public boolean hasLimit(); 18 | 19 | /** 20 | * 21 | * @return The maximum number of results this query should return 22 | */ 23 | public int getLimit(); 24 | 25 | 26 | 27 | } 28 | -------------------------------------------------------------------------------- /titan-core/src/main/java/com/thinkaurelius/titan/graphdb/query/condition/Literal.java: -------------------------------------------------------------------------------- 1 | package com.thinkaurelius.titan.graphdb.query.condition; 2 | 3 | import java.util.Collections; 4 | 5 | import com.thinkaurelius.titan.core.TitanElement; 6 | 7 | /** 8 | * Abstract literal condition. 9 | * 10 | * @author Matthias Broecheler (me@matthiasb.com) 11 | */ 12 | public abstract class Literal implements Condition { 13 | 14 | @Override 15 | public Type getType() { 16 | return Type.LITERAL; 17 | } 18 | 19 | @Override 20 | public boolean hasChildren() { 21 | return false; 22 | } 23 | 24 | @Override 25 | public int numChildren() { 26 | return 0; 27 | } 28 | 29 | @Override 30 | public Iterable> getChildren() { 31 | return Collections.EMPTY_LIST; 32 | } 33 | 34 | } 35 | -------------------------------------------------------------------------------- /titan-core/src/main/java/com/thinkaurelius/titan/graphdb/query/profile/ProfileObservable.java: -------------------------------------------------------------------------------- 1 | package com.thinkaurelius.titan.graphdb.query.profile; 2 | 3 | /** 4 | * @author Matthias Broecheler (me@matthiasb.com) 5 | */ 6 | public interface ProfileObservable { 7 | 8 | public void observeWith(QueryProfiler profiler); 9 | 10 | } 11 | -------------------------------------------------------------------------------- /titan-core/src/main/java/com/thinkaurelius/titan/graphdb/relations/ReassignableRelation.java: -------------------------------------------------------------------------------- 1 | package com.thinkaurelius.titan.graphdb.relations; 2 | 3 | import com.thinkaurelius.titan.graphdb.internal.InternalVertex; 4 | 5 | /** 6 | * @author Matthias Broecheler (me@matthiasb.com) 7 | */ 8 | public interface ReassignableRelation { 9 | 10 | public void setVertexAt(int pos, InternalVertex vertex); 11 | 12 | } 13 | -------------------------------------------------------------------------------- /titan-core/src/main/java/com/thinkaurelius/titan/graphdb/relations/StandardRelation.java: -------------------------------------------------------------------------------- 1 | package com.thinkaurelius.titan.graphdb.relations; 2 | 3 | import com.thinkaurelius.titan.graphdb.internal.InternalRelation; 4 | 5 | /** 6 | * @author Matthias Broecheler (me@matthiasb.com) 7 | */ 8 | 9 | public interface StandardRelation extends InternalRelation { 10 | 11 | public long getPreviousID(); 12 | 13 | public void setPreviousID(long previousID); 14 | 15 | } 16 | -------------------------------------------------------------------------------- /titan-core/src/main/java/com/thinkaurelius/titan/graphdb/schema/SchemaProvider.java: -------------------------------------------------------------------------------- 1 | package com.thinkaurelius.titan.graphdb.schema; 2 | 3 | /** 4 | * @author Matthias Broecheler (me@matthiasb.com) 5 | */ 6 | public interface SchemaProvider { 7 | 8 | public EdgeLabelDefinition getEdgeLabel(String name); 9 | 10 | public PropertyKeyDefinition getPropertyKey(String name); 11 | 12 | public RelationTypeDefinition getRelationType(String name); 13 | 14 | public VertexLabelDefinition getVertexLabel(String name); 15 | 16 | } 17 | -------------------------------------------------------------------------------- /titan-core/src/main/java/com/thinkaurelius/titan/graphdb/tinkerpop/optimize/MultiQueriable.java: -------------------------------------------------------------------------------- 1 | package com.thinkaurelius.titan.graphdb.tinkerpop.optimize; 2 | 3 | import org.apache.tinkerpop.gremlin.process.traversal.Step; 4 | 5 | /** 6 | * @author Matthias Broecheler (me@matthiasb.com) 7 | */ 8 | public interface MultiQueriable extends Step { 9 | 10 | void setUseMultiQuery(boolean useMultiQuery); 11 | 12 | } 13 | -------------------------------------------------------------------------------- /titan-core/src/main/java/com/thinkaurelius/titan/graphdb/transaction/VertexFactory.java: -------------------------------------------------------------------------------- 1 | package com.thinkaurelius.titan.graphdb.transaction; 2 | 3 | import com.thinkaurelius.titan.graphdb.internal.InternalVertex; 4 | 5 | /** 6 | * @author Matthias Broecheler (me@matthiasb.com) 7 | */ 8 | public interface VertexFactory { 9 | 10 | public InternalVertex getInternalVertex(long id); 11 | 12 | } 13 | -------------------------------------------------------------------------------- /titan-core/src/main/java/com/thinkaurelius/titan/graphdb/transaction/indexcache/IndexCache.java: -------------------------------------------------------------------------------- 1 | package com.thinkaurelius.titan.graphdb.transaction.indexcache; 2 | 3 | import com.thinkaurelius.titan.core.PropertyKey; 4 | import com.thinkaurelius.titan.core.TitanVertexProperty; 5 | 6 | /** 7 | * @author Matthias Broecheler (me@matthiasb.com) 8 | */ 9 | public interface IndexCache { 10 | 11 | public void add(TitanVertexProperty property); 12 | 13 | public void remove(TitanVertexProperty property); 14 | 15 | public Iterable get(Object value, PropertyKey key); 16 | 17 | } 18 | -------------------------------------------------------------------------------- /titan-core/src/main/java/com/thinkaurelius/titan/graphdb/transaction/lock/FakeLock.java: -------------------------------------------------------------------------------- 1 | package com.thinkaurelius.titan.graphdb.transaction.lock; 2 | 3 | 4 | import java.time.Duration; 5 | 6 | /** 7 | * @author Matthias Broecheler (me@matthiasb.com) 8 | */ 9 | 10 | public class FakeLock implements TransactionLock { 11 | 12 | public static final FakeLock INSTANCE = new FakeLock(); 13 | 14 | private FakeLock() {} 15 | 16 | @Override 17 | public void lock(Duration timeout) { 18 | } 19 | 20 | @Override 21 | public void unlock() { 22 | } 23 | 24 | @Override 25 | public boolean inUse() { 26 | throw new UnsupportedOperationException("Should never be used"); 27 | } 28 | 29 | } 30 | -------------------------------------------------------------------------------- /titan-core/src/main/java/com/thinkaurelius/titan/graphdb/transaction/lock/TransactionLock.java: -------------------------------------------------------------------------------- 1 | package com.thinkaurelius.titan.graphdb.transaction.lock; 2 | 3 | 4 | import java.time.Duration; 5 | 6 | /** 7 | * @author Matthias Broecheler (me@matthiasb.com) 8 | */ 9 | public interface TransactionLock { 10 | 11 | public void lock(Duration timeout); 12 | 13 | public void unlock(); 14 | 15 | public boolean inUse(); 16 | 17 | } 18 | -------------------------------------------------------------------------------- /titan-core/src/main/java/com/thinkaurelius/titan/graphdb/types/CompositeIndexType.java: -------------------------------------------------------------------------------- 1 | package com.thinkaurelius.titan.graphdb.types; 2 | 3 | import com.thinkaurelius.titan.core.Cardinality; 4 | import com.thinkaurelius.titan.core.schema.ConsistencyModifier; 5 | import com.thinkaurelius.titan.core.schema.SchemaStatus; 6 | 7 | /** 8 | * @author Matthias Broecheler (me@matthiasb.com) 9 | */ 10 | public interface CompositeIndexType extends IndexType { 11 | 12 | public long getID(); 13 | 14 | public IndexField[] getFieldKeys(); 15 | 16 | public SchemaStatus getStatus(); 17 | 18 | /* 19 | * single == unique, 20 | */ 21 | public Cardinality getCardinality(); 22 | 23 | public ConsistencyModifier getConsistencyModifier(); 24 | } 25 | -------------------------------------------------------------------------------- /titan-core/src/main/java/com/thinkaurelius/titan/graphdb/types/MixedIndexType.java: -------------------------------------------------------------------------------- 1 | package com.thinkaurelius.titan.graphdb.types; 2 | 3 | import com.thinkaurelius.titan.core.PropertyKey; 4 | 5 | /** 6 | * @author Matthias Broecheler (me@matthiasb.com) 7 | */ 8 | public interface MixedIndexType extends IndexType { 9 | 10 | public ParameterIndexField[] getFieldKeys(); 11 | 12 | public ParameterIndexField getField(PropertyKey key); 13 | 14 | public String getStoreName(); 15 | 16 | } 17 | -------------------------------------------------------------------------------- /titan-core/src/main/java/com/thinkaurelius/titan/graphdb/types/system/SystemRelationType.java: -------------------------------------------------------------------------------- 1 | package com.thinkaurelius.titan.graphdb.types.system; 2 | 3 | import com.thinkaurelius.titan.graphdb.internal.InternalRelationType; 4 | 5 | public interface SystemRelationType extends InternalRelationType { 6 | 7 | 8 | } 9 | -------------------------------------------------------------------------------- /titan-core/src/main/java/com/thinkaurelius/titan/graphdb/util/ExceptionFactory.java: -------------------------------------------------------------------------------- 1 | package com.thinkaurelius.titan.graphdb.util; 2 | 3 | /** 4 | * @author Matthias Broecheler (me@matthiasb.com) 5 | */ 6 | 7 | public class ExceptionFactory { 8 | 9 | public static final void graphShutdown() { 10 | throw new IllegalStateException("Graph has been shut down"); 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /titan-core/src/main/java/com/thinkaurelius/titan/graphdb/vertices/RemovableRelationIterable.java: -------------------------------------------------------------------------------- 1 | package com.thinkaurelius.titan.graphdb.vertices; 2 | 3 | import com.thinkaurelius.titan.core.TitanRelation; 4 | import com.thinkaurelius.titan.graphdb.internal.InternalRelation; 5 | 6 | import java.util.Iterator; 7 | 8 | public class RemovableRelationIterable 9 | implements Iterable { 10 | 11 | private final Iterable iterable; 12 | 13 | public RemovableRelationIterable(Iterable iter) { 14 | iterable = iter; 15 | } 16 | 17 | @Override 18 | public Iterator iterator() { 19 | return new RemovableRelationIterator(iterable.iterator()); 20 | } 21 | 22 | } 23 | -------------------------------------------------------------------------------- /titan-core/src/main/java/com/thinkaurelius/titan/util/datastructures/ExceptionUtil.java: -------------------------------------------------------------------------------- 1 | package com.thinkaurelius.titan.util.datastructures; 2 | 3 | /** 4 | * Utility class for analyzing exceptions 5 | * 6 | * @author Matthias Broecheler (me@matthiasb.com) 7 | */ 8 | public class ExceptionUtil { 9 | 10 | public static final boolean isCausedBy(Throwable exception, Class exType) { 11 | Throwable ex2 = exception.getCause(); 12 | if (ex2 == null || ex2 == exception) return false; 13 | else if (exType.isInstance(ex2)) return true; 14 | else return isCausedBy(ex2, exType); 15 | } 16 | 17 | } 18 | -------------------------------------------------------------------------------- /titan-core/src/main/java/com/thinkaurelius/titan/util/datastructures/Factory.java: -------------------------------------------------------------------------------- 1 | package com.thinkaurelius.titan.util.datastructures; 2 | 3 | /** 4 | * Factory interface for the factory design pattern 5 | * 6 | * @param Type created by the factory 7 | * 8 | * @author Matthias Broecheler (me@matthiasb.com) 9 | */ 10 | public interface Factory { 11 | 12 | public O create(); 13 | 14 | } 15 | -------------------------------------------------------------------------------- /titan-core/src/main/java/com/thinkaurelius/titan/util/datastructures/IntSet.java: -------------------------------------------------------------------------------- 1 | package com.thinkaurelius.titan.util.datastructures; 2 | 3 | 4 | public interface IntSet { 5 | 6 | public boolean add(int value); 7 | 8 | public boolean addAll(int[] values); 9 | 10 | public boolean contains(int value); 11 | 12 | public int[] getAll(); 13 | 14 | public int size(); 15 | 16 | } 17 | -------------------------------------------------------------------------------- /titan-core/src/main/java/com/thinkaurelius/titan/util/datastructures/Interval.java: -------------------------------------------------------------------------------- 1 | package com.thinkaurelius.titan.util.datastructures; 2 | 3 | import java.util.Collection; 4 | 5 | /** 6 | * @author Matthias Broecheler (me@matthiasb.com) 7 | */ 8 | 9 | public interface Interval { 10 | 11 | public T getStart(); 12 | 13 | public T getEnd(); 14 | 15 | public boolean startInclusive(); 16 | 17 | public boolean endInclusive(); 18 | 19 | public boolean isPoints(); 20 | 21 | public Collection getPoints(); 22 | 23 | public boolean isEmpty(); 24 | 25 | public Interval intersect(Interval other); 26 | 27 | } 28 | -------------------------------------------------------------------------------- /titan-core/src/main/java/com/thinkaurelius/titan/util/datastructures/Maps.java: -------------------------------------------------------------------------------- 1 | package com.thinkaurelius.titan.util.datastructures; 2 | 3 | import java.util.concurrent.ConcurrentMap; 4 | 5 | /** 6 | * Utility class for Maps 7 | * 8 | * @author Matthias Broecheler (me@matthiasb.com) 9 | */ 10 | public class Maps { 11 | 12 | public final static V putIfAbsent(ConcurrentMap map, K key, Factory factory) { 13 | V res = map.get(key); 14 | if (res != null) return res; 15 | else { 16 | V newobj = factory.create(); 17 | res = map.putIfAbsent(key, newobj); 18 | if (res == null) return newobj; 19 | else return res; 20 | } 21 | } 22 | 23 | 24 | } 25 | -------------------------------------------------------------------------------- /titan-core/src/main/java/com/thinkaurelius/titan/util/datastructures/Removable.java: -------------------------------------------------------------------------------- 1 | package com.thinkaurelius.titan.util.datastructures; 2 | 3 | /** 4 | * Interface to decorate elements that can be removed 5 | * 6 | * @author Matthias Broecheler (me@matthiasb.com) 7 | */ 8 | public interface Removable { 9 | 10 | public void remove(); 11 | 12 | } 13 | -------------------------------------------------------------------------------- /titan-core/src/main/java/com/thinkaurelius/titan/util/datastructures/Retriever.java: -------------------------------------------------------------------------------- 1 | package com.thinkaurelius.titan.util.datastructures; 2 | 3 | import java.util.Collections; 4 | 5 | /** 6 | * Interface for the Retriever design pattern. 7 | * 8 | * @author Matthias Broecheler (me@matthiasb.com) 9 | */ 10 | public interface Retriever { 11 | 12 | public O get(I input); 13 | 14 | } 15 | -------------------------------------------------------------------------------- /titan-core/src/main/java/com/thinkaurelius/titan/util/stats/NumberUtil.java: -------------------------------------------------------------------------------- 1 | package com.thinkaurelius.titan.util.stats; 2 | 3 | import com.google.common.base.Preconditions; 4 | 5 | /** 6 | * @author Matthias Broecheler (me@matthiasb.com) 7 | */ 8 | public class NumberUtil { 9 | 10 | public static boolean isPowerOf2(long value) { 11 | return value>0 && Long.highestOneBit(value)==value; 12 | } 13 | 14 | /** 15 | * Returns an integer X such that 2^X=value. Throws an exception 16 | * if value is not a power of 2. 17 | * 18 | * @param value 19 | * @return 20 | */ 21 | public static int getPowerOf2(long value) { 22 | Preconditions.checkArgument(isPowerOf2(value)); 23 | return Long.SIZE-(Long.numberOfLeadingZeros(value)+1); 24 | } 25 | 26 | } 27 | -------------------------------------------------------------------------------- /titan-core/src/main/java/com/thinkaurelius/titan/util/system/TXUtils.java: -------------------------------------------------------------------------------- 1 | package com.thinkaurelius.titan.util.system; 2 | 3 | import com.thinkaurelius.titan.core.TitanTransaction; 4 | import org.slf4j.Logger; 5 | import org.slf4j.LoggerFactory; 6 | 7 | /** 8 | * This class may become obsolete in and is subject for removal in Titan 0.9, 9 | * since we can assume try-with-resources and transactions implement AutoCloseable. 10 | */ 11 | public class TXUtils { 12 | 13 | private static final Logger log = 14 | LoggerFactory.getLogger(TXUtils.class); 15 | 16 | public static void rollbackQuietly(TitanTransaction tx) { 17 | if (null == tx) 18 | return; 19 | 20 | try { 21 | tx.rollback(); 22 | } catch (Throwable t) { 23 | log.warn("Unable to rollback transaction", t); 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /titan-core/src/main/resources/com/thinkaurelius/titan/graphdb/configuration/titan.internal.properties: -------------------------------------------------------------------------------- 1 | titan.version=${project.version} 2 | titan.compatible-versions=${titan.compatible.versions} 3 | -------------------------------------------------------------------------------- /titan-core/src/main/resources/log4j.properties: -------------------------------------------------------------------------------- 1 | # A1 is set to be a ConsoleAppender. 2 | log4j.appender.A1=org.apache.log4j.ConsoleAppender 3 | 4 | # A1 uses PatternLayout. 5 | log4j.appender.A1.layout=org.apache.log4j.PatternLayout 6 | log4j.appender.A1.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n 7 | 8 | # Set root logger level to the designated level and its only appender to A1. 9 | log4j.rootLogger=INFO, A1 10 | 11 | log4j.logger.org.apache.cassandra=INFO 12 | log4j.logger.org.apache.hadoop=INFO 13 | log4j.logger.org.apache.zookeeper=INFO 14 | -------------------------------------------------------------------------------- /titan-dist/.gitignore: -------------------------------------------------------------------------------- 1 | # Eclipse junk; leading slash makes patterns non-recursive 2 | # Note that * also can't match slashes 3 | /titan-*/.classpath 4 | /titan-*/.project 5 | /titan-*/.settings/ 6 | # End of Eclipse junk 7 | -------------------------------------------------------------------------------- /titan-dist/src/assembly/cfilter/conf/titan-berkeleyje-es.properties: -------------------------------------------------------------------------------- 1 | # Titan configuration sample: BerkeleyDB JE and embedded Elasticsearch 2 | # 3 | # This file opens a BDB JE instance in the directory 4 | # /path/to/this/file/../db/berkeley. It also starts an Elasticsearch 5 | # service inside the same JVM running Titan. 6 | 7 | #TITANCFG{storage.backend=berkeleyje} 8 | 9 | #TITANCFG{storage.directory=../db/berkeley} 10 | 11 | #TITANCFG{index.search.backend=elasticsearch} 12 | 13 | #TITANCFG{index.search.directory=../db/es} 14 | 15 | #TITANCFG{index.search.elasticsearch.client-only=false} 16 | 17 | #TITANCFG{index.search.elasticsearch.local-mode=true} 18 | -------------------------------------------------------------------------------- /titan-dist/src/assembly/cfilter/conf/titan-berkeleyje-lucene.properties: -------------------------------------------------------------------------------- 1 | # Titan configuration sample: BerkeleyDB JE & Embedded Lucene 2 | # 3 | # This file opens a BDB JE instance in the directory 4 | # /path/to/this/file/../db/berkeley abd an index at /path/to/this/file/../db/searchindex 5 | 6 | #TITANCFG{storage.backend=berkeleyje} 7 | 8 | #TITANCFG{storage.directory=../db/berkeley} 9 | 10 | #TITANCFG{index.search.backend=lucene} 11 | 12 | #TITANCFG{index.search.directory=../db/searchindex} 13 | -------------------------------------------------------------------------------- /titan-dist/src/assembly/cfilter/conf/titan-berkeleyje-solr.properties: -------------------------------------------------------------------------------- 1 | # Titan configuration sample: BerkeleyDB JE & Solr over sockets 2 | # 3 | # This file opens a BDB JE instance in the directory 4 | # /path/to/this/file/../db/berkeley and the Solr HTTP API, respectively. 5 | # Solr services must already be running before starting Titan with this file. 6 | 7 | #TITANCFG{storage.backend=berkeleyje} 8 | 9 | #TITANCFG{storage.directory=../db/berkeley} 10 | 11 | # Configure a Solr backend named "search" at localhost:8983 12 | # and path prefix /solr/titan. 13 | # The collection must already exist -- see the manual for info. 14 | 15 | #TITANCFG{index.search.backend=solr} 16 | 17 | #TITANCFG{index.search.solr.mode=http} 18 | 19 | #TITANCFG{index.search.solr.http-urls=http://localhost:8983/solr} 20 | -------------------------------------------------------------------------------- /titan-dist/src/assembly/cfilter/conf/titan-berkeleyje.properties: -------------------------------------------------------------------------------- 1 | # Titan configuration sample: BerkeleyDB Java Edition 2 | # 3 | # This file opens a BDB JE instance in the directory 4 | # /path/to/this/file/../db/berkeley. 5 | 6 | #TITANCFG{storage.backend=berkeleyje} 7 | 8 | #TITANCFG{storage.directory=../db/berkeley} 9 | -------------------------------------------------------------------------------- /titan-dist/src/assembly/cfilter/conf/titan-cassandra-embedded.properties: -------------------------------------------------------------------------------- 1 | # Titan configuration sample: embedded Cassandra 2 | # 3 | # This file starts a Cassandra daemon in the same JVM as Titan and 4 | # talks to it using direct Java method calls. 5 | # 6 | # The embedded Cassandra backend is not officially publicly supported. 7 | # The cassandrathrift and astyanax backends -- which connect to 8 | # Cassandra over its Thrift API -- are supported alternatives.w 9 | 10 | #TITANCFG{storage.backend=embeddedcassandra} 11 | 12 | #TITANCFG{storage.conf-file=cassandra/cassandra.yaml} 13 | 14 | #TITANCFG{cache.db-cache = true} 15 | 16 | #TITANCFG{cache.db-cache-clean-wait = 0} 17 | 18 | #TITANCFG{cache.db-cache-time = 0} 19 | 20 | #TITANCFG{cache.db-cache-size = 0.25} 21 | -------------------------------------------------------------------------------- /titan-dist/src/assembly/cfilter/conf/titan-cassandra.properties: -------------------------------------------------------------------------------- 1 | # Titan configuration sample: Cassandra over a socket 2 | # 3 | # This file connects to a Cassandra daemon running on localhost via 4 | # Thrift. Cassandra must already be started before starting Titan 5 | # with this file. 6 | 7 | gremlin.graph=com.thinkaurelius.titan.core.TitanFactory 8 | 9 | #TITANCFG{storage.backend=cassandrathrift} 10 | 11 | #TITANCFG{storage.hostname=127.0.0.1} 12 | 13 | #TITANCFG{cache.db-cache = true} 14 | 15 | #TITANCFG{cache.db-cache-clean-wait = 20} 16 | 17 | #TITANCFG{cache.db-cache-time = 180000} 18 | 19 | #TITANCFG{cache.db-cache-size = 0.5} 20 | -------------------------------------------------------------------------------- /titan-dist/src/assembly/cfilter/conf/titan-hbase.properties: -------------------------------------------------------------------------------- 1 | # Titan configuration sample: HBase 2 | # 3 | # This file connects to HBase using a Zookeeper quorum 4 | # (storage.hostname) consisting solely of localhost. Zookeeper and 5 | # the HBase services must already be running and available before 6 | # starting Titan with this file. 7 | 8 | #TITANCFG{storage.backend=hbase} 9 | 10 | #TITANCFG{storage.hostname=127.0.0.1} 11 | 12 | #TITANCFG{cache.db-cache = true} 13 | 14 | #TITANCFG{cache.db-cache-clean-wait = 20} 15 | 16 | #TITANCFG{cache.db-cache-time = 180000} 17 | 18 | #TITANCFG{cache.db-cache-size = 0.5} 19 | -------------------------------------------------------------------------------- /titan-dist/src/assembly/descriptor/archive.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | archive 5 | 6 | 7 | zip 8 | 9 | 10 | 11 | ${assembly.descriptor.dir}/common.component.xml 12 | ${assembly.descriptor.dir}/htmldocs.component.xml 13 | ${assembly.descriptor.dir}/readmes.component.xml 14 | 15 | 16 | -------------------------------------------------------------------------------- /titan-dist/src/assembly/descriptor/configs.component.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | ${assembly.static.dir}/conf 6 | /conf 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /titan-dist/src/assembly/descriptor/filesystem.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | all-standalone 5 | / 6 | 7 | 8 | dir 9 | 10 | 11 | 12 | ${assembly.descriptor.dir}/common.component.xml 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /titan-dist/src/assembly/descriptor/javadocs.xml: -------------------------------------------------------------------------------- 1 | 2 | titan-core-javadocs 3 | / 4 | 5 | 6 | dir 7 | 8 | 9 | 10 | 11 | true 12 | / 13 | false 14 | 15 | ${project.groupId}:titan-core:jar:javadoc:${project.version} 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /titan-dist/src/assembly/descriptor/pkgtools.xml: -------------------------------------------------------------------------------- 1 | 2 | pkg-tools 3 | / 4 | 5 | 6 | dir 7 | 8 | 9 | 10 | 11 | src/pkg/static 12 | false 13 | / 14 | 15 | 16 | src/pkg/resources 17 | true 18 | / 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /titan-dist/src/assembly/static/README.txt: -------------------------------------------------------------------------------- 1 | Titan: Distributed Graph Database 2 | 3 | Titan is a distributed graph database optimized for storing 4 | and processing large-scale graphs within a multi-machine cluster. 5 | 6 | Titan documentation can be found online at: 7 | 8 | http://s3.thinkaurelius.com/docs/titan/current/ 9 | 10 | Titan is provided by Aurelius [http://thinkaurelius.com] 11 | "Applying Network Science and Graph Theory" 12 | -------------------------------------------------------------------------------- /titan-dist/src/assembly/static/bin/checksocket.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Returns the absolute path of this script regardless of symlinks 4 | abs_path() { 5 | # From: http://stackoverflow.com/a/246128 6 | # - To resolve finding the directory after symlinks 7 | SOURCE="${BASH_SOURCE[0]}" 8 | while [ -h "$SOURCE" ]; do 9 | DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )" 10 | SOURCE="$(readlink "$SOURCE")" 11 | [[ $SOURCE != /* ]] && SOURCE="$DIR/$SOURCE" 12 | done 13 | echo "$( cd -P "$( dirname "$SOURCE" )" && pwd )" 14 | } 15 | 16 | cd "`abs_path`"/.. 17 | 18 | if [ -n "$JAVA_HOME" ]; then 19 | JAVA="$JAVA_HOME"/bin/java 20 | else 21 | JAVA=java 22 | fi 23 | 24 | "$JAVA" -cp lib/titan-core-*.jar com.thinkaurelius.titan.util.system.CheckSocket $1 $2 25 | -------------------------------------------------------------------------------- /titan-dist/src/assembly/static/bin/gremlin-server.bat: -------------------------------------------------------------------------------- 1 | :: Windows launcher script for Gremlin Server 2 | @echo off 3 | 4 | set work=%CD% 5 | 6 | if [%work:~-3%]==[bin] cd .. 7 | 8 | set LIBDIR=lib 9 | 10 | set JAVA_OPTIONS=-Xms32m -Xmx512m -javaagent:%LIBDIR%/jamm-0.3.0.jar 11 | 12 | :: Launch the application 13 | java -Dlog4j.configuration=../conf/log4j-server.properties %JAVA_OPTIONS% %JAVA_ARGS% -cp %LIBDIR%/*; org.apache.tinkerpop.gremlin.server.GremlinServer %* 14 | -------------------------------------------------------------------------------- /titan-dist/src/assembly/static/conf/gremlin-server/log4j-server.properties: -------------------------------------------------------------------------------- 1 | # A1 is a FileAppender. 2 | log4j.appender.A1=org.apache.log4j.FileAppender 3 | log4j.appender.A1.File=${titan.logdir}/gremlin-server.log 4 | log4j.appender.A1.Threshold=INFO 5 | # A1 uses PatternLayout. 6 | log4j.appender.A1.layout=org.apache.log4j.PatternLayout 7 | log4j.appender.A1.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n 8 | 9 | # A2 is a ConsoleAppender. 10 | log4j.appender.A2=org.apache.log4j.ConsoleAppender 11 | log4j.appender.A2.Threshold=INFO 12 | # A2 uses PatternLayout. 13 | log4j.appender.A2.layout=org.apache.log4j.PatternLayout 14 | log4j.appender.A2.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n 15 | 16 | # Set both appenders (A1 and A2) on the root logger. 17 | log4j.rootLogger=INFO, A1, A2 18 | -------------------------------------------------------------------------------- /titan-dist/src/assembly/static/conf/gremlin-server/titan-berkeleyje-server.properties: -------------------------------------------------------------------------------- 1 | gremlin.graph=com.thinkaurelius.titan.core.TitanFactory 2 | storage.backend=berkeleyje 3 | storage.directory=db/berkeley 4 | -------------------------------------------------------------------------------- /titan-dist/src/assembly/static/conf/remote-objects.yaml: -------------------------------------------------------------------------------- 1 | hosts: [localhost] 2 | port: 8182 3 | serializer: { className: org.apache.tinkerpop.gremlin.driver.ser.GryoMessageSerializerV1d0, config: { custom: [com.thinkaurelius.titan.graphdb.relations.RelationIdentifier] }} -------------------------------------------------------------------------------- /titan-dist/src/assembly/static/conf/remote.yaml: -------------------------------------------------------------------------------- 1 | hosts: [localhost] 2 | port: 8182 3 | serializer: { className: org.apache.tinkerpop.gremlin.driver.ser.GryoMessageSerializerV1d0, config: { serializeResultToString: true }} -------------------------------------------------------------------------------- /titan-dist/src/assembly/static/conf/solr/stopwords.txt: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one or more 2 | # contributor license agreements. See the NOTICE file distributed with 3 | # this work for additional information regarding copyright ownership. 4 | # The ASF licenses this file to You under the Apache License, Version 2.0 5 | # (the "License"); you may not use this file except in compliance with 6 | # the License. You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | -------------------------------------------------------------------------------- /titan-dist/src/assembly/static/data/grateful-dead.kryo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thinkaurelius/titan/ee226e52415b8bf43b700afac75fa5b9767993a5/titan-dist/src/assembly/static/data/grateful-dead.kryo -------------------------------------------------------------------------------- /titan-dist/src/assembly/static/data/tinkerpop-classic.kryo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thinkaurelius/titan/ee226e52415b8bf43b700afac75fa5b9767993a5/titan-dist/src/assembly/static/data/tinkerpop-classic.kryo -------------------------------------------------------------------------------- /titan-dist/src/assembly/static/data/tinkerpop-classic.txt: -------------------------------------------------------------------------------- 1 | 1:person:marko:29 knows:2:0.5,knows:4:1.0,created:3:0.4 2 | 2:person:vadas:27 3 | 3:project:lop:java 4 | 4:person:josh:32 created:3:0.4,created:5:1.0 5 | 5:project:ripple:java 6 | 6:person:peter:35 created:3:0.2 7 | -------------------------------------------------------------------------------- /titan-dist/src/assembly/static/data/tinkerpop-crew.kryo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thinkaurelius/titan/ee226e52415b8bf43b700afac75fa5b9767993a5/titan-dist/src/assembly/static/data/tinkerpop-crew.kryo -------------------------------------------------------------------------------- /titan-dist/src/assembly/static/data/tinkerpop-modern.kryo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thinkaurelius/titan/ee226e52415b8bf43b700afac75fa5b9767993a5/titan-dist/src/assembly/static/data/tinkerpop-modern.kryo -------------------------------------------------------------------------------- /titan-dist/src/assembly/static/ext/README.txt: -------------------------------------------------------------------------------- 1 | Use this directory to install external jars to the Gremlin Console. -------------------------------------------------------------------------------- /titan-dist/src/assembly/static/ext/plugins.txt: -------------------------------------------------------------------------------- 1 | org.apache.tinkerpop.gremlin.console.plugin.DriverGremlinPlugin 2 | org.apache.tinkerpop.gremlin.console.groovy.plugin.DriverGremlinPlugin 3 | org.apache.tinkerpop.gremlin.tinkergraph.groovy.plugin.TinkerGraphGremlinPlugin 4 | org.apache.tinkerpop.gremlin.hadoop.groovy.plugin.HadoopGremlinPlugin 5 | org.apache.tinkerpop.gremlin.console.groovy.plugin.UtilitiesGremlinPlugin 6 | com.thinkaurelius.titan.graphdb.tinkerpop.plugin.TitanGremlinPlugin 7 | -------------------------------------------------------------------------------- /titan-dist/src/assembly/static/log/cassandra.log: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thinkaurelius/titan/ee226e52415b8bf43b700afac75fa5b9767993a5/titan-dist/src/assembly/static/log/cassandra.log -------------------------------------------------------------------------------- /titan-dist/src/assembly/static/scripts/empty-sample.groovy: -------------------------------------------------------------------------------- 1 | // define the default TraversalSource to bind queries to. 2 | g = graph.traversal() -------------------------------------------------------------------------------- /titan-dist/src/pkg/static/debian/.gitignore: -------------------------------------------------------------------------------- 1 | /titan/ 2 | /titan-berkeleyje/ 3 | /titan-cassandra/ 4 | /titan-es/ 5 | /titan-hbase/ 6 | /titan-lucene/ 7 | /titan-persistit/ 8 | /files 9 | /titan-berkeleyje.substvars 10 | /titan-cassandra.substvars 11 | /titan-es.substvars 12 | /titan-hbase.substvars 13 | /titan-lucene.substvars 14 | /titan-persistit.substvars 15 | /titan.postinst.debhelper 16 | /titan.postrm.debhelper 17 | /titan.prerm.debhelper 18 | /titan.substvars 19 | -------------------------------------------------------------------------------- /titan-dist/src/pkg/static/debian/README.packager: -------------------------------------------------------------------------------- 1 | Notes for developers building Titan debian packages 2 | 3 | dpkg-buildpackage -k25AC7920 -Itarget -I.git -I.project -I.settings -I.classpath 4 | -------------------------------------------------------------------------------- /titan-dist/src/pkg/static/debian/build.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e 4 | set -u 5 | 6 | . "`dirname $0`"/../pkgcommon/etc/config.sh 7 | cd "`dirname $0`"/../ 8 | 9 | debian/generate-changes.sh 10 | dpkg-buildpackage -k"$SIGNING_KEY_ID" \ 11 | -Itarget -I.git -I.project -I.settings -I.classpath 12 | -------------------------------------------------------------------------------- /titan-dist/src/pkg/static/debian/changelog.past: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thinkaurelius/titan/ee226e52415b8bf43b700afac75fa5b9767993a5/titan-dist/src/pkg/static/debian/changelog.past -------------------------------------------------------------------------------- /titan-dist/src/pkg/static/debian/compat: -------------------------------------------------------------------------------- 1 | 9 2 | -------------------------------------------------------------------------------- /titan-dist/src/pkg/static/debian/generate-changes.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -u 4 | set -e 5 | 6 | . pkgcommon/etc/config.sh 7 | . pkgcommon/etc/version.sh 8 | 9 | cat > debian/changelog < `date +'%a, %d %b %Y %H:%M:%S %z'` 15 | 16 | EOF 17 | cat >>debian/changelog &2 8 | echo " Copies Titan's jars to the specified directory" 9 | echo " The directory is created if it does not exist" 10 | exit 1 11 | fi 12 | 13 | . "`dirname $0`"/../etc/config.sh 14 | 15 | [ ! -e "$1" ] && mkdir -p "$1" 16 | 17 | cd "$1" 18 | absolutepath="`pwd`" 19 | cd - >/dev/null 20 | 21 | cd "`dirname $0`"/../../titan-dist 22 | 23 | mvn dependency:copy-dependencies $MVN_OPTS \ 24 | -Paurelius-release \ 25 | -DexcludeClassifiers=tests,test,javadoc \ 26 | -DincludeScope=runtime \ 27 | -DoutputDirectory="$absolutepath" 28 | -------------------------------------------------------------------------------- /titan-dist/src/pkg/static/pkgcommon/bin/install-payload.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -u 4 | set -e 5 | 6 | if [ -z "${1:-}" ]; then 7 | echo "Usage: $0 directory" >&2 8 | echo " Copies Titan's OS-agnostic files to the specified root" 9 | echo " The directory is created if it does not exist" 10 | exit 1 11 | fi 12 | 13 | . "`dirname $0`"/../etc/config.sh 14 | 15 | [ ! -e "$1" ] && mkdir -p "$1" 16 | 17 | rsync -qa "$PAYLOAD_DIR"/ "$1" 18 | -------------------------------------------------------------------------------- /titan-dist/src/pkg/static/pkgcommon/bin/update-local-repos.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e 4 | set -u 5 | 6 | . "`dirname $0`"/../etc/config.sh 7 | . "`dirname $0`"/../etc/version.sh 8 | cd "`dirname $0`"/../../ 9 | 10 | echo 'Running reprepro...' 11 | reprepro -b "$LOCAL_REPO_DEB_DIR" include $REPREPRO_CODENAME \ 12 | ../titan_"$DEB_VERSION"-"$DEB_RELEASE"_*.changes 13 | echo 'Done running reprepro.' 14 | 15 | [ ! -e "$LOCAL_REPO_RPM_DIR"/noarch/ ] && mkdir -p "$LOCAL_REPO_RPM_DIR"/noarch/ 16 | cp "$RPM_TOPDIR"/RPMS/noarch/titan*-$RPM_VERSION-$RPM_RELEASE.noarch.rpm \ 17 | "$LOCAL_REPO_RPM_DIR"/noarch/ 18 | echo 'Running createrepo...' 19 | createrepo "$LOCAL_REPO_RPM_DIR" 20 | echo 'Done running createrepo.' 21 | 22 | cd "$LOCAL_REPO_DIR" 23 | s3cmd --acl-public --delete-removed --verbose sync . "$S3_REPO_BUCKET" 24 | -------------------------------------------------------------------------------- /titan-dist/src/pkg/static/pkgcommon/payload/etc/titan/config.properties: -------------------------------------------------------------------------------- 1 | storage.backend=embeddedcassandra 2 | storage.cassandra-config-dir=cassandra.yaml 3 | -------------------------------------------------------------------------------- /titan-dist/src/pkg/static/pkgcommon/payload/etc/titan/log4j.properties: -------------------------------------------------------------------------------- 1 | # A1 is a RollingFileAppender with a PatternLayout 2 | log4j.appender.A1=org.apache.log4j.rolling.RollingFileAppender 3 | log4j.appender.A1.File=/var/log/titan/titan.log 4 | log4j.appender.A1.Threshold=TRACE 5 | log4j.appender.A1.layout=org.apache.log4j.PatternLayout 6 | log4j.appender.A1.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %-5p %c{2}: %m%n 7 | 8 | # A1 connects to the root of the logger hierarchy 9 | log4j.rootLogger=INFO, A1 10 | 11 | ## Override specific class loggers with higher or lower thresholds here. 12 | ## Examples: 13 | #log4j.logger.com.thinkaurelius.titan.diskstorage.log.kcvs.KCVSLog=DEBUG 14 | #log4j.logger.com.thinkaurelius.titan.diskstorage.log.LogTest=DEBUG 15 | #log4j.logger.com.thinkaurelius.titan.diskstorage.log.KCVSLogTest=DEBUG 16 | #log4j.logger.com.thinkaurelius.titan.diskstorage.log.util.ProcessMessageJob=DEBUG 17 | -------------------------------------------------------------------------------- /titan-dist/src/pkg/static/pkgcommon/payload/etc/titan/rexster-init.groovy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thinkaurelius/titan/ee226e52415b8bf43b700afac75fa5b9767993a5/titan-dist/src/pkg/static/pkgcommon/payload/etc/titan/rexster-init.groovy -------------------------------------------------------------------------------- /titan-dist/src/pkg/static/pkgcommon/payload/usr/bin/rexster-console.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | CP=$( echo /usr/share/titan/lib/*.jar . | sed 's/ /:/g') 4 | #echo $CP 5 | 6 | # Find Java 7 | if [ "$JAVA_HOME" = "" ] ; then 8 | JAVA="java -server" 9 | else 10 | JAVA="$JAVA_HOME/bin/java -server" 11 | fi 12 | 13 | # Set Java options 14 | if [ "$JAVA_OPTIONS" = "" ] ; then 15 | JAVA_OPTIONS="-Xms32m -Xmx512m" 16 | fi 17 | 18 | # Launch the application 19 | $JAVA $JAVA_OPTIONS -cp $CP org.apache.tinkerpop.rexster.console.RexsterConsole $@ 20 | 21 | # Return the program's exit code 22 | exit $? 23 | -------------------------------------------------------------------------------- /titan-dist/src/pkg/static/redhat/build.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e 4 | set -u 5 | 6 | TOPDIR=~/rpmbuild 7 | cd "`dirname $0`/.." 8 | REPO_ROOT="`pwd`" 9 | cd - >/dev/null 10 | 11 | cd "`dirname $0`"/.. 12 | . pkgcommon/etc/config.sh 13 | . pkgcommon/etc/version.sh 14 | [ ! -h "$TOPDIR/BUILD/titan-$RPM_VERSION" ] && ln -s "$REPO_ROOT" "$TOPDIR"/BUILD/titan-$RPM_VERSION 15 | 16 | # Prepend version and release macro definitions to specfile 17 | cd "`dirname $0`" 18 | cat > titan.spec <> titan.spec 23 | 24 | rpmbuild -bb titan.spec 25 | rpmsign --addsign --key-id=$SIGNING_KEY_ID "$TOPDIR"/RPMS/noarch/titan*-$RPM_VERSION-$RPM_RELEASE.noarch.rpm 26 | -------------------------------------------------------------------------------- /titan-dist/src/pkg/static/redhat/payload/titan.sysconfig: -------------------------------------------------------------------------------- 1 | # Environment variable overrides for Titan init.d script 2 | -------------------------------------------------------------------------------- /titan-dist/src/test/expect/single-vertex.expect.vm: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env expect 2 | spawn bin/gremlin.sh 3 | expect_after { 4 | timeout { 5 | # Default timeout handler 6 | exit 1 7 | } 8 | } 9 | expect gremlin> 10 | send "g = TitanFactory.open(\"${graphConfig}\")\r" 11 | expect -re "${graphToString}" 12 | expect gremlin> 13 | send "v = g.addVertex()\r" 14 | expect -re {v\[(\d+)\]} { set vertexid $expect_out(1,string) } 15 | expect gremlin> 16 | send "v.property('test', 42)\r" 17 | expect "==>vp\[test->42\]" 18 | expect gremlin> 19 | send "g.tx().commit()\r" 20 | expect ==>null 21 | expect gremlin> 22 | send "g.traversal().V(v.longId()).values('test')\r" 23 | expect ==>42 24 | expect gremlin> 25 | send "g.close()\r" 26 | expect ==>null 27 | expect gremlin> 28 | exit 0 29 | -------------------------------------------------------------------------------- /titan-dist/src/test/java/com/thinkaurelius/titan/pkgtest/BerkeleyAssemblyIT.java: -------------------------------------------------------------------------------- 1 | package com.thinkaurelius.titan.pkgtest; 2 | 3 | import org.junit.Test; 4 | 5 | public class BerkeleyAssemblyIT extends AbstractTitanAssemblyIT { 6 | 7 | @Test 8 | public void testBerkeleySimpleSession() throws Exception { 9 | testSimpleGremlinSession("conf/titan-berkeleyje.properties", "berkeleyje"); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /titan-dist/src/test/java/com/thinkaurelius/titan/pkgtest/BerkeleyESAssemblyIT.java: -------------------------------------------------------------------------------- 1 | package com.thinkaurelius.titan.pkgtest; 2 | 3 | import org.junit.Test; 4 | 5 | public class BerkeleyESAssemblyIT extends AbstractTitanAssemblyIT { 6 | 7 | @Test 8 | public void testBerkeleyGettingStarted() throws Exception { 9 | testGettingStartedGremlinSession("conf/titan-berkeleyje-es.properties", "berkeleyje"); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /titan-dist/src/test/java/com/thinkaurelius/titan/pkgtest/CassandraEmbeddedAssemblyIT.java: -------------------------------------------------------------------------------- 1 | package com.thinkaurelius.titan.pkgtest; 2 | 3 | import org.junit.Test; 4 | 5 | public class CassandraEmbeddedAssemblyIT extends AbstractTitanAssemblyIT { 6 | 7 | @Test 8 | public void testEmbeddedCassandraSimpleSession() throws Exception { 9 | testSimpleGremlinSession("conf/titan-cassandra-embedded.properties", "embeddedcassandra"); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /titan-dist/src/test/java/com/thinkaurelius/titan/pkgtest/CassandraEmbeddedESAssemblyIT.java: -------------------------------------------------------------------------------- 1 | package com.thinkaurelius.titan.pkgtest; 2 | 3 | import org.junit.Test; 4 | 5 | public class CassandraEmbeddedESAssemblyIT extends AbstractTitanAssemblyIT { 6 | 7 | @Test 8 | public void testEmbeddedCassandraGettingStarted() throws Exception { 9 | testGettingStartedGremlinSession("conf/titan-cassandra-embedded-es.properties", "embeddedcassandra"); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /titan-dist/src/test/java/com/thinkaurelius/titan/pkgtest/CassandraThriftAssemblyIT.java: -------------------------------------------------------------------------------- 1 | package com.thinkaurelius.titan.pkgtest; 2 | 3 | import org.junit.BeforeClass; 4 | import org.junit.Test; 5 | 6 | import com.thinkaurelius.titan.CassandraStorageSetup; 7 | 8 | public class CassandraThriftAssemblyIT extends AbstractTitanAssemblyIT { 9 | 10 | @BeforeClass 11 | public static void startCassandra() { 12 | CassandraStorageSetup.startCleanEmbedded(); 13 | } 14 | 15 | @Test 16 | public void testCassandraThriftSimpleSession() throws Exception { 17 | testSimpleGremlinSession("conf/titan-cassandra.properties", "cassandrathrift"); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /titan-dist/src/test/java/com/thinkaurelius/titan/pkgtest/GremlinShellArgsIT.java: -------------------------------------------------------------------------------- 1 | package com.thinkaurelius.titan.pkgtest; 2 | 3 | import org.junit.Test; 4 | 5 | public class GremlinShellArgsIT extends AbstractTitanAssemblyIT { 6 | 7 | @Test 8 | public void testScriptFileArgument() throws Exception { 9 | unzipAndRunExpect("gremlin-shell-args.expect.vm"); 10 | } 11 | } -------------------------------------------------------------------------------- /titan-dist/src/test/java/com/thinkaurelius/titan/pkgtest/TitanScriptIT.java: -------------------------------------------------------------------------------- 1 | package com.thinkaurelius.titan.pkgtest; 2 | 3 | import org.junit.Test; 4 | 5 | /** 6 | * Test the titan.sh script that starts and stops Cassandra, ES, and Rexster. 7 | */ 8 | public class TitanScriptIT extends AbstractTitanAssemblyIT { 9 | 10 | @Test 11 | public void testGraphOfTheGodsGraphSON() throws Exception { 12 | unzipAndRunExpect("titan-sh.expect.vm"); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /titan-dist/src/test/resources/compat.csv: -------------------------------------------------------------------------------- 1 | 0.5.0,bdb-es,https://s3.amazonaws.com/titan-release-compat-test/bdb-es/0.5.0.zip 2 | 1.0.0,bdb-es,https://s3.amazonaws.com/titan-release-compat-test/bdb-es/1.0.0.zip 3 | -------------------------------------------------------------------------------- /titan-dist/src/test/resources/target.properties: -------------------------------------------------------------------------------- 1 | zipfile.path = ${test.zipfile.path} 2 | expect.dir = ${test.expect.dir} 3 | build.dir = ${project.build.directory} 4 | -------------------------------------------------------------------------------- /titan-dist/src/test/resources/test_gremlin_init.groovy: -------------------------------------------------------------------------------- 1 | // Used by gremlin-shell-args.expect.vm 2 | test_i = 2 + 2 3 | test_g = TinkerGraph.open() 4 | test_graph_factory_class = GraphFactory.class 5 | test_titan_factory_class = TitanFactory.class -------------------------------------------------------------------------------- /titan-dist/titan-dist-hadoop-1/src/assembly/descriptor/archive.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | titan-${project.version}-${hadoop.version.tag} 5 | titan-${project.version}-${hadoop.version.tag} 6 | 7 | 8 | ${assembly.descriptor.dir}/archive.xml 9 | 10 | 11 | 12 | 13 | src/assembly/static 14 | / 15 | false 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /titan-dist/titan-dist-hadoop-2/src/assembly/descriptor/archive.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | titan-${project.version}-${hadoop.version.tag} 5 | titan-${project.version}-${hadoop.version.tag} 6 | 7 | 8 | ${assembly.descriptor.dir}/archive.xml 9 | 10 | 11 | 12 | 13 | src/assembly/static 14 | / 15 | false 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /titan-es/.gitignore: -------------------------------------------------------------------------------- 1 | /bin 2 | /config 3 | -------------------------------------------------------------------------------- /titan-es/src/main/resources/titan-es.properties: -------------------------------------------------------------------------------- 1 | es.version=${elasticsearch.version} 2 | -------------------------------------------------------------------------------- /titan-es/src/test/binassembly.xml: -------------------------------------------------------------------------------- 1 | 3 | es-bin 4 | / 5 | 6 | 7 | dir 8 | 9 | 10 | 11 | 12 | src/test/bin 13 | / 14 | false 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /titan-es/src/test/resources/es_cfg_bogus_nodeclient.yml: -------------------------------------------------------------------------------- 1 | node.data: false 2 | node.client: true 3 | discovery.zen.ping.multicast.enabled: false 4 | discovery.zen.ping.unicast.hosts: [ "10.11.12.13" ] 5 | cluster.name: networkNodeUsingYaml -------------------------------------------------------------------------------- /titan-es/src/test/resources/es_cfg_nodeclient.yml: -------------------------------------------------------------------------------- 1 | node.data: false 2 | node.client: true 3 | discovery.zen.ping.multicast.enabled: false 4 | discovery.zen.ping.unicast.hosts: [ "localhost", "127.0.0.1:9300" ] 5 | cluster.name: networkNodeUsingYaml -------------------------------------------------------------------------------- /titan-es/src/test/resources/es_jvmlocal.yml: -------------------------------------------------------------------------------- 1 | node.data: true 2 | node.client: false 3 | node.local: true 4 | path.data: ${project.build.directory}/es/jvmlocal_yml/data 5 | path.work: ${project.build.directory}/es/jvmlocal_yml/work 6 | path.logs: ${project.build.directory}/es/jvmlocal_yml/logs 7 | cluster.name: jvmlocal -------------------------------------------------------------------------------- /titan-es/src/test/resources/es_nodename_bar.yml: -------------------------------------------------------------------------------- 1 | node.name: bar 2 | -------------------------------------------------------------------------------- /titan-es/src/test/resources/es_nodename_foo.yml: -------------------------------------------------------------------------------- 1 | node.name: foo 2 | -------------------------------------------------------------------------------- /titan-es/src/test/resources/log4j.properties: -------------------------------------------------------------------------------- 1 | # A1 is set to be a FileAppender. 2 | log4j.appender.A1=org.apache.log4j.ConsoleAppender 3 | #log4j.appender.A1=org.apache.log4j.FileAppender 4 | log4j.appender.A1.File=target/test.log 5 | log4j.appender.A1.Threshold=TRACE 6 | 7 | # A1 uses PatternLayout. 8 | log4j.appender.A1.layout=org.apache.log4j.PatternLayout 9 | log4j.appender.A1.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n 10 | 11 | # Set root logger level to the designated level and its only appender to A1. 12 | log4j.rootLogger=INFO, A1 13 | 14 | log4j.logger.org.apache.cassandra=INFO 15 | log4j.logger.org.apache.hadoop=INFO 16 | log4j.logger.org.apache.zookeeper=INFO 17 | -------------------------------------------------------------------------------- /titan-hadoop-parent/.gitignore: -------------------------------------------------------------------------------- 1 | /*/jobs/ 2 | -------------------------------------------------------------------------------- /titan-hadoop-parent/titan-hadoop-1/src/main/java/com/thinkaurelius/titan/hadoop/compat/h1/MapredJarConfigurer.java: -------------------------------------------------------------------------------- 1 | package com.thinkaurelius.titan.hadoop.compat.h1; 2 | 3 | import com.thinkaurelius.titan.hadoop.config.job.JobClasspathConfigurer; 4 | import org.apache.hadoop.mapreduce.Job; 5 | 6 | import java.io.IOException; 7 | 8 | public class MapredJarConfigurer implements JobClasspathConfigurer { 9 | 10 | private final String mapredJar; 11 | 12 | public MapredJarConfigurer(String mapredJar) { 13 | this.mapredJar = mapredJar; 14 | } 15 | 16 | @Override 17 | public void configure(Job job) throws IOException { 18 | job.getConfiguration().set(Hadoop1Compat.CFG_JOB_JAR, mapredJar); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /titan-hadoop-parent/titan-hadoop-2/src/main/java/com/thinkaurelius/titan/hadoop/compat/h2/MapredJarConfigurer.java: -------------------------------------------------------------------------------- 1 | package com.thinkaurelius.titan.hadoop.compat.h2; 2 | 3 | import java.io.IOException; 4 | 5 | import com.thinkaurelius.titan.hadoop.config.job.JobClasspathConfigurer; 6 | import org.apache.hadoop.mapreduce.Job; 7 | 8 | public class MapredJarConfigurer implements JobClasspathConfigurer { 9 | 10 | private final String mapredJar; 11 | 12 | public MapredJarConfigurer(String mapredJar) { 13 | this.mapredJar = mapredJar; 14 | } 15 | 16 | @Override 17 | public void configure(Job job) throws IOException { 18 | job.setJar(mapredJar); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /titan-hadoop-parent/titan-hadoop-core/src/assembly/example-data/FathersName.groovy: -------------------------------------------------------------------------------- 1 | import com.thinkaurelius.titan.core.TitanFactory 2 | import com.tinkerpop.blueprints.Graph 3 | import org.apache.commons.configuration.BaseConfiguration 4 | 5 | Graph g 6 | 7 | def setup(args) { 8 | conf = new BaseConfiguration() 9 | conf.setProperty('storage.backend', args[0]) 10 | conf.setProperty('storage.hostname', 'localhost') 11 | g = TitanFactory.open(conf) 12 | } 13 | 14 | def map(v, args) { 15 | u = g.v(v.id) // the Hadoop vertex id is the same as the original Titan vertex id 16 | pipe = u.out('father').name 17 | if (pipe.hasNext()) u.fathersName = pipe.next(); 18 | u.name + "'s father's name is " + u.fathersName 19 | } 20 | 21 | def cleanup(args) { 22 | g.shutdown() 23 | } 24 | -------------------------------------------------------------------------------- /titan-hadoop-parent/titan-hadoop-core/src/assembly/shared-resources.xml: -------------------------------------------------------------------------------- 1 | 2 | shared-resources 3 | 4 | jar 5 | 6 | false 7 | 8 | 9 | / 10 | ${project.basedir}/src/assembly/shared-resources 11 | false 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /titan-hadoop-parent/titan-hadoop-core/src/assembly/shared-resources/hadoop-job.xml: -------------------------------------------------------------------------------- 1 | 2 | job 3 | 4 | jar 5 | 6 | false 7 | 8 | 9 | false 10 | runtime 11 | lib 12 | 13 | ${groupId}:${artifactId} 14 | 15 | 16 | 17 | true 18 | 19 | ${groupId}:${artifactId} 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /titan-hadoop-parent/titan-hadoop-core/src/main/java/com/thinkaurelius/titan/hadoop/config/job/JobClasspathConfigurer.java: -------------------------------------------------------------------------------- 1 | package com.thinkaurelius.titan.hadoop.config.job; 2 | 3 | import java.io.IOException; 4 | 5 | import org.apache.hadoop.mapreduce.Job; 6 | 7 | /** 8 | * Configures a Job a mapreduce jar and/or additional classpath elements hosted 9 | * in the Hadoop DistributedCache. 10 | */ 11 | public interface JobClasspathConfigurer { 12 | 13 | public void configure(Job job) throws IOException; 14 | } 15 | -------------------------------------------------------------------------------- /titan-hadoop-parent/titan-hadoop-core/src/main/java/com/thinkaurelius/titan/hadoop/formats/JobConfigurationFormat.java: -------------------------------------------------------------------------------- 1 | package com.thinkaurelius.titan.hadoop.formats; 2 | 3 | import org.apache.hadoop.mapreduce.Job; 4 | 5 | import java.io.IOException; 6 | 7 | /** 8 | * If an Input- or OutputFormat requires a dynamic configuration of the job at execution time, then a JobConfigurationFormat can be implemented. 9 | * 10 | * @author Marko A. Rodriguez (http://markorodriguez.com) 11 | */ 12 | public interface JobConfigurationFormat { 13 | 14 | public void updateJob(Job job) throws InterruptedException, IOException; 15 | } 16 | -------------------------------------------------------------------------------- /titan-hadoop-parent/titan-hadoop-core/src/main/java/com/thinkaurelius/titan/hadoop/formats/cassandra/CassandraInputFormat.java: -------------------------------------------------------------------------------- 1 | package com.thinkaurelius.titan.hadoop.formats.cassandra; 2 | 3 | import com.thinkaurelius.titan.hadoop.formats.util.GiraphInputFormat; 4 | 5 | public class CassandraInputFormat extends GiraphInputFormat { 6 | public CassandraInputFormat() { 7 | super(new CassandraBinaryInputFormat()); 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /titan-hadoop-parent/titan-hadoop-core/src/main/java/com/thinkaurelius/titan/hadoop/formats/hbase/HBaseInputFormat.java: -------------------------------------------------------------------------------- 1 | package com.thinkaurelius.titan.hadoop.formats.hbase; 2 | 3 | import com.thinkaurelius.titan.hadoop.formats.util.GiraphInputFormat; 4 | 5 | public class HBaseInputFormat extends GiraphInputFormat { 6 | public HBaseInputFormat() { 7 | super(new HBaseBinaryInputFormat()); 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /titan-hadoop-parent/titan-hadoop-core/src/main/java/com/thinkaurelius/titan/hadoop/formats/util/input/SystemTypeInspector.java: -------------------------------------------------------------------------------- 1 | package com.thinkaurelius.titan.hadoop.formats.util.input; 2 | 3 | /** 4 | * @author Matthias Broecheler (me@matthiasb.com) 5 | */ 6 | public interface SystemTypeInspector { 7 | 8 | public boolean isSystemType(long typeid); 9 | 10 | public boolean isVertexExistsSystemType(long typeid); 11 | 12 | public boolean isVertexLabelSystemType(long typeid); 13 | 14 | public boolean isTypeSystemType(long typeid); 15 | 16 | } 17 | -------------------------------------------------------------------------------- /titan-hadoop-parent/titan-hadoop-core/src/main/java/com/thinkaurelius/titan/hadoop/formats/util/input/VertexReader.java: -------------------------------------------------------------------------------- 1 | package com.thinkaurelius.titan.hadoop.formats.util.input; 2 | 3 | import com.thinkaurelius.titan.diskstorage.StaticBuffer; 4 | 5 | /** 6 | * @author Matthias Broecheler (me@matthiasb.com) 7 | */ 8 | public interface VertexReader { 9 | 10 | public long getVertexId(StaticBuffer key); 11 | 12 | } -------------------------------------------------------------------------------- /titan-hadoop-parent/titan-hadoop-core/src/test/java/com/thinkaurelius/titan/hadoop/CassandraIndexManagementIT.java: -------------------------------------------------------------------------------- 1 | package com.thinkaurelius.titan.hadoop; 2 | 3 | import com.thinkaurelius.titan.CassandraStorageSetup; 4 | import com.thinkaurelius.titan.diskstorage.configuration.ModifiableConfiguration; 5 | import com.thinkaurelius.titan.diskstorage.configuration.WriteConfiguration; 6 | 7 | public class CassandraIndexManagementIT extends AbstractIndexManagementIT { 8 | 9 | @Override 10 | public WriteConfiguration getConfiguration() { 11 | String className = getClass().getSimpleName(); 12 | ModifiableConfiguration mc = CassandraStorageSetup.getEmbeddedConfiguration(className); 13 | return mc.getConfiguration(); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /titan-hadoop-parent/titan-hadoop-core/src/test/resources/com/thinkaurelius/titan/hadoop/formats/graphson/extra-cerberus.json: -------------------------------------------------------------------------------- 1 | {"name":"cerberus","type":"monster","heads":3,"_id":11} 2 | -------------------------------------------------------------------------------- /titan-hadoop-parent/titan-hadoop-core/src/test/resources/com/thinkaurelius/titan/hadoop/formats/script/ScriptInput.groovy: -------------------------------------------------------------------------------- 1 | import com.thinkaurelius.titan.hadoop.FaunusVertex 2 | import com.tinkerpop.blueprints.Direction 3 | 4 | def boolean read(FaunusVertex v, String line) { 5 | parts = line.split(':'); 6 | v.setId(Long.valueOf(parts[0])); 7 | if (parts.length == 2) { 8 | parts[1].split(',').each { 9 | v.addEdge(Direction.OUT, 'linkedTo', Long.valueOf(it)); 10 | } 11 | } 12 | return true; 13 | } 14 | -------------------------------------------------------------------------------- /titan-hadoop-parent/titan-hadoop-core/src/test/resources/com/thinkaurelius/titan/hadoop/formats/script/ScriptOutput.groovy: -------------------------------------------------------------------------------- 1 | import com.thinkaurelius.titan.hadoop.FaunusVertex 2 | import com.tinkerpop.blueprints.Edge 3 | 4 | import static com.tinkerpop.blueprints.Direction.IN 5 | import static com.tinkerpop.blueprints.Direction.OUT 6 | 7 | def void write(FaunusVertex vertex, DataOutput output) { 8 | output.writeUTF(vertex.id().toString() + ':'); 9 | Iterator itty = vertex.getEdges(OUT).iterator() 10 | while (itty.hasNext()) { 11 | output.writeUTF(itty.next().getVertex(IN).getId().toString()); 12 | if (itty.hasNext()) 13 | output.writeUTF(','); 14 | } 15 | output.writeUTF('\n'); 16 | } 17 | -------------------------------------------------------------------------------- /titan-hadoop-parent/titan-hadoop-core/src/test/resources/com/thinkaurelius/titan/hadoop/formats/script/graph-of-the-gods.id: -------------------------------------------------------------------------------- 1 | 0: 2 | 1:4,3,2,0 3 | 2:5,3,1 4 | 3:11,6,1,2 5 | 4: 6 | 5: 7 | 6: 8 | 7:8,9,10,11,1 9 | 8: 10 | 9: 11 | 10: 12 | 11:6 13 | -------------------------------------------------------------------------------- /titan-hadoop-parent/titan-hadoop-core/src/test/resources/com/thinkaurelius/titan/hadoop/graph-of-the-gods-2.seq: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thinkaurelius/titan/ee226e52415b8bf43b700afac75fa5b9767993a5/titan-hadoop-parent/titan-hadoop-core/src/test/resources/com/thinkaurelius/titan/hadoop/graph-of-the-gods-2.seq -------------------------------------------------------------------------------- /titan-hadoop-parent/titan-hadoop-core/src/test/resources/com/thinkaurelius/titan/hadoop/graphson-noop.properties: -------------------------------------------------------------------------------- 1 | # input graph parameters 2 | titan.hadoop.input.format=com.thinkaurelius.titan.hadoop.formats.graphson.GraphSONInputFormat 3 | titan.hadoop.input.location=target/test-classes/com/thinkaurelius/titan/hadoop/formats/graphson/graph-of-the-gods.json 4 | 5 | # output data (graph or statistic) parameters 6 | titan.hadoop.output.format=com.thinkaurelius.titan.hadoop.formats.noop.NoOpOutputFormat 7 | titan.hadoop.sideeffect.format=org.apache.hadoop.mapreduce.lib.output.TextOutputFormat 8 | titan.hadoop.jobdir.location=target/test-data/output 9 | titan.hadoop.jobdir.overwrite=true 10 | -------------------------------------------------------------------------------- /titan-hadoop-parent/titan-hadoop-core/src/test/resources/com/thinkaurelius/titan/hadoop/tinkerpop/gremlin/Script.groovy: -------------------------------------------------------------------------------- 1 | println hdfs.toString() 2 | println local.toString() 3 | println a1 + a2 + a3 4 | -------------------------------------------------------------------------------- /titan-hadoop-parent/titan-hadoop/src/assembly/code-jar.xml: -------------------------------------------------------------------------------- 1 | 2 | ${project.artifactId} 3 | / 4 | 5 | 6 | jar 7 | 8 | 9 | 10 | 11 | false 12 | true 13 | 14 | 15 | META-INF/** 16 | 17 | 18 | 19 | ${project.groupId}:${project.artifactId}-*:jar:${project.version} 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /titan-hadoop-parent/titan-hadoop/src/assembly/javadoc-jar.xml: -------------------------------------------------------------------------------- 1 | 2 | javadoc 3 | / 4 | 5 | 6 | jar 7 | 8 | 9 | 10 | 11 | false 12 | true 13 | 14 | 15 | META-INF/** 16 | 17 | 18 | 19 | ${project.groupId}:${project.artifactId}-*:jar:javadoc:${project.version} 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /titan-hadoop-parent/titan-hadoop/src/assembly/sources-jar.xml: -------------------------------------------------------------------------------- 1 | 2 | sources 3 | / 4 | 5 | 6 | jar 7 | 8 | 9 | 10 | 11 | false 12 | true 13 | 14 | 15 | META-INF/** 16 | 17 | 18 | 19 | ${project.groupId}:${project.artifactId}-*:jar:sources:${project.version} 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /titan-hbase-parent/.gitignore: -------------------------------------------------------------------------------- 1 | /titan-hbase-*/.settings/ 2 | /titan-hbase-*/.project 3 | /titan-hbase-*/.classpath 4 | /titan-hbase-*/bin/ 5 | /titan-hbase-*/conf/ 6 | /titan-hbase-*/logs/ 7 | *~ 8 | .classpath 9 | .project 10 | .settings/ 11 | -------------------------------------------------------------------------------- /titan-hbase-parent/common/test/binassembly.xml: -------------------------------------------------------------------------------- 1 | 2 | hbase-bin 3 | / 4 | 5 | 6 | dir 7 | 8 | 9 | 10 | 11 | src/test/bin 12 | / 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /titan-hbase-parent/common/test/conf/regionservers: -------------------------------------------------------------------------------- 1 | 127.0.0.1 2 | -------------------------------------------------------------------------------- /titan-hbase-parent/common/test/resources/mvn_opts.txt: -------------------------------------------------------------------------------- 1 | ${titan.hbase.mvn.opts} 2 | -------------------------------------------------------------------------------- /titan-hbase-parent/titan-hbase-094/.gitignore: -------------------------------------------------------------------------------- 1 | /dependency-reduced-pom.xml 2 | -------------------------------------------------------------------------------- /titan-hbase-parent/titan-hbase-core/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/ConnectionMask.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright DataStax, Inc. 3 | *

4 | * Please see the included license file for details. 5 | */ 6 | package com.thinkaurelius.titan.diskstorage.hbase; 7 | 8 | import java.io.Closeable; 9 | import java.io.IOException; 10 | 11 | /** 12 | * This interface hides ABI/API breaking changes that HBase has made to its (H)Connection class over the course 13 | * of development from 0.94 to 1.0 and beyond. 14 | */ 15 | public interface ConnectionMask extends Closeable 16 | { 17 | 18 | TableMask getTable(String name) throws IOException; 19 | 20 | AdminMask getAdmin() throws IOException; 21 | } 22 | -------------------------------------------------------------------------------- /titan-hbase-parent/titan-hbase-core/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/HBaseTransaction.java: -------------------------------------------------------------------------------- 1 | package com.thinkaurelius.titan.diskstorage.hbase; 2 | 3 | import com.thinkaurelius.titan.diskstorage.BaseTransactionConfig; 4 | import com.thinkaurelius.titan.diskstorage.common.AbstractStoreTransaction; 5 | 6 | /** 7 | * This class overrides and adds nothing compared with 8 | * {@link com.thinkaurelius.titan.diskstorage.locking.consistentkey.ExpectedValueCheckingTransaction}; however, it creates a transaction type specific 9 | * to HBase, which lets us check for user errors like passing a Cassandra 10 | * transaction into a HBase method. 11 | * 12 | * @author Dan LaRocque 13 | */ 14 | public class HBaseTransaction extends AbstractStoreTransaction { 15 | 16 | public HBaseTransaction(final BaseTransactionConfig config) { 17 | super(config); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /titan-hbase-parent/titan-hbase/src/assembly/code-jar.xml: -------------------------------------------------------------------------------- 1 | 2 | titan-hbase 3 | / 4 | 5 | 6 | jar 7 | 8 | 9 | 10 | 11 | false 12 | true 13 | 14 | 15 | META-INF/** 16 | 17 | 18 | 19 | com.thinkaurelius.titan:titan-hbase-* 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /titan-hbase-parent/titan-hbase/src/assembly/javadoc-jar.xml: -------------------------------------------------------------------------------- 1 | 2 | javadoc 3 | / 4 | 5 | 6 | jar 7 | 8 | 9 | 10 | 11 | false 12 | true 13 | 14 | 15 | META-INF/** 16 | 17 | 18 | 19 | ${project.groupId}:titan-hbase-*:jar:javadoc:${project.version} 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /titan-hbase-parent/titan-hbase/src/assembly/sources-jar.xml: -------------------------------------------------------------------------------- 1 | 2 | sources 3 | / 4 | 5 | 6 | jar 7 | 8 | 9 | 10 | 11 | false 12 | true 13 | 14 | 15 | META-INF/** 16 | 17 | 18 | 19 | ${project.groupId}:titan-hbase-*:jar:sources:${project.version} 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /titan-lucene/src/test/resources/log4j.properties: -------------------------------------------------------------------------------- 1 | # A1 is set to be a FileAppender. 2 | #log4j.appender.A1=org.apache.log4j.ConsoleAppender 3 | log4j.appender.A1=org.apache.log4j.FileAppender 4 | log4j.appender.A1.File=target/test.log 5 | 6 | # A1 uses PatternLayout. 7 | log4j.appender.A1.layout=org.apache.log4j.PatternLayout 8 | log4j.appender.A1.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n 9 | 10 | # Set root logger level to the designated level and its only appender to A1. 11 | log4j.rootLogger=INFO, A1 12 | 13 | log4j.logger.org.apache.cassandra=INFO 14 | log4j.logger.org.apache.hadoop=INFO 15 | log4j.logger.org.apache.zookeeper=INFO -------------------------------------------------------------------------------- /titan-solr/src/test/resources/log4j.properties: -------------------------------------------------------------------------------- 1 | # A1 is set to be a FileAppender. 2 | #log4j.appender.A1=org.apache.log4j.ConsoleAppender 3 | log4j.appender.A1=org.apache.log4j.FileAppender 4 | log4j.appender.A1.File=target/test.log 5 | 6 | # A1 uses PatternLayout. 7 | log4j.appender.A1.layout=org.apache.log4j.PatternLayout 8 | log4j.appender.A1.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n 9 | 10 | # Set root logger level to the designated level and its only appender to A1. 11 | log4j.rootLogger=INFO, A1 12 | 13 | log4j.logger.org.apache.cassandra=INFO 14 | log4j.logger.org.apache.hadoop=INFO 15 | log4j.logger.org.apache.zookeeper=INFO -------------------------------------------------------------------------------- /titan-solr/src/test/resources/solr/core-template/stopwords.txt: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one or more 2 | # contributor license agreements. See the NOTICE file distributed with 3 | # this work for additional information regarding copyright ownership. 4 | # The ASF licenses this file to You under the Apache License, Version 2.0 5 | # (the "License"); you may not use this file except in compliance with 6 | # the License. You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | -------------------------------------------------------------------------------- /titan-test/data/v10k.graphml.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thinkaurelius/titan/ee226e52415b8bf43b700afac75fa5b9767993a5/titan-test/data/v10k.graphml.gz -------------------------------------------------------------------------------- /titan-test/src/main/java/com/thinkaurelius/titan/diskstorage/KeyColumn.java: -------------------------------------------------------------------------------- 1 | package com.thinkaurelius.titan.diskstorage; 2 | 3 | import org.apache.commons.lang.builder.HashCodeBuilder; 4 | 5 | public class KeyColumn { 6 | 7 | public final int key; 8 | public final int column; 9 | 10 | public KeyColumn(int key, int column) { 11 | this.key = key; 12 | this.column = column; 13 | } 14 | 15 | @Override 16 | public int hashCode() { 17 | return new HashCodeBuilder().append(key).append(column).toHashCode(); 18 | } 19 | 20 | public boolean equals(Object other) { 21 | if (this == other) return true; 22 | else if (!getClass().isInstance(other)) return false; 23 | KeyColumn oth = (KeyColumn) other; 24 | return key == oth.key && column == oth.column; 25 | } 26 | 27 | } 28 | -------------------------------------------------------------------------------- /titan-test/src/main/java/com/thinkaurelius/titan/diskstorage/SimpleScanJobRunner.java: -------------------------------------------------------------------------------- 1 | package com.thinkaurelius.titan.diskstorage; 2 | 3 | import com.thinkaurelius.titan.diskstorage.configuration.Configuration; 4 | import com.thinkaurelius.titan.diskstorage.keycolumnvalue.scan.ScanJob; 5 | import com.thinkaurelius.titan.diskstorage.keycolumnvalue.scan.ScanMetrics; 6 | 7 | import java.io.IOException; 8 | import java.util.concurrent.ExecutionException; 9 | 10 | @FunctionalInterface 11 | public interface SimpleScanJobRunner { 12 | 13 | public ScanMetrics run(ScanJob job, Configuration jobConf, String rootNSName) 14 | throws ExecutionException, BackendException, InterruptedException, IOException; 15 | } 16 | -------------------------------------------------------------------------------- /titan-test/src/main/java/com/thinkaurelius/titan/graphdb/serializer/SpecialInt.java: -------------------------------------------------------------------------------- 1 | package com.thinkaurelius.titan.graphdb.serializer; 2 | 3 | import java.io.Serializable; 4 | 5 | /** 6 | * @author Matthias Broecheler (me@matthiasb.com) 7 | */ 8 | 9 | public class SpecialInt implements Serializable { 10 | 11 | private int value; 12 | 13 | public SpecialInt(int value) { 14 | this.value = value; 15 | } 16 | 17 | public int getValue() { 18 | return value; 19 | } 20 | 21 | } 22 | -------------------------------------------------------------------------------- /titan-test/src/main/java/com/thinkaurelius/titan/olap/ShortestDistanceMessageCombiner.java: -------------------------------------------------------------------------------- 1 | package com.thinkaurelius.titan.olap; 2 | 3 | import org.apache.tinkerpop.gremlin.process.computer.MessageCombiner; 4 | 5 | import java.util.Optional; 6 | 7 | public class ShortestDistanceMessageCombiner implements MessageCombiner { 8 | 9 | private static final Optional INSTANCE = Optional.of(new 10 | ShortestDistanceMessageCombiner()); 11 | 12 | private ShortestDistanceMessageCombiner() { 13 | 14 | } 15 | 16 | @Override 17 | public Long combine(final Long messageA, final Long messageB) { 18 | return Math.min(messageA, messageB); 19 | } 20 | 21 | public static Optional instance() { 22 | return INSTANCE; 23 | } 24 | } -------------------------------------------------------------------------------- /titan-test/src/main/java/com/thinkaurelius/titan/testcategory/BrittleTests.java: -------------------------------------------------------------------------------- 1 | package com.thinkaurelius.titan.testcategory; 2 | 3 | public interface BrittleTests { 4 | } 5 | -------------------------------------------------------------------------------- /titan-test/src/main/java/com/thinkaurelius/titan/testcategory/KeyOrderAgnosticTests.java: -------------------------------------------------------------------------------- 1 | package com.thinkaurelius.titan.testcategory; 2 | 3 | public interface KeyOrderAgnosticTests { } 4 | -------------------------------------------------------------------------------- /titan-test/src/main/java/com/thinkaurelius/titan/testcategory/MemoryTests.java: -------------------------------------------------------------------------------- 1 | package com.thinkaurelius.titan.testcategory; 2 | 3 | /** 4 | * This is a JUnit category for performance-measuring tests implemented with 5 | * JUnitBenchmarks. These tests are not part of Titan's default "mvn test" 6 | * execution. 7 | * 8 | * If you rename or move this class, then you must also update mentions of it in 9 | * the Titan root pom.xml. 10 | */ 11 | public interface MemoryTests { } 12 | -------------------------------------------------------------------------------- /titan-test/src/main/java/com/thinkaurelius/titan/testcategory/OrderedKeyStoreTests.java: -------------------------------------------------------------------------------- 1 | package com.thinkaurelius.titan.testcategory; 2 | 3 | public interface OrderedKeyStoreTests { } 4 | -------------------------------------------------------------------------------- /titan-test/src/main/java/com/thinkaurelius/titan/testcategory/PerformanceTests.java: -------------------------------------------------------------------------------- 1 | package com.thinkaurelius.titan.testcategory; 2 | 3 | /** 4 | * This is a JUnit category for performance-measuring tests implemented with 5 | * JUnitBenchmarks. These tests are not part of Titan's default "mvn test" 6 | * execution. 7 | * 8 | * If you rename or move this class, then you must also update mentions of it in 9 | * the Titan root pom.xml. 10 | */ 11 | public interface PerformanceTests { } 12 | -------------------------------------------------------------------------------- /titan-test/src/main/java/com/thinkaurelius/titan/testcategory/SerialTests.java: -------------------------------------------------------------------------------- 1 | package com.thinkaurelius.titan.testcategory; 2 | 3 | public interface SerialTests { } 4 | -------------------------------------------------------------------------------- /titan-test/src/main/java/com/thinkaurelius/titan/testcategory/UnorderedKeyStoreTests.java: -------------------------------------------------------------------------------- 1 | package com.thinkaurelius.titan.testcategory; 2 | 3 | public interface UnorderedKeyStoreTests { } 4 | -------------------------------------------------------------------------------- /titan-test/src/test/java/com/thinkaurelius/titan/blueprints/InMemoryGraphProvider.java: -------------------------------------------------------------------------------- 1 | package com.thinkaurelius.titan.blueprints; 2 | 3 | import com.thinkaurelius.titan.StorageSetup; 4 | import com.thinkaurelius.titan.diskstorage.configuration.ModifiableConfiguration; 5 | import org.apache.tinkerpop.gremlin.AbstractGremlinSuite; 6 | 7 | /** 8 | * Created by bryn on 06/05/15. 9 | */ 10 | public class InMemoryGraphProvider extends AbstractTitanGraphProvider { 11 | @Override 12 | public ModifiableConfiguration getTitanConfiguration(String graphName, Class test, String testMethodName) { 13 | return StorageSetup.getInMemoryConfiguration(); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /titan-test/src/test/java/com/thinkaurelius/titan/blueprints/InMemoryTitanComputerTest.java: -------------------------------------------------------------------------------- 1 | package com.thinkaurelius.titan.blueprints; 2 | 3 | import com.thinkaurelius.titan.core.TitanGraph; 4 | import org.apache.tinkerpop.gremlin.GraphProviderClass; 5 | import org.apache.tinkerpop.gremlin.process.ProcessComputerSuite; 6 | import org.junit.runner.RunWith; 7 | 8 | @RunWith(ProcessComputerSuite.class) 9 | @GraphProviderClass(provider = InMemoryGraphComputerProvider.class, graph = TitanGraph.class) 10 | public class InMemoryTitanComputerTest { 11 | } -------------------------------------------------------------------------------- /titan-test/src/test/java/com/thinkaurelius/titan/blueprints/InMemoryTitanProcessTest.java: -------------------------------------------------------------------------------- 1 | package com.thinkaurelius.titan.blueprints; 2 | 3 | import com.thinkaurelius.titan.core.TitanGraph; 4 | import org.apache.tinkerpop.gremlin.GraphProviderClass; 5 | import org.apache.tinkerpop.gremlin.process.ProcessStandardSuite; 6 | import org.junit.runner.RunWith; 7 | 8 | 9 | @RunWith(ProcessStandardSuite.class) 10 | @GraphProviderClass(provider = InMemoryGraphProvider.class, graph = TitanGraph.class) 11 | public class InMemoryTitanProcessTest { 12 | } -------------------------------------------------------------------------------- /titan-test/src/test/java/com/thinkaurelius/titan/blueprints/InMemoryTitanStructureTest.java: -------------------------------------------------------------------------------- 1 | package com.thinkaurelius.titan.blueprints; 2 | 3 | import com.thinkaurelius.titan.core.TitanGraph; 4 | import org.apache.tinkerpop.gremlin.GraphProviderClass; 5 | import org.apache.tinkerpop.gremlin.structure.StructureStandardSuite; 6 | import org.junit.runner.RunWith; 7 | 8 | 9 | @RunWith(StructureStandardSuite.class) 10 | @GraphProviderClass(provider = InMemoryGraphProvider.class, graph = TitanGraph.class) 11 | public class InMemoryTitanStructureTest { 12 | } 13 | -------------------------------------------------------------------------------- /titan-test/src/test/java/com/thinkaurelius/titan/blueprints/groovy/InMemoryGroovyProcessComputerTest.java: -------------------------------------------------------------------------------- 1 | package com.thinkaurelius.titan.blueprints.groovy; 2 | 3 | import com.thinkaurelius.titan.blueprints.InMemoryGraphComputerProvider; 4 | import com.thinkaurelius.titan.core.TitanGraph; 5 | import org.apache.tinkerpop.gremlin.GraphProviderClass; 6 | import org.apache.tinkerpop.gremlin.process.GroovyProcessComputerSuite; 7 | import org.apache.tinkerpop.gremlin.process.ProcessStandardSuite; 8 | import org.junit.Ignore; 9 | import org.junit.runner.RunWith; 10 | 11 | /** 12 | * @author Bryn Cooke 13 | */ 14 | @RunWith(GroovyProcessComputerSuite.class) 15 | @GraphProviderClass(provider = InMemoryGraphComputerProvider.class, graph = TitanGraph.class) 16 | public class InMemoryGroovyProcessComputerTest { 17 | } -------------------------------------------------------------------------------- /titan-test/src/test/java/com/thinkaurelius/titan/blueprints/groovy/InMemoryGroovyProcessStandardTest.java: -------------------------------------------------------------------------------- 1 | package com.thinkaurelius.titan.blueprints.groovy; 2 | 3 | import com.thinkaurelius.titan.blueprints.InMemoryGraphProvider; 4 | import com.thinkaurelius.titan.core.TitanGraph; 5 | import org.apache.tinkerpop.gremlin.GraphProviderClass; 6 | import org.apache.tinkerpop.gremlin.process.GroovyProcessStandardSuite; 7 | import org.apache.tinkerpop.gremlin.process.ProcessStandardSuite; 8 | import org.junit.Ignore; 9 | import org.junit.runner.RunWith; 10 | 11 | /** 12 | * @author Bryn Cooke 13 | */ 14 | @RunWith(GroovyProcessStandardSuite.class) 15 | @GraphProviderClass(provider = InMemoryGraphProvider.class, graph = TitanGraph.class) 16 | public class InMemoryGroovyProcessStandardTest { 17 | } -------------------------------------------------------------------------------- /titan-test/src/test/java/com/thinkaurelius/titan/diskstorage/inmemory/InMemoryKeyColumnValueStoreTest.java: -------------------------------------------------------------------------------- 1 | package com.thinkaurelius.titan.diskstorage.inmemory; 2 | 3 | import com.thinkaurelius.titan.diskstorage.BackendException; 4 | import com.thinkaurelius.titan.diskstorage.KeyColumnValueStoreTest; 5 | import com.thinkaurelius.titan.diskstorage.keycolumnvalue.KeyColumnValueStoreManager; 6 | import com.thinkaurelius.titan.diskstorage.keycolumnvalue.inmemory.InMemoryStoreManager; 7 | 8 | /** 9 | * @author Matthias Broecheler (me@matthiasb.com) 10 | */ 11 | 12 | public class InMemoryKeyColumnValueStoreTest extends KeyColumnValueStoreTest { 13 | 14 | @Override 15 | public KeyColumnValueStoreManager openStorageManager() throws BackendException { 16 | return new InMemoryStoreManager(); 17 | } 18 | 19 | @Override 20 | public void clopen() { 21 | //Do nothing 22 | } 23 | 24 | } 25 | -------------------------------------------------------------------------------- /titan-test/src/test/java/com/thinkaurelius/titan/graphdb/TitanFactoryShorthandTest.java: -------------------------------------------------------------------------------- 1 | package com.thinkaurelius.titan.graphdb; 2 | 3 | import com.thinkaurelius.titan.core.TitanFactory; 4 | import com.thinkaurelius.titan.core.TitanGraph; 5 | import org.junit.Test; 6 | 7 | /** 8 | * Tests TitanFactory.open's colon-delimited shorthand parameter syntax. 9 | * 10 | * This class contains only one method so that it will run in a separate 11 | * surefire fork. This is useful for checking acyclic static initializer 12 | * invocation on the shorthand path (#831). 13 | */ 14 | public class TitanFactoryShorthandTest { 15 | 16 | @Test 17 | public void testTitanFactoryShorthand() { 18 | TitanGraph g = TitanFactory.open("inmemory"); 19 | g.close(); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /titan-test/src/test/java/com/thinkaurelius/titan/graphdb/configuration/GraphDatabaseConfigurationTest.java: -------------------------------------------------------------------------------- 1 | package com.thinkaurelius.titan.graphdb.configuration; 2 | 3 | import com.thinkaurelius.titan.diskstorage.configuration.ConfigElement; 4 | import com.thinkaurelius.titan.diskstorage.configuration.Configuration; 5 | import org.apache.commons.lang.StringUtils; 6 | import org.junit.Test; 7 | 8 | import static org.junit.Assert.assertFalse; 9 | 10 | /** 11 | * @author Matthias Broecheler (me@matthiasb.com) 12 | */ 13 | public class GraphDatabaseConfigurationTest { 14 | 15 | @Test 16 | public void testUniqueNames() { 17 | assertFalse(StringUtils.containsAny(GraphDatabaseConfiguration.getOrGenerateUniqueInstanceId(Configuration.EMPTY), ConfigElement.ILLEGAL_CHARS)); 18 | } 19 | 20 | 21 | } 22 | -------------------------------------------------------------------------------- /titan-test/src/test/java/com/thinkaurelius/titan/graphdb/serializer/attributes/TClass1.java: -------------------------------------------------------------------------------- 1 | package com.thinkaurelius.titan.graphdb.serializer.attributes; 2 | 3 | /** 4 | * @author Matthias Broecheler (me@matthiasb.com) 5 | */ 6 | public class TClass1 { 7 | 8 | private final long a; 9 | private final float f; 10 | 11 | public TClass1(long a, float f) { 12 | this.a = a; 13 | this.f = f; 14 | } 15 | 16 | public long getA() { 17 | return a; 18 | } 19 | 20 | public float getF() { 21 | return f; 22 | } 23 | 24 | @Override 25 | public boolean equals(Object oth) { 26 | TClass1 t = (TClass1)oth; 27 | return a==t.a && f==t.f; 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /titan-test/src/test/java/com/thinkaurelius/titan/graphdb/serializer/attributes/TClass1Serializer.java: -------------------------------------------------------------------------------- 1 | package com.thinkaurelius.titan.graphdb.serializer.attributes; 2 | 3 | import com.thinkaurelius.titan.core.attribute.AttributeSerializer; 4 | import com.thinkaurelius.titan.diskstorage.ScanBuffer; 5 | import com.thinkaurelius.titan.diskstorage.WriteBuffer; 6 | 7 | /** 8 | * @author Matthias Broecheler (me@matthiasb.com) 9 | */ 10 | public class TClass1Serializer implements AttributeSerializer { 11 | 12 | @Override 13 | public TClass1 read(ScanBuffer buffer) { 14 | return new TClass1(buffer.getLong(),buffer.getFloat()); 15 | } 16 | 17 | @Override 18 | public void write(WriteBuffer buffer, TClass1 attribute) { 19 | buffer.putLong(attribute.getA()); 20 | buffer.putFloat(attribute.getF()); 21 | } 22 | 23 | } 24 | -------------------------------------------------------------------------------- /titan-test/src/test/java/com/thinkaurelius/titan/graphdb/serializer/attributes/TClass2.java: -------------------------------------------------------------------------------- 1 | package com.thinkaurelius.titan.graphdb.serializer.attributes; 2 | 3 | /** 4 | * @author Matthias Broecheler (me@matthiasb.com) 5 | */ 6 | public class TClass2 { 7 | 8 | private final String s; 9 | private final int i; 10 | 11 | public TClass2(String s, int i) { 12 | this.s = s; 13 | this.i = i; 14 | } 15 | 16 | public String getS() { 17 | return s; 18 | } 19 | 20 | public int getI() { 21 | return i; 22 | } 23 | 24 | @Override 25 | public boolean equals(Object oth) { 26 | TClass2 t = (TClass2)oth; 27 | return s.equals(t.s) && i==t.i; 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /titan-test/src/test/java/com/thinkaurelius/titan/graphdb/serializer/attributes/TEnum.java: -------------------------------------------------------------------------------- 1 | package com.thinkaurelius.titan.graphdb.serializer.attributes; 2 | 3 | /** 4 | * @author Matthias Broecheler (me@matthiasb.com) 5 | */ 6 | public enum TEnum { 7 | 8 | ONE, TWO, THREE { 9 | @Override 10 | public String toString() { 11 | return "three"; 12 | } 13 | }, FOUR; 14 | 15 | 16 | @Override 17 | public String toString() { 18 | return super.toString().toLowerCase(); 19 | } 20 | 21 | } 22 | -------------------------------------------------------------------------------- /titan-test/src/test/java/com/thinkaurelius/titan/graphdb/serializer/attributes/TEnumSerializer.java: -------------------------------------------------------------------------------- 1 | package com.thinkaurelius.titan.graphdb.serializer.attributes; 2 | 3 | import com.thinkaurelius.titan.core.attribute.AttributeSerializer; 4 | import com.thinkaurelius.titan.diskstorage.ScanBuffer; 5 | import com.thinkaurelius.titan.diskstorage.WriteBuffer; 6 | 7 | /** 8 | * @author Matthias Broecheler (me@matthiasb.com) 9 | */ 10 | public class TEnumSerializer implements AttributeSerializer { 11 | 12 | @Override 13 | public TEnum read(ScanBuffer buffer) { 14 | return TEnum.values()[buffer.getShort()]; 15 | } 16 | 17 | @Override 18 | public void write(WriteBuffer buffer, TEnum attribute) { 19 | buffer.putShort((short)attribute.ordinal()); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /titan-test/src/test/java/com/thinkaurelius/titan/util/interval/IntervalTest.java: -------------------------------------------------------------------------------- 1 | package com.thinkaurelius.titan.util.interval; 2 | 3 | /** 4 | * @author Matthias Broecheler (me@matthiasb.com) 5 | */ 6 | 7 | public class IntervalTest { 8 | } 9 | -------------------------------------------------------------------------------- /titan-test/src/test/resources/log4j.properties: -------------------------------------------------------------------------------- 1 | # A1 is set to be a FileAppender. 2 | #log4j.appender.A1=org.apache.log4j.ConsoleAppender 3 | log4j.appender.A1=org.apache.log4j.FileAppender 4 | log4j.appender.A1.File=target/test.log 5 | 6 | # A1 uses PatternLayout. 7 | log4j.appender.A1.layout=org.apache.log4j.PatternLayout 8 | log4j.appender.A1.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n 9 | 10 | # Set root logger level to the designated level and its only appender to A1. 11 | log4j.rootLogger=DEBUG, A1 12 | 13 | log4j.logger.org.apache.cassandra=INFO 14 | log4j.logger.org.apache.hadoop=INFO 15 | log4j.logger.org.apache.zookeeper=INFO -------------------------------------------------------------------------------- /titan-test/src/test/resources/rexster-fragment.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | false 4 | home 5 | 6 | local 7 | 8 | 9 | 10 | tp:gremlin 11 | 12 | 13 | 14 | --------------------------------------------------------------------------------