bulbs
및 rexster
을 사용하고 있으며 유니 코드 속성을 가진 노드를 저장하려고합니다 (아래 예 참조). Rexster (Rexster Dog House)와 함께 제공되는 웹 인터페이스의 노드를 볼 수 있지만 동일한 노드를 검색하는 것이 작동하지 않는 것처럼 그래프의 노드를 생성하는 것이 올바르게 작동합니다. 모든 것은 None
입니다.Rexster + Bulbs : 유니 코드 노드 속성 - 노드가 생성되었지만 찾을 수 없음
해당 속성에 유니 코드가 아닌 문자가 포함 된 노드를 만들고 찾을 때 모든 것이 예상대로 작동합니다. 예. 다음 예에서 name = u'University of Cambridge'
인 노드는 예상대로 검색 할 수 있습니다.
Rexster 버전 :
[INFO] Application - Rexster version [2.4.0]
예제 코드 :
# -*- coding: utf-8 -*-
from bulbs.rexster import Graph
from bulbs.model import Node
from bulbs.property import String
from bulbs.config import DEBUG
import bulbs
class University(Node):
element_type = 'university'
name = String(nullable=False, indexed=True)
g = Graph()
g.add_proxy('university', University)
g.config.set_logger(DEBUG)
name = u'Université de Montréal'
g.university.create(name=name)
print g.university.index.lookup(name=name)
print bulbs.__version__
명령 행에서 다음과 같은 출력 제공합니다 :
POST url: http://localhost:8182/graphs/emptygraph/tp/gremlin
POST body: {"params": {"keys": null, "index_name": "university", "data": {"element_type": "university", "name": "Universit\u00e9 de Montr\u00e9al"}}, "script": "def createIndexedVertex = {\n vertex = g.addVertex()\n index = g.idx(index_name)\n for (entry in data.entrySet()) {\n if (entry.value == null) continue;\n vertex.setProperty(entry.key,entry.value)\n if (keys == null || keys.contains(entry.key))\n\tindex.put(entry.key,String.valueOf(entry.value),vertex)\n }\n return vertex\n }\n def transaction = { final Closure closure ->\n try {\n results = closure();\n g.commit();\n return results; \n } catch (e) {\n g.rollback();\n throw e;\n }\n }\n return transaction(createIndexedVertex);"} GET url: http://localhost:8182/graphs/emptygraph/indices/university?value=Universit%C3%A9+de+Montr%C3%A9al&key=name
GET body: None None 0.3