±à¼ÍƼö: |
±¾ÎÄÖ÷Òª½éÉÜNeo4j
SpatialÓëNeo4j ServerµÄ¼¯³É£¬ÒÔ¼°ÓëGeoServer µÄ¼¯³É¡£
±¾ÎÄÀ´×Ô²©¿ÍÔ°£¬ÓÉ»ðÁú¹ûÈí¼þAnna±à¼¡¢ÍƼö¡£
|
|
Noted:ÓëGeoserverµÄ¼¯³É·½·¨¿ÉÐУ¬µ«ÊÇgeoserverÎÞ·¨ÏÔʾ·¢²¼Êý¾Ý¿âÄÚµÄͼ²ã¡££¨ÏµÍ³»·¾³:Ubuntu
12.04,Spatial 0.9,Neo4j 1.8M6,Geoserver 2.1.1)
1.Neo4j Server°²×°ÓëÅäÖÃ
1.1Neo4j Server °²×°
Neo4j¿ÉÒÔ°²×°³ÉÊý¾Ý¿â·þÎñÆ÷£¬Äܹ»ÒÑÓ¦ÓûòÕßϵͳ·þÎñÁ½ÖÖÐÎʽÔËÐÐÔÚ²Ù×÷ϵͳÖС£ËüÄÚÖÃÁËjetty
ºÍREST½Ó¿Ú£¬À´ÊµÏÖʹÓÃä¯ÀÀÆ÷¶ÔÊý¾Ý¿â²Ù×÷[17,18]¡£
ÔÚneo4j¹ÙÍøÏÂÔØÄãϲ»¶µÄ°æ±¾(ÐèҪѡÔñÄãµÄ²Ù×÷ϵͳ)
½âѹµ½Ìض¨Î»Ö㬽âѹ·¾¶±íÊöΪ$NEO4J_HOME (Èç/home/dev/neo4j/)
Æô¶¯½Å±¾ÔÚ$NEO4J_HOME/bin Îļþ¼ÐÏÂ,ÔÚLinux/MacOSÏ£¬ÔËÐÐ
$NEO4J_HOME/bin/neo4j start ÔÚWindow ֻҪ˫»÷%NEO4J_HOME%\bin\Neo4j.batÎļþ¼´¿É
ÎÒÃÇÒ²¿ÉÒÔ°´ÕÕµÚÒ»½²ËùÊö£¬½øÈëÔ´Âë°²×°µÄNeo4jµÄµÄbinÎļþ¼Ð($NEO4J_HOME/bin)ÃüÁîÆô¶¯£¬
cd $NEO4J_HOME/bin/
$NEO4J_HOME/bin/neo4j start
ÎÒÃÇÖ»ÐèÒª·ÃÎÊ http://localhost:7474/webadmin/ »á³öÏÖNeo4j µÄweb
¹ÜÀí½çÃæ£¬Èçͼ1Ëùʾ:

ͼ1 Neo4j Server¹ÜÀí½çÃæ
ÔÚWeb ¹ÜÀí½çÃæ£¬ÎÒÃÇ¿ÉÒԲ鿴Êý¾Ý¿âµÄ½Úµã£¬ÊôÐÔ£¬¹ØÏµÐÅÏ¢¡£»¹¿ÉÒÔͨ¹ýHttp £¬Shell ºÍGermlinÈýÖÖ·½Ê½À´¶ÔͼÊý¾Ý¿â×öCRUD¡£Èç¹ûÐèÒª½«Neo4j
Server ÒÔϵͳ·þÎñµÄ·½Ê½ÔËÐУ¬¿ÉÒÔ²éÔIJο¼ÎÄÏ×[17]
1.2Neo4j Server ÅäÖòÎÊý
Èç¹ûÎÒÃÇÐèÒª¶Ô·þÎñÆ÷µÄºó¶ËÊý¾Ý¿âÐÔÄܵ÷Óŵȣ¬¿ÉÒÔͨ¹ýServerµÄÅäÖÃÎļþÀ´Á˽âͼÊý¾Ý¿âµÄ¾ßÌå²ÎÊý¡£ÕâÐ©ÖØÒªµÄ²ÎÊý¶¼´æ´¢ÔÚ$NEO4J_HOME/conf/neo4j-server.propertiesÎļþÄÚ£¬°üÀ¨·þÎñÆ÷Êý¾Ý¿âÔÚ´ÅÅÌÉϵÄ·¾¶£º
org.neo4j.server.database.location
=data/graph.db
http ·þÎñÆ÷½Ó¿Ú:
org.neo4j.server.database.location
=data/graph.db
ÉèÖÃRESTÊý¾Ý½Ó¿ÚËùÄܹ»²Ù×ݵÄÊý¾Ý¿âµÄÏà¶Ô·¾¶
org.neo4j.server.webadmin.data.uri=/db/data/
µÈ¡£ÖÁÓÚNeo4jµÄÐÔÄܲÎÊýºÍÈÕÖ¾²ÎÊý·Ö±ð²Î¿´$NEO4J_HOME/conf/neo4j.properties,
$NEO4J_HOME/conf/logging.propertiesÁ½¸öÎļþ¡£
2.Neo4j ServerÓëSpatial¼¯³É
2.1 Neo4j ServerµÄSpatail²å¼þ°²×°
ÉϽ²ÎÒÃÇͨ¹ýÀûÓÃÔ´Âë°²×°ÁËneo4j spatial ,ÔÚ/targetĿ¼Ï»áÓÐÒ»¸öneo4j-spatial-0.9-SNAPSHOT
-server-plugin.zipÎļþ¡£Èç¹ûûÓУ¬¿ÉÒÔÔËÐÐÒÔÏÂÃüÁîÀ´»ñµÃ¸ÃÎļþ£º
git clone https://github.com/neo4j/spatial.git
cd ./spatial
mvn clean package -DskipTests
½«¸ÃÎļþ½âѹµ½£¬¸´ÖÆËùÓеÄjar°üµ½neo4j µÄlibÎļþ¼ÐÄÚ£¬È»ºóÖØÆôneo4j server¼´¿É¡£
2.2 Neo4j ServerµÄ¿Õ¼ä²Ù×÷
ÀûÓÃcurl[20]¹¤¾ßÄܹ»ÔÚÃüÁîÐÐÖжÔNeo4jʵÏÖ¿Õ¼äÊý¾Ý¶Áд£¬°üÀ¨²éѯ£¬Í¼²ã´´½¨£¬µã´´½¨µÈ¡£ÕâЩ¶¼ÊÇÒÔJSON¸ñʽÒÔhttpÐÒé¶ÔͼÊý¾Ý¿âµÄ²Ù×÷¡£
curl http://localhost:7474/db/data/
»á·µ»ØÊý¾Ý¿âµÄÕûÌåÐÅÏ¢£¬Èçͼ2Ëùʾ£º

