我已经编写了一个运行OrientDB embedded的小应用程序。它工作得很好。我可以使用plocal连接从应用程序读取和写入数据库
现在我正在尝试从远程OrientDB客户端(从另一台PC)访问同一个数据库
我收到一条错误消息,告诉我数据库已锁定,无法访问
有没有办法解决这个问题,还是我做错了什么
使用Java和OriendB2.2.12,您可以尝试以下连接代码:
private static final String dbUrl = "remote:localhost/databaseNa
我刚刚使用图形数据库,对OrientDB中的From/To或In/Out的概念有点困惑
定义哪个顶点是从哪个顶点开始的,哪个顶点是到哪个顶点的最好方法?或者两者兼而有之,例如,在社交网络中,什么时候是联系关系。在我看来,这种混淆的大部分来自Apache TinkerPop的边缘符号。OrientDB历史上采用TinkerPop作为其图形API(这里有些东西正在改变,因此在V3.0中会有一个不依赖ApacheTinkerpop API的本机文档/图形API,但我们仍将保持对TinkerPop 3.
使用plocal:[dbPath]连接时是否可以检索可用存储?
db=新ODatabaseDocumentTxplocal:[路径];
db。?
谢谢。您可以使用:
Collection<OStorage> storages = Orient.instance().getStorages();
它检索所有打开的存储。获取名称调用。getName针对存储实例。您是指所有支持的存储类型,如本地、远程、本地和内存吗?嗨,lvca,我指的是数据库名称!谢谢,但是在pLocal模式下,我只
我正在使用带PLocal连接的OrientDb 2.0 M2版
的javadoc
OCommandRequest com.tinkerpop.blueprints.impls.orient.OrientBaseGraph.commandOCommandRequest iCommand
说
对图形执行命令。命令在事务外部执行
现在我想知道,是否可以在事务中执行我的SQL命令。对于当前版本,如果使用远程连接,则不可能。我使用本地连接。有可能吗?所以我想如果你嵌入了服务器,这应该也会起作用,对吧?@L
虽然这是演示图形数据库功能的最常见的用例之一,但我似乎找不到一个好的示例或最佳实践来使用OrientDB SQL获得朋友的朋友
让我们假设一个社交网络,并尝试用用户顶点对其进行建模,并且是有边的朋友
定义:
具有uuid自定义唯一id和名称属性的Vertex类用户
边缘类的属性状态可以是挂起的或已批准的
用户通过单向边缘相互连接。方向并不重要;只要status=approved,这两个用户就是朋友
这是我提出的一个解决方案:
select from (
select expand($al
我是OrientDB的新手。我有几个问题
在1中,我可以找到当前稳定版本的*.jar库列表,以访问OrientDB实例版本2.0.3。
我使用Java8
I connect to Orient DB from Java Spring. In pom.xml I write such lines:
<dependency>
<groupId>com.orientechnologies</groupId>
<artifactId>
我的ETL脚本如下所示:
{
"config" : { "log": "debug"},
"source": { "file": { "path": "C:/Users/60886/person.csv" } },
"extractor": { "row": {} },
"transformers": [
{ "csv": {} },
{ "vertex": { "class": "Person" } }
我正在尝试遍历一些节点,我希望在到达的最远节点与特定条件匹配时停止遍历
我的数据是一些顺序连接的节点-这里有一个示例数据创建脚本请注意,这与我的实际数据相比简化了很多,只是为了说明问题:
create database plocal:people
create class Person extends V
create property Person.name string
create property Person.age float
create property Person.ident
在我们的应用程序中,我们使用GraphAPI和ObjectAPI。然而,当我们试图获得一个连接时,我们会得到一个处于关闭状态的连接
在跟踪代码时,我遇到了pollGraphFromStack,它似乎负责将最后一个连接放回本地线程。但是,我们会在每次操作后关闭数据库,因此不希望关闭的连接位于堆栈上
我们能做些什么来解决这个问题
我使用的是最新的Orient版本(2.1.9)。我们的应用程序是多线程的,通常不会出现错误。但是JUnit一直存在这个问题,它为我们模拟了一些代码流
感谢您的帮助。
谢谢这
我有一个名为BaseData的超类和一个派生类MyData
首先,我在我的MyData类中添加了名为period的属性
在此之后,由studio在我的BaseData上添加了名为period的相同属性
在这之后。我已重新启动服务器,此时我无法访问Orient DB服务器,出现以下错误:
错误:com.orientechnologies.common.exception.OException:创建共享资源时出错
错误:com.orientechnologies.orient.core.except
我一直在查阅文档。我只是想找到一个简单的例子,来识别标题中提到的两个顶点是否相互连接。这适用于使用tinkerpop API蓝图2.6的OrientDB 3。
前任:
顶点v1;
顶点v2
boolean connected = false;
connected = <somefunction returns true/false if v1 and v2 connected by an edge>;
boolean connected=false;
连通=;
如果有人看到过类
在向vertex clas添加新的强制属性后,我无法删除此类的现有记录,并收到以下异常-
orientdb {db=VehicleHistoryGraph}> DELETE VERTEX MESSAGE
Error: com.orientechnologies.orient.core.exception.OValidationException: The fie ld 'Message.messageId' is mandatory, but not found on record: M
我正在使用orientdb 2.1.3。新添加的记录采用修改后的名称。但现有记录仍具有旧名称。您可以使用“更新类删除oldProperty”删除oldProperty。您可以使用“更新类删除oldProperty”删除oldProperty
我知道在图形数据库中,关系是在插入之后创建的,而不是字段到字段的关系,它们是记录到记录的关系。如果我的理解是正确的,那么当我从CSV文件导入一百万条记录并需要将它们与另一个表中的记录关联时,我需要做什么
在插入之前,是否可以在设计时删除关系(边),以便在插入记录时,该记录已经存在关系
我的数据库详细信息如下
create class Country extends V
create class Immigrant extends V
create class comesFrom extends
OrientDB对更高级别结构(如多维数据集单元、维度、OLAP/BI)的支持总体状况如何?分析函数/窗口函数?这些在高端数据库(Oracle、MSSQL、Postgres)中很常见。谢谢。我也在想同样的问题,并建议它是一个OLAP数据库
Titan、OrientDB、Neo4j是OLTP工具的示例
你好。我最近安装了OrientDB并测试了复制,我只想知道,如果您有多个数据库并且不希望复制所有数据库,是否可以只复制单个数据库,或者在配置中设置需要复制的数据库
我不知道这个问题是否已经得到了回答,我还没有在网上找到一个能告诉我这一点的答案
希望有人能帮我
提前感谢。如果您想复制数据库,例如在另一个版本的OrientDB中,您有不同的方法:
1) 导出/导入数据库
2) 将文件夹复制并粘贴到新版本的数据库文件夹中
否则,如果要复制数据库,OrientDB支持多主机复制。这意味着集群中的所有节点
我有一个由两个节点组成的集群,即两个OrientDB服务器,运行在两台独立的机器上,这两台机器都有enterprise edition 2.2.3。这两台机器都是具有fedora OS 18的VM。orientDB数据库由大约75000条边和5000个节点组成
当我尝试一个接一个地停止任何节点或两个节点时,出现以下错误:
节点1
2017-05-02 17:32:44:811 WARNI Received signal: SIGINT [OSignalHandler]Exception in t
在orientDB中插入大约200万行之后,我注意到DB的大小已经增长到了将近500MB(即使在我删除WAL之后)。该数据库只有一个类和具有5个属性的顶点
SQLITE ws 16 MB大小的类似数据库。我可以做些什么来缩小Orient DB中的数据库大小吗
提前谢谢。你有什么索引吗?创建类时,可以只使用1个集群(默认情况下有X个文件,其中X是核心数)。尝试删除x类,然后创建x类群集1是否定义了属性索引?应该提供架构的所有详细信息,属性的大小和数量不够。你有索引吗?创建类时,可以只使用1个集群(
我有两个计数,计算如下:
1) g.V().hasLabel('brand')。其中('client_brand').count()是(gt(0)).count()
2) g.V().hasLabel('brand').count()
我想得到一行代码,第一个数除以第二个数 这里有一种方法:
g.V().hasLabel('brand').
fold().as('a','b').
math('a/b').
by(unfold().where(inE('client_brand')
我有一个具有属性名称和文本的类etest1。然后我有一个类etest2,其属性为lala和etest(嵌入式etest1)。但我无法插入任何内容
如果我这样做:
insert into etest2 content {"lala" : "test lala", etest : {"name" : "das", "text" : "dasd"}}
insert into etest2 content {"lala" : "test lala", etest : "#17:10"}
我得到一个异
我有一个数据库,大约有300000个用户,这些用户之间有800000个关系,这些数据可以描述为:
用户-联系人->用户
我想知道特定用户可能拥有的新联系人的数量,因此我编写了此查询以了解此数量:
选择COUNT*FROM TRAVERSE OUT FROM SELECT FROM Usuario,其中user\u id=12345,而$depth通过将NOTUNIQUE\u HASH\u索引放在字段user\u id中,可以得到很好的改进
编辑1
另一个提示是,您可以尝试使用“maxdepth”
我试图查询链接到我正在查询的顶点(a)的顶点(B)。我尝试了下面的查询,但它返回的是链接顶点(B),而不是我选择的顶点(A)
select expand(out(A)[title='xyz']) from A
这将返回B中的所有顶点。我需要知道这如何符合where子句。我创建此结构是为了尝试您的情况:
我有以下选项来获得您想要的结果:
查询1:
select from A where out(E)[title='xyz'].size() > 0
----+-----+------+-
我试过:
Map<String, ODocument> myEntries = new HashMap<>();
//fill the map
...
doc.field("mymap", myEntries, OType.EMBEDDEDMAP);
mapmentries=newhashmap();
//填图
...
文档字段(“mymap”、myEntries、OType.EMBEDDEDMAP);
但它给了我:
java.lang.ClassCastExcept
我有一些“产品”类的顶点,它们可以被“用户”类“查看”或“排序”。。
我的问题是,我想编写SQL查询或匹配命令来获取特定用户“查看”的所有产品,但没有任何用户订购。。
如何检查MATCH命令中的“产品”和“用户”之间不存在“已订购”关系
例如:
ProductA我想你可以使用这个查询
select from Product where in("viewed").@rid contains userRid and in("ordered").size()=0
希望有帮助。我想你可以用这个查询
s
我正在尝试使用OrientDB解决一个简单的匹配查询
我会向用户A推荐与用户B相同的产品p
当我尝试此查询时,我收到一个错误,该错误表示“第1行第33列出错”
你有什么建议来解决我的问题吗
谢谢
Rob如果在最后一个模式结束时错过了一个:,请尝试以下操作
SELECT d1.UserId, d2.UserId FROM (
MATCH
{class:User, as: U1} -buy-> {class:Product, as:P},
{class:User, as: U2}
我有一个用例,其中3个节点由2条边连接
在下面的示例中,如何约束节点之间的关系,以便只能从A1到C1和A2到C2遍历图形,但不能从A1到C2或A2到C1
A1 B1 C1
A2 B1 C2
示例用例:
角色(A)由(边缘)演员(B)在(边缘)电影中扮演(C)
一个演员可以在多部电影中扮演多个角色,但并非所有角色都出现在演员链接的所有电影中。这是一种多对一对多的关系,其中a也链接到C。我不确定您想要什么。请给出一个结果示例,说明您希望查询返回什么。我不确定您想要什么。给出一个您希望查询返回的结果示
我想在OrientDB中执行查询,但我不知道它是如何工作的
我正在使用Graph API,我的数据库如下所示:
等级(V):@路线(名称、起点、长度、目标)
五级:方向(目标、长度)
(E)级:@有A
等级(E):@开始方向
(E)级:@有跟随者
边与顶点的连接方式如下:
路线->有一个->方向
路线->开始方向->方向
方向->有跟随者->方向
现在我需要根据路线的名称找到所有追随者,
到目前为止,当我直接向查询输入一个rid(类startDirection)时,它是有效的,例如:
selec
如何在Orientdb中获得图形的深度遍历。
在这里使用文档是我尝试的,但是当我运行时,我得到一个错误,这就是查询
EXPLAIN SELECT FROM (TRAVERSE any("Edge1") FROM P_H WHILE $depth <= 3) WHERE p ='SP00000000001';
任何帮助都将不胜感激最简单的方法是使用匹配语句:
匹配
{class:Node,as:n,其中:(NodeID=“SP00000000001”)-EdgeClass-{as:d,wh
我正在使用OrientDB3.0.1
我使用以下方法创建了EmbeddelList属性:
CREATE PROPERTY MyClass.property1 EMBEDDEDLIST
使用sql,一切都可以正常工作(读、写)
但是,我想要一个只包含特定类型文档的嵌入式列表,我想要做的是这样的事情:
CREATE PROPERTY MyClass.property2 EMBEDDEDLIST AnotherClass
然后我想这样做:
insert into MyClass content {
给出6个节点(a、B、C、D、E、F)的示例图
和有向边[A,B],[B,A],[A,D],[B,C],[C,B],[B,E],[E,B],[C,F],[F,C]。边“加权”的概率值为float,介于0和1之间
create class Node extends V;
create property Node.value string;
insert into Node (value) values ('A');
insert into Node (value) values ('B');
i
OrientDB链接如何实际工作
例如,如果两个节点连接在一起,它们知道彼此的物理位置(由集群id和集群中的节点id给出),那么当我将其中一个移动到其他位置时,物理引用会发生什么变化?一切都会自动更新吗?这方面有消息来源吗
关于O(1)关系的复杂性也是一样,我没有发现这方面的任何东西(只有“OrientDB将关系处理为指向记录的物理链接,并且在创建边缘时只分配一次。也就是说,O(1)”)
我找到的唯一信息是
我需要更具体的信息
更新:感谢卢卡·加鲁利找到了我需要的信息
物理位置更新:移动
我希望进行类似于中所述的查询:
SELECT*,$distance FROM Class,其中[,$spatical]靠近[lat,lon,{“maxDistance”:distance}]
(我还想按$distance进行排序,我还没有尝试过,但希望是可行的)
表示它是上述空间索引功能的“替代品”
如果spatial module是spatial index的替代品,是否有一种新的方法来实现spatial module的spatial indexNEAR功能,或者旧的spatial inde
我通过Java API使用orientDB 2.2.7,并创建了以下顶点:
Vertex Car
Vertex Driver
Edge Co-Owner
对于每辆车,它最多只能得到五个车主,我已经通过代码以一种简单的方式做到了这一点,我的问题是orientDB中是否有任何机制可以限制可以添加到vertex car的共有人类型的边的数量?我使用了这个小测试用例,我希望与您的类似
创建类汽车扩展V
创建类驱动程序扩展V
创建类CoOwner扩展E,OTriggered
ALTER CLASS Co
有没有SQL方法可以实现OrientDB深度克隆
或者,是否有一种javascript服务器功能(在orientdb studio中)方法可以实现它?我尝试使用这个小图
我使用了这个服务器端javascript函数
var g=orient.getGraph();
var myedge=g.command("sql","select @class as myclass,out,in from e");
for(i=0;i<myedge.length;i++){
var myEd
运行此查询后,我是OrientDb的新手
select * from V_User
然后我将使用toJSON()方法。它将返回完整的json,其中还包含meta标记信息
"@type":"d",
"@rid":"#28:0",
"@version":1,
"@class":"V_User",
但是当我将toJSON()与fetchplan一起使用时,即toJSON(“fetchplan::::-1”),它将返回内部边缘信息,但删除了元标记信息,即删除了此信息
"@type":"d",
"@r
OrientDB的console.sh有一个INDEXES命令,该命令提供所有现有索引的列表,如下所示:
+----+-------------------+-----------------+-------+------------+-------+-----------------+
|# |NAME |TYPE |RECORDS|CLASS |COLLATE|FIELDS |
+----+-------
我喜欢OrientDB 2.2.x。Eazy安装和配置,包括Gremlin graph(2.6.0)。但我们的团队需要TinkerPop Gremlin 3.0。我知道这将在OrientDB 3.0版本中提供,该版本将在未来几个月发布。我现在想使用orientdb gremlin的develop分支进行尝试。
有关安装和配置OrientDB GA版本的文档非常丰富。然而,我很难为orientdb gremlin的开发分支找到答案。我在这里看到了OrientDB(而不是OrientDB grem
因此,通过查询,您可以轻松获得到某个顶点的特定类的所有连接
从Foo中选择,其中两者均为42:1
这将获得类Foo的所有顶点,这些顶点通过出站或入站链接连接到顶点42:1
然而,如果我想要得到所有连接到42:1的顶点,而这些顶点不是类Foo的实例,那么查询会是什么呢
OrientDB本机是否支持此功能,或者我是否必须执行类似交叉口的操作?为什么不使用
SELECT * FROM (
... your select query
)
WHERE @class <> 'Foo'
另一种方
这是一个更大问题的摘录:
BEGIN
let $project = SELECT FROM Project where id=:projectId
let $counter = update Project INCREMENT seq=1 RETURN AFTER $current.seq where @rid=project[0].rid
COMMIT
return $project[0]
我正在尝试使用$project变量更新项目。我想最好的方法是从这个变量中提取@rid
在上面的查询
我对orientdb中的查询有一些疑问。我有以下情况:
例如:
Performs Uses RunsOn IsConnected
用户-->进程-->应用程序-->服务器-->网络
这里,用户/进程/应用程序/服务器/网络是顶点名称
Performs/Uses/RunsOn/IsConnected是边缘名称/关系名称
osType/applicationName是相关顶点的属性名称
现在,我想要根据输入得到所有相关的组合结果。如果输入类似于服务器的osTy
我尝试了以下方法来创建Person节点。但它不起作用
class Person(Node):
id = String(unique = True)
name = String()
我做错了什么?您可以使用“命令”语句:
原始查询..:\为什么要避免这些?难以维护原始查询
person = {
'Person' : Person(name='Record', id = 1004).__dict__
}
client.record_create(0, person)
考虑以下代码:
private void testMMAPIinLab() {
OrientDB orientDB = new OrientDB("remote:localhost",OrientDBConfig.defaultConfig());
OrientDBConfigBuilder poolCfg = OrientDBConfig.builder();
poolCfg.addConfig(OGlobalConfiguration.D
我无法使用配置分布式数据库
我正在使用orientdb社区1.7.5版。
这些节点无法相互连接。我在同一台服务器上配置它,并遵循了上面链接中给出的每一条指令
更新:
之前没有任何错误,但上次我尝试时出现了此错误。
这里没有任何错误。但上次我试的时候,错误率低于
00:55:15:315 INFO [152.144.227.223]:2434 [orientdb] [3.2.2] Accepting socket connection from /152.144.227.223:56818 [So
我正在尝试使用SQL查询创建类“from”的边缘。但它失败了。
我猜“from”会把它和SQL混淆
从不存在的扩展关系创建类
例外情况:
com.orientechnologies.orient.core.exception.OCommandExecutionException:
无效脚本:在第22行遇到“CREATE\”,
列1。\n应为下列之一:\n…\n\“;\”…\n
…\n\r\n\tDB name=\“xagon”
您应该从以下内容中反勾选:
CREATE CLASS `from`
是否可以在更新操作中使用匹配?我试过这样的方法:
UPDATE (MATCH...RETURN...) SET...
我认为它会起作用,因为这样做:
UPDATE #12:34 SET...
但我还没有成功地想出任何语法
因此,如果支持这一点,正确的语法是什么?是的,您可以这样做,但匹配必须返回持久记录,例如
返回$elements
或(在V3.0中)
返回展开(x)
如果你使用V 3,请考虑你给了我一个发现bug的机会(谢谢!),所以在RC2上你将有一个Null PoExtExchange
我使用这个配置:
{
"autoDeploy": true, (Also I have tried false value)
"readQuorum": 1,
"writeQuorum": "majority",
"executionMode": "undefined",
"readYourWrites": true,
"newNodeStrategy": "static",
"servers": {
"*": "master"
},
"cluster
下面的代码按名称对所有userProfileTemplates进行分组,查找其中存在重复项的位置,然后在名称计数大于1的位置投影userProfileTemplate的名称。我想按名称查找重复项,但我想执行它,因为Id列表是userProfileTemplate的一个属性。有什么建议吗
g、 V.hasLabel'userProfileTemplate'。group.byvalues'name'。fold.unfold.filterselectvalues.countlocal.isgt1.se
我正在开发一个新的软件,我想对数据库中的值进行加密。我们正在使用OrientDB,并尝试使用tinkerpop库来实现该项目。我这里有点卡住了
对于一个函数,我需要拉一个类型的所有顶点的列表并返回它们。我有person对象的带注释的接口,现在我添加了加密和解密必要字段的方法。但当我解密它们时,它会将解密后的值保存回数据库
有没有一种方法可以覆盖getter和setter以在此时处理加密/解密,或者在执行解密之前需要将模型与数据库分离
以下是我的界面代码:
public interface iPe
我需要在OrientDB REST函数中存储密码的SHA-256散列,以便使用它对用户进行身份验证。对REST函数的传入调用将包含密码(通过HTTPS),但我希望生成一个散列并存储该密码,而不是密码本身
但是,OrientDB不公开任何帮助程序来执行此操作。而且straight javascript也没有帮助程序来执行此操作。。。我能让这一切发生吗
(一个明显的选择是把它放在中间层,然后传递到OrientDB,但我宁愿把它保存在数据库层) ,可以使用类似于的JavaScript函数使用OsCur
不幸的是,我在orient DB中使用了“delete…”而不是“delete vertex…”来删除一些顶点。
因此,现在所有连接到这些顶点的边仍然存在,并导致了问题。
解释-有一些顶点,与一些边相关(如果我使用了“删除顶点”命令,应该删除这些顶点),
对于这些边,我可以在“in”和“out”列中看到值,但对于边的一侧,其点所在的顶点实际上并不存在。
我怎样才能解决这个问题?
为什么要查询所有这些边以便删除它们
谢谢 您可以使用(从控制台、plocal)
要在顶点或边文档上执行普通的DELET
上一页 1 2 3 4 5 6 ...
下一页 最后一页 共 24 页