Рубрики
Без рубрики

Узнайте Юлию (14): вызов модулей Python

Джулия – очень молодой язык по сравнению с Python или Matlab. Таким образом, его экосистема еще не такая большая … Теги с Graphdb, Julia, Neo4j, Python.

Джулия это очень молодой язык по сравнению с Питон или Матлаб Отказ Таким образом, его экосистема еще не так велика, как у Python или Matlab. . Это будет очень захватывающая идея для Джулии, чтобы иметь возможность импортировать существующие модули и функции Python, не так ли?

Сегодня я рад, что успешно выполнил работу, связанной с базой данных графа в Джулия Импортируя некоторые Python модули. Так что здесь я буду представить шаг за шагом, что я сделал только сейчас.

Установите PKG Pycall.

using pkg
Pkg.add("PyCall")

Используйте Pycall с правильным Python Env

Я использую AnaConda для разработки Python. И на моей машине есть три разных версиях Python, которые управляются Кондейской Env. Поэтому мне нужно указать правильный путь Python в параметре Julia Env, а затем повторно построить Pycall.

ENV["PYTHON"] = "D:\\Anaconda3\\envs\\py36\\python.exe"
Pkg.build("PyCall")
using PyCall

Импортируйте некоторые модули

pyneo = pyimport("py2neo")
pyjson = pyimport("json")

Приготовление данных

Я подделал файл данных “data.json” с несколькими французскими выражениями. Этот файл содержит три объекта французского выражения выражения, и каждый из них имеет «ID», «FR», «ZH» и «категория». Содержание этого файла выглядит следующим образом:

[
    {
        "id": 1,
        "fr": "Tu me dégoutes!",
        "zh": "我讨厌你! ",
        "category": "plainte"
    }, {
        "id": 2,
        "fr": "Je veux plus jamais te voir !",
        "zh": "我不愿再见到你! ",
        "category": "plainte"
    }, {
        "id": 3,
        "fr": "T'es dingue !",
        "zh": "你疯了! ",
        "category": "plainte"
    }
]
datafile = open("./data.json", "r");
ss = read("data.json", String);
print(ss)

Теперь попробуйте анализировать содержимое файла как объект JSON, используя импортные JSON модуль.

d = pyjson.loads(ss)
println("d: $d")

Это сработало это, я могу использовать Python «Как json. Модуль для анализа JSON -форматная строка (я думаю, что все еще должны быть проблемы, когда формат строки не чист, чтобы проверить в будущем).

позвоните в базу данных Python Neo4j и проверьте его

Я использую Py2Neo Модуль для подключения к моему локальному Neo4j база данных. И проверить его простым Cypher команда. Оно работает. Однако я столкнулся с ошибкой при попытке создать Узел в график . Тип a Узел Объект был преобразован в Дикт в Джулия Отказ

graph = pyneo.Graph("http://localhost:7474",username="neo4j",password="123456")

res = graph.run("match (n) return n limit 10")
print(collect(res))

n = pyneo.Node("testNode", name="test") 
println(typeof(n))

graph.create(n)  # create nodes in the graph db

Вывод:

Создать узлы с помощью Cypher

С Cypher Исполнение работает правильно, поэтому я пытался выполнить CMD Создание (N: Expression) Установите N.id = $ ID SET N.FR = \ "$ FR \" SET N.ZH = \ "$ ZH \" RETURN N Для каждого элемента Dict, создаваемого из файла JSON. Работает, и я вижу выражения на графике.

for i in d
    id = i["id"]
    fr = i["fr"]
    zh = i["zh"]
    res = graph.run("create (n:expression) set n.id=$id set n.fr=\"$fr\" set n.zh=\"$zh\" return n ")
    println(id, collect(res))
end

Вывод консоли:

Neo4j snapshot:

Оригинал: “https://dev.to/jemaloqiu/learn-julia-14-calling-python-modules-14bf”