ͼ2 ²éѯͼÊý¾Ý¿â
ÎÒÃÇ¿ÉÒÔ¿´µ½·µ»ØµÄJSONÊý¾ÝÖÐÓÐ"SpatialPlugin"¶ÔÏó£¬ËüµÄÊôÐÔ°üÀ¨addEditableLayer,getLayer,addNodeToLayerµÈ¡£ÎÒÃÇͨ¹ýcurlÃüÁîÀ´´´½¨Ãû×ÖΪ'test'µÈ¼òµ¥µãͼ²ã¡£
curl -d "layer=test" http://localhost:
7474/db/data/ext/SpatialPlugin/ graphdb/addSimplePointLayer
Èçͼ3Ëùʾ£º

ͼ3 Ìí¼Óµãͼ²ã
¿ÉÒÔ´ÓͼÖп´µ½Êý¾Ý¶ÓÐεÄÊôÐÔ£¬°üÀ¨Í¼²ãµÄÀ࣬ͼ²ãÃû³Æ£¬¼¸ºÎ±àÂëÀàÐÍ£¬´´½¨Ê±¼ä¡£È»ºóÌí¼ÓÈý¸öWell-Konw
text ¸ñʽµÄµã

È»ºóÖ´ÐÐÒ»¸ö·¶Î§²éѯ

·µ»ØÔڱ߽çÄڵĵãΪÁ½¸ö£¬Èçͼ4Ëùʾ£º

ͼ4 ·¶Î§²éѯ
3.ÓëGeoServer¼¯³É
GeoServerÊÇÒ»¿î»ùÓÚjavaµÄ¿ªÔ´µÄµØÍ¼·þÎñÆ÷£¬Ö§³Ö°üÀ¨shapefile£¬postgisµÈ¶àÖÖÊý¾ÝÔ´¡£neo4j
spatialÄܹ»ÒÔ²å¼þµÄÐÎʽÓëGeoServer¼¯³É¡£¼¯³É·½·¨ÈçÏ£º
½âѹneo4j-spatial-0.9- SNAPSHOT-server-plugin.zip£¬½«ÀïÃæ³ýÁËgt-*_8.0µÄjar°ü
¿½½øgeoserver/WEB-INF/lib Îļþ¼Ð
¸´ÖÆneo4j/lib ÀïÃæËùÓÐjar ½øÈëgeoserver/WEB-INF/lib Îļþ¼Ð
ÖØÆôgeoserver
ͨ¹ý·ÃÎÊGeoServerµØÖ· http://localhost:8080/geoserver/web/£¬ÎÒÃÇ¿ÉÒÔ¿´µ½Èçͼ-5Ëùʾ£¬neo4j¿ÉÒÔ×÷ΪgeoserverµÄºó¶Ë£¬ÌṩµØÍ¼·þÎñ¡£

ͼ5 neo4jÓëgeoserver¼¯³É
µ«ÊÇgeoserverÎÞ·¨ÏÔʾ£¬·¢²¼Êý¾Ý¿âÄÚµÄͼ²ã¡££¨ÏµÍ³»·¾³:Ubuntu 12.04,Spatial
0.9,Neo4j 1.8M6,Geoserver 2.1.1)
¾Ý˵ÊÇgeoserver
µÄÒ»¸öbug£¬»áÔÚ²»¾ÃºóÐÞ¸´¡£
|