2016-10-30 18 views
1

Как сделать импорт из файла JSON в titan DB, когда я использую свойство геолокации?Titan DB 1.0.0: Не удается импортировать Json-файл в titan TinkerPop 3.x

Я работаю с Titan DB ТР3 - версия 3.0.1-инкубирования

gremlin> Gremlin.version() 
==>3.0.1-incubating 
gremlin> 

и используя GeoShape свойство индекса (геолокации), пытается экспортировать и импортировать в новую базу данных.

Мои шаги являются следующие:

//export : 
     tg = TitanFactory.open(‘../conf/titan-db.properties’) 
     tg.io(IoCore.graphson()).writeGraph('/var/backups/PRODUCTION_DATA_27_10_16.json'); 



    //import to new DB: 
     tg.io(IoCore.graphson()).readGraph('/var/backups/PRODUCTION_DATA_27_10_16.json'); 

, но, к сожалению, получил исключение:

gremlin> tg.io(IoCore.graphson()).readGraph('/var/backups/PRODUCTION_DATA_27_10_16.json'); 
Property value [{type=Point, coordinates=[33.0, 32.0]}] is of type class java.util.LinkedHashMap is not supported 
Display stack trace? [yN] y 
java.lang.IllegalArgumentException: Property value [{type=Point, coordinates=[33.0, 32.0]}] is of type class java.util.LinkedHashMap is not supported 
    at org.apache.tinkerpop.gremlin.structure.Property$Exceptions.dataTypeOfPropertyValueNotSupported(Property.java:159) 
    at com.thinkaurelius.titan.graphdb.transaction.StandardTitanTx.verifyAttribute(StandardTitanTx.java:564) 
    at com.thinkaurelius.titan.graphdb.transaction.StandardTitanTx.addProperty(StandardTitanTx.java:716) 
    at com.thinkaurelius.titan.graphdb.vertices.AbstractVertex.property(AbstractVertex.java:142) 
    at com.thinkaurelius.titan.graphdb.vertices.AbstractVertex.property(AbstractVertex.java:23) 
    at org.apache.tinkerpop.gremlin.structure.util.Attachable$Method.lambda$createVertex$26(Attachable.java:296) 

Пожалуйста, любые решения ...?

ответ

2

Похоже, что вы работаете в этом Issue 1183: Titan 1.0.0 GraphSONWriter.writeGraph JsonMappingException, который уже исправлен. Попробуйте построить ветку titan11 из исходного кода. Если вам нужны указания по его созданию, просмотрите шаги в этом Titan mailing list post.

Если вы хотите пропатчить Titan 1.0.0 билд с serialization fix и не двигаться до titan11, попробуйте это вместо (discussed here):

git clone https://github.com/thinkaurelius/titan.git 
cd titan 
git checkout 1.0.0 
git cherry-pick 6dfc816d821a7739398e5cebc1e999d75c866c19 
mvn clean install -DskipTests=true -Dgpg.skip=true -Paurelius-release 
unzip titan-dist/titan-dist-hadoop-1/target/titan-1.0.0-hadoop1.zip 
+0

Не по теме: Что такое ETA в версии 1.1 ? Вы случайно не знаете? – Ralf

+0

Datastax (который приобрел Аврелия) не имеет для этого временной линии. Вы можете увидеть это сообщение в списке рассылки Titan: «Команда Aurelius, которая построила TitanDB, перешла к DataStax для разработки DSE Graph, преемника TitanDB. Обратитесь в службу поддержки за помощью на DSE Graph или используйте StackOverflow». –

+0

Однако предпринимаются попытки активизировать сообщество титанов как открытый проект. –