我主要通过vi命令从终端使用vim .
我想创建并保存一个名为getting started.txt的文件(两个单词之间有空格).我尝试了两种方法:
:sav getting started.txt
Run Code Online (Sandbox Code Playgroud)
但是我收到一个错误: E172: Only one file name allowed
:sav "getting started.txt"
Run Code Online (Sandbox Code Playgroud)
这次我得到了: E471: Argument required
我怎样才能实现我的目标?
我正在玩2.0 M6 neo4j服务器(win7 64上的oracle jdk7).
我正在尝试使用REST API上的单个cypher查询删除节点及其关系.
我创建的查询(如果我在浏览器UI中运行它可以工作)看起来像:
START n = node( 1916 ) MATCH n-[r]-() DELETE n, r
Run Code Online (Sandbox Code Playgroud)
当我把它通过gson时,它出现为:
{"query":"START n \u003d node( 1916 ) MATCH n-[r]-() DELETE n, r"}
Run Code Online (Sandbox Code Playgroud)
发送到服务器时获取响应:
{
"columns" : [ ],
"data" : [ ]
}
Run Code Online (Sandbox Code Playgroud)
我的测试失败,因为仍然可以通过其id在neo4j服务器中找到该节点...
如果我简化我的查询只是删除一个节点(没有关系)所以它:
START n = node( 1920 ) DELETE n
Run Code Online (Sandbox Code Playgroud)
哪个成了
{"query":"START n \u003d node( 1920 ) DELETE n"}
Run Code Online (Sandbox Code Playgroud)
然后删除该节点.
我错过了什么吗?
谢谢,安迪
在Neo4j的google小组发表这篇文章之后,我不得不说在使用这种多标签的东西时我没有看到任何好处,相反,相反,恕我直言,它只是增加了唯一性约束的复杂性.它还可能诱使用户将继承引入数据模型,这会导致挫败感,因为根本不可能......
我知道这个话题在互联网上广泛传播,但我整个上午都在寻找一个解决方案而没有任何帮助.
我想在osx-terminal中使用vim与solarized colorscheme.
所以我下载了solarized.vim文件,将其复制到/ usr/share/vim/colors中并写入
let g:solarized_termcolors=256
set background=dark
colorscheme solarized
Run Code Online (Sandbox Code Playgroud)
在.vimrc中.
在首选项中,终端设置为xterm-256color,但颜色仍然混乱.
我所做的,正是你在这里找到的.
那么,我做错了什么?
我下载了Freebase的数据库转储.该文件的格式是rdf turtle.我需要将所有数据都存入neo4j数据库.
我已经在tinkerpop.blueprints的帮助下写了一个导入器.首先它似乎工作,但导致异常发生30分钟后,因为rdf文件包含不允许的位置的字符.稍后(经过一些调查)我发现我使用的jena解析器(RDFReader)已被弃用,不应该使用.
我现在需要知道的是:
有没有办法将该rdf文件导入neo4j?Jena能够将数据转换为七种不同的文件格式:.ttl,.rdf,.ne,.jsonld,.owl,.trig,.nq.
是否有一个(或多个)这些文件格式的导入程序?
我正在尝试以用户指定的语言返回内容,或者如果未在所选语言中找到内容,则返回默认语言(英语).似乎不支持从collect语句返回对象.有没有办法达到类似的结果呢?
现在的查询:
MATCH (meta:contentMeta)<-[metaLang:HAS_META]-(content:content)-[:TAGGED_WITH]-(termNode:term)-[lang:HAS_LANGUAGE]-(langNode:termMeta)
WHERE
metaLang.languageCode = {language}
OR metaLang.languageCode = {defaultLanguage}
AND lang.languageCode = {language}
OR lang.languageCode = {defaultLanguage}
RETURN DISTINCT collect(langNode.name) AS terms,
content.displayType AS displayType,
content.savedAs AS savedAs,
content.webURL AS webURL,
content.embedSrc AS embedsrc,
content.UUID AS UUID
LIMIT 15
Run Code Online (Sandbox Code Playgroud)
问题是我真正想要返回的是一个具有节点名称和语言代码的对象.就像是:
collect(langNode.name, langNode.languageCode) AS terms
Run Code Online (Sandbox Code Playgroud)
或这个:
collect(langNode.name) AS terms.name,
collect(langNode.languageCode) AS terms.languageCode
Run Code Online (Sandbox Code Playgroud)
当然,这种语法不起作用.这有什么简单的解决方案吗?
在我的Neo4j(2.1.1社区版)数据库中,我有Lucene遗留索引,称为node_auto_index:
GET http://localhost:7474/db/data/index/node/
{
"node_auto_index": {
"template": "http://localhost:7474/db/data/index/node/node_auto_index/{key}/{value}",
"provider": "lucene",
"type": "exact"
}
}
Run Code Online (Sandbox Code Playgroud)
现在我想将类型从"exact"更改为"fulltext".我怎么能用REST做到这一点?我尝试了以下方法,但它们都没有工作:
我在重新创建"fulltext"之前尝试删除它,但它是只读的:
DELETE http://localhost:7474/db/data/index/node/node_auto_index/node_auto_index
{
"message": "read only index",
"exception": "UnsupportedOperationException",
"fullname": "java.lang.UnsupportedOperationException",
"stacktrace": [
"org.neo4j.kernel.impl.coreapi.AbstractAutoIndexerImpl$ReadOnlyIndexToIndexAdapter.readOnlyIndex(AbstractAutoIndexerImpl.java:254)",
"org.neo4j.kernel.impl.coreapi.AbstractAutoIndexerImpl$ReadOnlyIndexToIndexAdapter.delete(AbstractAutoIndexerImpl.java:290)",
"org.neo4j.server.rest.web.DatabaseActions.removeNodeIndex(DatabaseActions.java:437)",
"org.neo4j.server.rest.web.RestfulGraphDatabase.deleteNodeIndex(RestfulGraphDatabase.java:935)",
"java.lang.reflect.Method.invoke(Unknown Source)",
"org.neo4j.server.rest.transactional.TransactionalRequestDispatcher.dispatch(TransactionalRequestDispatcher.java:139)",
"java.lang.Thread.run(Unknown Source)"
]
}
Run Code Online (Sandbox Code Playgroud)
POST http://localhost:7474/db/data/index/node/
{
"name" : "node_auto_index",
"config" : {
"to_lower_case" : "true",
"type" : "fulltext",
"provider" : "lucene"
}
}
Run Code Online (Sandbox Code Playgroud)
{
"message": "Supplied index configuration:\n{to_lower_case=true, type=fulltext, provider=lucene}\ndoesn't match stored config in a valid …Run Code Online (Sandbox Code Playgroud) 我使用隐士推理器和Java加载了Neo4j和Pizza.owl文件.当我通过一个简单的查询:
match (n) where n="name:Pizza" return n;
Run Code Online (Sandbox Code Playgroud)
我收到以下错误
Don't know how to compare that. Left: Node[1]{name:"owl:Thing"} (NodeProxy); Right: "name:Pizza" (String)
Run Code Online (Sandbox Code Playgroud)
NodeProxy是数据类型吗?我怎样才能让他们两个进行比较.我可以在查询时进行投射吗?是否有任何查询来更改整个图节点的数据类型?如何检查节点的类型?
我遇到一个简单的密码查询问题.查询是:
MATCH (u:user { google_id : 'example_user' })--(rm:room)--(a:area),
(c:category { name : 'culture:Yoruba' })--(o:object)
WHERE NOT (a-[:CONTAINS]->o)
RETURN DISTINCT o.id
Run Code Online (Sandbox Code Playgroud)
"WHERE NOT .."被忽略了,我从区域节点返回带有传入的节点:CONTAINS关系.如果我取出"NOT"函数,那么我正确地只返回具有这种 - > o关系的节点.
我想我对NOT()的理解很弱
这是我在Cypher中的Neo4j代码的一部分:
CREATE
(search{id : '0', title : 'Begin Search'}),
(telephone { id : '2' , title : 'Telephone' }),
(tablet { id : '1' , title : 'Tablet' }),
(printer { id : '3' , title : 'Printer' }),
(scanner { id : '4' , title : 'Scanner' }),
(laptop { id : '5' , title : 'Laptop' }),
(pc { id : '6' , title : 'Personal Computer' }),
(monitor { id : '7' , title : 'Monitor' }), …Run Code Online (Sandbox Code Playgroud)