Как использовать Titan API?

Я хочу настроить Titan Db с помощью API. Я создал такой сценарий Groovy ...

import static com.thinkaurelius.titan.core

Затем в командной строке ...

bin/groovy -cp  "/Users/Ian/titan/lib/:titan-core-0.5.0.jar"   "../webstormprojects/project1/titan.groovy"

Потом...

org.codehaus.groovy.control.MultipleCompilationErrorsException: сбой при запуске: /Users/Ian/WebstormProjects/project1/titan.groovy: 1: невозможно разрешить класс com.thinkaurelius.titan @ строка 1, столбец 1. import static com.thinkaurelius. titan.core ^

1 ошибка

Что я делаю неправильно?


person Ian Warburton    schedule 29.01.2015    source источник
comment
Разве вам не следует импортировать статический метод с import static, а не то, что кажется пакетом?   -  person tim_yates    schedule 30.01.2015
comment
Блестяще. Теперь никаких ошибок благодаря этому и ответу @ albciff. Я удалил статику.   -  person Ian Warburton    schedule 30.01.2015


Ответы (2)


Я никогда не использую titan api, однако смотрю на исходный код titan-core на github com.thinkaurelius.titan.core это не класс, это пакет, поэтому, если вы хотите импортировать все классы в этом пакете, вы должны использовать .*, также импортирует модификатор static члены static классов, поэтому, если вы хотите использовать классы, не только члены static:

import com.thinkaurelius.titan.core.*

Вместо:

import static com.thinkaurelius.titan.core

В качестве альтернативы, если вы хотите импортировать определенный класс в этом пакете, добавьте его в импорт, например, если вы хотите добавить класс Titan:

import com.thinkaurelius.titan.core.Titan

Для получения дополнительной информации о модификаторе static вы можете ознакомиться с этим ответом .

Надеюсь это поможет,

person albciff    schedule 29.01.2015
comment
Звучит ближе, но это не заставило программу работать. Как создать индекс без API? - person Ian Warburton; 30.01.2015
comment
Я просто скачал банку и пробую import com.thinkaurelius.titan.core.* без static и работает без ошибок - person albciff; 30.01.2015
comment
@IanWarburton, извините, я не понимаю ваш комментарий. Что ты имел в виду? - person albciff; 30.01.2015
comment
Вы говорите, что никогда не используете API, но, насколько я понимаю, он нужен для создания индексов. Итак, как бы вы составили индекс? - person Ian Warburton; 30.01.2015
comment
@IanWarburton, извините, английский язык, это не моя сила ... Я просто смотрю github на исходный код, загружаю zip со всеми банками, создаю отличный скрипт с вашим import и пытаюсь убедиться, что не выдается ошибка вот и все. Вы об этом спрашиваете? - person albciff; 30.01.2015
comment
Да вы ответили на мой вопрос. Но в своем ответе вы сказали, что никогда не пользуетесь API. Как можно не использовать? - person Ian Warburton; 30.01.2015

Для любого такого невежественного человека, как я, я сделал следующее:

1) Загрузите Groovy 2) Создайте текстовый файл. Например...

import com.thinkaurelius.titan.core.*
import com.thinkaurelius.titan.core.titan.*

TitanGraph graph = TitanFactory.open("/Users/Ian/titan/conf/titan-cassandra-es.properties");

m = graph.getManagementSystem()

m.commit()

graph.shutdown()

Вы можете видеть, что у меня есть ссылки на классы API, и я подключился к базе данных с помощью файла конфигурации, который был установлен с дистрибутивом Titan, который я загрузил с веб-сайта.

Вам нужны graph.shutdown() еще блоки консоли. Хотя в документации звучит так, будто это отключает всю базу данных. Но это только вроде закрывает связь.

3) Из командной строки ...

bin/groovy -cp  "../titan/lib/*" "../webstormprojects/myproject/titan.groovy"

Путь к классу установлен в папку lib в моей папке установки Titan. * включает все пакеты.

И теперь, надеюсь, я готов добавить несколько индексов. Имейте в виду, что Titan API претерпел некоторые существенные изменения, поэтому некоторая онлайн-информация устарела. Это очень полезно.

Здесь находится последняя версия документации.

person Ian Warburton    schedule 30.01.2015