GraphML вход в Титан

Я новичок в мире Титана. Я хотел бы импортировать данные, хранящиеся в файле GraphML, в базу данных.

  1. Я скачал titan-1.0.0-hadoop1
  2. Я бегу./titan.sh
  3. Я бегу./gremlin.sh
  4. В консоли Gremlin я написал:

    :remote connect tinkerpop.server ../conf/remote.yaml
    
  5. Далее я написал:

    graph.io(IoCore.graphml()).readGraph("/tmp/file.graphml")
    
  6. Я получил сообщение: Нет такого свойства: graph для класса: groovysh_evaluate

Не могли бы вы помочь мне?

ИМО самые интересные логи из gremlin-server.log:

84 [главная] ИНФОРМАЦИЯ org.apache.tinkerpop.gremlin.server.GremlinServer  - Настройка сервера Gremlin из файла conf/gremlin-server/gremlin-server.yaml
158  [основная] ИНФОРМАЦИЯ org.apache.tinkerpop.gremlin.server.util.MetricManager  - Сконфигурированные метрики ConsoleReporter, настроенные с интервалом отчета =180000 мс 160  [главная] INFO  org.apache.tinkerpop.gremlin.server.util.MetricManager  - Сконфигурированные метрики CsvReporter, настроенные с интервалом отчета =180000 мс для fileName=/tmp/gremlin-server-metrics.csv
196  [main] ИНФОРМАЦИЯ org.apache.tinkerpop.gremlin.server.util.MetricManager  - Сконфигурированные метрики JmxReporter, настроенный с помощью domain= и agentId=
197  [main] ИНФОРМАЦИЯ org.apache.tinkerpop.gremlin.server.util.MetricManager  - Configured Метрики Slf4jReporter, настроенные с интервалом =180000 мс, и loggerName=org.apache.tinkerpop.gremlin.server.Settings$Slf4jReporterMetrics
1111 [main] WARN  org.apache.tinkerpop.gremlin.server.GremlinServer  - график [граф], настроенный в [conf/grem -server/titan-berkeleyje-server.properties] мог бы не будет создан и не будет доступен в Gremlin Server. Сообщение GraphFactory: GraphFactory не может создать экземпляр этой реализации Graph [класс com.thinkaurelius.titan.core.TitanFactory]
java.lang.RuntimeException: GraphFactory не может создать экземпляр этой реализации Graph [класс com.thinkaurelius.titan.core.TitanFactory]
...
1113 [main] ИНФОРМАЦИЯ org.apache.tinkerpop.gremlin.server.util.ServerGremlinExecutor  - Инициализированный пул потоков Gremlin. Потоки в пуле, названные шаблоном gremlin- ​​*
1499 [main] ИНФОРМАЦИЯ org.apache.tinkerpop.gremlin.groovy.engine.ScriptEngines  - загруженный nashorn ScriptEngine
2044 [main] ИНФОРМАЦИЯ org.apache.tinkerpop.gremlin.groovy.engine.ScriptEngines  - Загруженный gremlin-groovy ScriptEngine
2488 [main] ПРЕДУПРЕЖДЕНИЕ org.apache.tinkerpop.gremlin.groovy.engine.GremlinExecutor  - Не удалось инициализировать gremlin-groovy ScriptEngine со сценариями /empty-sample.groovy, так как сценарий не может быть оценен - ​​javax.script.ScriptException: groovy.lang.MissingPropertyException: Нет такого свойства: graph для класса: Script1
2488 [main] INFO  org.apache.tinkerpop.gremlin.server.util.ServerGremlinExecutor  - Инициализированный GremlinExecutor и настроенные ScriptEngines.
2581 [main] WARN  org.apache.tinkerpop.gremlin.server.AbstractChannelizer  - Не удалось создать экземпляр настроенного класса сериализатора - org.apache.tinkerpop.gremlin.driver.ser.GryoMessageSerializerV1d0 - он не будет доступен. Нет графа с именем [graph], настроенного для использования в параметре useMapperFromGraph 2582 [main] INFO  org.apache.tinkerpop.gremlin.server.AbstractChannelizer  - Настроенное приложение /vnd.gremlin-v1.0+gryo-stringd с org. apache.tinkerpop.gremlin.driver. не будет доступен Нет графа с именем [graph], настроенного для использования в параметре useMapperFromGraph 2720 [main] WARN  org.apache.tinkerpop.gremlin.server.AbstractChannelizer  - Не удалось создать экземпляр настроенного класса сериализатора - org.apache.tinkerpop.gremlin.driver.ser.GraphSONMessageSerializerV1d0 - он не будет доступен. Нет графа с именем [graph], настроенного для использования в настройке useMapperFromGraph...

2 ответа

Вам нужно создать график. graph Ключевое слово нигде не объявлено в вашем скрипте.

Это кратко описано в документации к серверу Titan, но об этом легко забыть.

Команда:> - это команда submit, которая отправляет Gremlin по этой линии на текущий активный пульт.

На шаге 5 вам необходимо отправить команду сценария на удаленный сервер. В Gremlin Console вы можете сделать это, запустив команду с :submit или же :> для краткости.

:> graph.io(IoCore.graphml()).readGraph("/tmp/file.graphml")

Если вы не отправите сценарий на удаленный сервер, консоль Gremlin попытается обработать сценарий в JVM консоли. graph не определяется локально, и поэтому вы увидели ошибку в шаге 6.

Обновление: на основе вашего gremlin-server.log похоже, проблема в том, что пользователь, который запускает Titan с ./bin/titan.sh start не имеет соответствующих прав доступа к файлу для создания каталога (db/berkeley) используется конфигурацией графа по умолчанию (titan-berkeleyje-server.properties). Попробуйте обновить права доступа к файлу на $TITAN_HOME каталог.

Другие вопросы по тегам