我正在通过一个数据库实例从Oracle移植到OrientDB。在Oracle中,我们使用over(PARTITION BY)来过滤数据,但我还没有找到一种在OrientDB中实现这一点的可用方法
我们有一个车辆表和位置表。在我们的模型中,车辆可以有多个位置和一个或多个当前位置。在Oracle中,我们通过在视图定义中执行以下操作,设置了一个管理当前位置的视图:
SELECT LOCATION_ID, VEHICLE_ID, TIME (
FROM SELECT LOCATION ID, VEH
考虑到以下测试:
//设置
OClass driver=getDatabase().getMetadata().getSchema().createClass(驱动程序);
OClass car=getDatabase().getMetadata().getSchema().createClass(car);
car.createProperty(DRIVERS,OType.EMBEDDEDLIST,driver);
OClass team=getDatabase().getMetadata()
我想运行多行查询/批处理查询,但在orientdb 2.2社区版的studio和控制台中都无法运行。有什么我需要做的吗?我确信我这一方缺少了什么
script sql
LET $a =
MATCH
{class:Member, as:m};
select expand($a.m);
end;
在v 2.2中,换行符被视为语句分隔符,因此必须在单行上编写查询:
script sql
LET $a = MATCH {class:Member, as:m} RETURN
我们正试图在分布式模式下扩展OrientDB,但却面临性能瓶颈
我们的用例
数据模型和处理方法:
我们从卡夫卡读取子图消息,并将其持久化/附加到数据库中的图中。子图消息可以包含要在图中保存/更新的多个顶点/边。这些顶点/边可能存在于数据库中,也可能不存在于数据库中,因此我们必须首先查询数据库中是否存在这些顶点/边。如果它们存在,我们必须检查是否有任何属性被更改,并且必须相应地执行更新操作顶点分为两种类型并具有大约10到15个属性,而边分为两种类型,仅具有3个属性。服务并行使用来自16个kafka
我尝试过文档和控制台,但没有找到一种方法来实现这一点
具有特性A的顶点、具有特性B的顶点和具有连接标签的边
我想找出连接这两个顶点的边,并得到边的id
我没能做到这一点。我能行
select from (SELECT EXPAND(BOTH('Connected')) FROM Tag WHERE prop='A') where prop='B'
但我需要得到优势@rid。如果我把两者都改为两者,那么我怎么能特别要求带有B道具的标签呢
我也尝试过这样做:
SELECT FROM Connect
尝试使用orientdb和orientjs完成事务时收到错误。以下是错误:
2015-10-21 15:48:33:868 FINE [node1442848110394] Distributed transaction: locked record #12:19 in database 'MyDb' owned by server 'node1442848110394' [OHazelcastDistributedDatabase]
2015-10-21 15:48:33:868 FINE
希望是一个快速的-我正在努力使一个让声明工作
我有一个关于人的顶点的数据库。顶点有ident字段和name字段。此查询返回一行-一个名为Bob的人
select from Person where ident = 1
我想返回与此人同名的所有行。数据中有两个BOB(作为证明,以下查询返回两行):
我认为以下所有查询都应该返回相同的两行,但它们都返回0行。它们都涉及使用let语句的不同方式。有人能看出我做错了什么吗
select name from Person
let $tmp = (se
我有一个关于OrientSQL查询的语义问题
以这个非常简单的图表为例:
v(#12:1 User) --> e(#13:1 FriendOf) --> v(#12:2 User)
换句话说,一个rid为12:1的给定用户与另一个rid为12:2的用户是朋友
为了获得用户12:1的朋友,可以用Orient SQL这样表达:
SELECT EXPAND(both("FriendOf")) FROM #12:1
此查询将返回由rid为12:2的用户组成的结果列表
现在让我们假设我想通
我试图通过从Java运行OrientDb命令来获取多个值。具体地说,我试图得到一个顶点列表,这些顶点链接到一个顶点和@rid的边
例如,如果顶点V1通过边E1链接到顶点V2,则我对V1的查询应返回@rid of E1和V2
我可以在Orient Studio中通过运行以下查询来实现这一点:
select @rid, expand(in) from ExampleEdge where out = '#14:33'
如何用Java编写上述查询?所有示例仅显示单值结果,如:
Iterable<
我有OriendB2.1.4集群,包含3个基本配置的节点。我在hazelcast.xml中所做的唯一更改是将多播替换为隐式tcp ip主机列表
在向DB select发出大量无连接请求(结果集中约300k行)后,OrientDB停止响应来自应用程序OrientDB Studio的网络连接尝试。OrientDB Studio仍在工作,以下异常持续出现在日志中:
在主节点上
2016-02-24 10:02:17:647 INFO [10.10.10.124]:2434 [zertodb] [3.
我写网络游戏。对于游戏逻辑,我需要从数据库中选择random usersetc。如何通过JavaAPI实现这一点?最有效的方法是什么
我可以使用类似于epseudocode的东西:从用户skiprandoum0、用户scont limit 1中进行选择,但是如何写入文档-skip的性能很差。我已经尝试过使用此代码
int numberRandom= 5;
String string="[";
int cluster= db.getMetadata().getSchema().getClass("
“如果不存在,则插入”的惯用方法是什么
这可以在没有事务的情况下完成吗?尝试以下方法:
如果记录不存在,则使用upsert创建记录,除非它更新
var OrientDB = require('orientjs');
var server = OrientDB({
host: 'localhost',
port: 2424,
username: 'root',
password: 'root'
});
var db = server.use({
我需要计算在OrientDB上实现的非循环图的生成树。我正在寻找的生成树是这样构建的,即只应保留从根到分支或叶的最长路径。例如,如果您可以在树根和给定分支之间的直接链接(边)与穿过同一根和同一分支之间多个分支的第二条路径之间进行选择,则只应保留后一条路径(边)来构建最终的树(生成树:)
如何在OrientDB中计算生成树?OrientDB中是否有类似于ShortestPath()或dijkstra()的函数,可以轻松地完成此任务?非常感谢你的帮助
问候
在java中,您可以使用类似的代码
imp
我有一个OrientDB的本地实例(版本:2.2.20),我将其用作图形数据库。当我试图从DB客户端实例创建新数据库时,它给出了超时错误。代码如下所示
import pyorient
####establishing connection with OrientDB
client=pyorient.OrientDB('localhost',2424)
session_id=client.connect('root','kavin')
####connect to database
####
我在数据库中有一条记录
在事务中,我要执行以下操作:
创建一个记录B
将A的父属性链接到B:A.parent=B.@rid
问题是,在事务处理期间,我得到一个临时的负记录id。
所以@rid有一个负的位置id。
如何使用它在同一事务中设置链接
谢谢负面RID表示这是暂时的。
提交事务时,将分配一个真正的RID,提交后RID将更改并在对象中更新
在页面末尾,您可以看到交易是如何运作的谢谢您的回答:您是说我无法在一笔交易中做到这一点吗?我不这么认为,对不起
我正在使用OrientDB-3.1.2。我可以从浏览器连接OrientDB,但从代码来看,它无法连接到db。
这是我的代码片段
private static OrientGraphFactory gFactory;
private OrientGraph graphDB;
gFactory = new OrientGraphFactory("remote:localhost:2480/<db-name>").setupPool(0, 40);
this.graph
我正在尝试让Orient DB运行嵌入式和分布式。现在,如果hazelcast插件处于活动状态,每当我打开本地数据库时,我都会遇到StackOverflower错误。当我关闭hazelcast插件时,一切都很好
OrientDB陷入了这个循环:
at com.orientechnologies.orient.server.distributed.ODistributedAbstractPlugin.onOpen(ODistributedAbstractPlugin.java:141)
at co
我有一个包含类、用户、组和网络的数据库。用户可以拥有组或网络的边缘。组只能对网络具有外边缘。有三种不同类型的边:管理、写入和读取
我希望能够检索用户有权访问的网络。最简单的方法是查看连接用户、组和网络的边缘。我正在尝试以下方法:
select from (traverse out() from <User Record RID>
while $depth <=2
在我的项目中,我通过Orientdb的RESTAPI发送Gremlin脚本。
我在返回图形遍历期间收集的集合内的值时遇到问题
我有一个简单的图形设置
User-- FollowsMovies -- > Movies
User-- FollowsActors -- > Actors
u= g.v('12:1');
following= [] as Set;
u.as('x').out('FollowsMovies').aggregate(following).back('x').o
我想在OrientDB控制台上执行存储在文本文件中的查询
我当前指的是批处理模式,但出现无法识别的命令错误。您必须从终端进入OrientDb版本的文件夹“bin”
您必须给出文件.txt的命令console.bat路径,我尝试了上一个快照,这个console命令没有问题。
在你的file.txt文件中,确保你没有漏掉任何分号,可能你的文件中有一些解析问题或任何其他sintaxt/typo问题,因此orient找不到适合某些字符串的命令,不知道你是否可以发布代码。。但至少要更新完整的控制台输出。您
我在运行OrientDB社区2.1.11。我通过远程连接在Java客户机中运行了一系列复杂的查询,导致服务器内存不足。(服务器与客户端位于不同的计算机上。两者都是Windows计算机。)
当我尝试重新启动Orient服务器时,出现了NoClassDefFoundError
我创建了OrientDB 2.1.14(社区)的干净安装,并重新启动了服务器。我收到了同样的错误:
O:\OrientDb\orientdb-community-2.1.14\bin>server.bat
(ASCII
当查询在select中使用图形投影时,在记录集中包含记录的方式是什么
比如说,
从#123:456 limit-1中选择展开(两个(“朋友”)
上面的查询只返回相邻顶点。如何将#123:456包含到结果集中?试试以下方法:
select expand($c) from #123:456 let $a = (select expand(both('friends')) from #123:456 limit -1) , $b = (select expand(@rid) from #123:456
OrientDB update语句失败
下面更新vertex上日期的update语句失败
Update VertexA SET UpdatedDate = "2018-09-18" where @rid=#27:0
使用如下所示的asDate()和date()函数尝试了两个其他选项,但没有成功
Update VertexA SET UpdatedDate = "2018-09-18 00:00:00" where @rid=#27:0
Update VertexA SET UpdatedDa
我想使用一条边在节点A和节点B之间创建多个关系,但该关系必须包含不同的属性
边缘:
EPartner(描述、关系日期、类型、重量)
我所尝试的:
创建EDGE EPartner从#rid到#rid内容“某物”
当我创建第一个关系时,上面的一行起作用,但是当我尝试在同一个源和同一个目标之间添加一个新的关系时,以前的记录将替换为新的记录
我希望在同一边缘上有多个记录,具有相同的目标和源,只是具有不同的属性。
这可能吗?请给我一些关于尝试什么的提示。刚刚尝试验证您的案例。不幸的是,没有在边缘声明约束,
我已经在Mac-El Capitan上安装了OrientDB V 2.1.11。
我按照OrientDB文档中的说明进行操作。
当我运行oetl.sh时,我得到一个空指针异常。我假设它正在连接到Oracle实例。
Json配置:
{
"config": {
"log": "error"
},
"extractor" : {
"jdbc": { "driver": "oracle.jdbc.OracleDriver",
"url": "jdb
我有一个带有2个顶点的Orientdb数据库
Pesquisador拥有100万张唱片
Publicacao也有100万张唱片
还有一个边COLABORA_COM和6239382
我需要挑选出版数量最多的数千名研究人员
我执行命令
SELECT psq1.psq_nome AS nomePesquisador, COUNT(pub1) AS qtdPub
FROM (
MATCH
{class:Pesquisador, as:psq1}.outE("PUBLICOU").inV(
我试图找出从连接的两个顶点中选择边的格式
边在“连接”类中,连接两个“节点”类顶点。源节点是11:6唯一索引字段ip='10.64.32.100',目标节点是11:7 ip='10.79.215.231'。Connection类在其Connection.in和Connection.out属性上具有唯一索引
我尝试了以下所有返回空集的查询:
SELECT FROM Connection WHERE OUT(Node) = (SELECT FROM Node WHERE ip = '10.64.32
标签: Orientdb
orientdb-2.1distributed-database
我们正在嵌入式服务器上设置分布式OrientDB数据库(我们使用OrientDB v.2.2.31)。我们希望有一个主副本配置,但我们在这样做时遇到了一些问题
我们以以下方式为主机和副本设置了默认分布式db config.json文件:
{
"autoDeploy": true,
"hotAlignment": true,
"executionMode": "asynchronous",
"readQuorum": 1,
"writeQuorum": 1,
"failur
我正在尝试使用OrientDB v2.0.2构建一个家谱数据库,如果它有什么不同的话。我有一个称为“Person”的顶点和一个称为“Child”的边,因此该边从父对象延伸到子对象
例如,假设“Jane”有两个孩子,有两个不同的伴侣,总共有4个。有了Janes rid,我想得到一份她所有孩子的名单,按他们的另一位家长分组。所以我想要的结果集应该是
with Bob with Joe
-------- --------
Alpha Gamm
我试图让OrientDB Studio为每个节点显示一个字符串作为标签,就像Susheel Kumar的屏幕截图一样
但当我为后代运行Susheel下面发布的代码时,所有节点都显示为以@rid字段标记,如下图所示:
问题:是否有一种自动方式显示所有这些标签
通过单击1节点、2眼睛符号、3设置符号并从下拉菜单中选择名称,我可以告诉单个节点将其名称字段显示为标签,但当我有大量节点时,这是不可能做到的。这似乎是定义Person节点类时要做的事情,但我在下面发布的Susheel代码中没有看到这方面的
假设在Orient DB中有3个类扩展了Vertex
还有2个扩展了E
关系如下:
Class_V1 -> edge_E1 -> Class_V2 -> edge_E2 -> Class_V3
如何通过查询获得json中的嵌套树?
差不多
+class_V1{name:abc0}
|___+class_V2 {name:abc1}
|___+class_V2 {name:abc2}
| |___+class_V3 {name:abc3}
| |___+class
我执行了下面的代码
select expand(both()) from data
where value = '123456'
有两个节点(节点A、节点B)的值等于“123456”
它们都与节点C和节点D相连
最后,它多次返回node_C和node_D
但我只想每一个都有一次
我尝试在“expand(both())”周围使用distinct(),但失败了
如何区分dupulicate节点?当inside select没有返回任何记录时,它会抛出错误。如何使OrientDB避免null?
se
如果某个记录在脱机集群中可用,并且我尝试使用索引获取该记录,则它将给出OOfflineClusterException。为什么它要访问脱机群集,这不是正常的记录找不到的情况。你说得对,我刚刚为此打开了一个,并在v2.1.7-SNAPSHOT中修复了。v2.1.7 GA将在数小时内上线
我有一个类似这样的结构:
我如何遍历我的页面并返回一个平面记录,以便每一行都表示来自根节点及其边缘的所有数据。我的用例是生成一个csv文件
从上面的例子中,我想为每个帖子创建一行。每个记录应包含post中的所有字段、语言名称、页面名称和网络名称
据我所知,当您进行任何类型的遍历时,它只提供最终顶点的结果,而不提供中间顶点的任何数据。尝试以下查询:
select *,out('posted_to').name as page,out('posted_to').out('is_language')
doc2.1.x描述了命令列出连接,它可以在连接服务器后显示所有活动连接。但是我尝试了v2.1.10,!无法识别的命令,我发现源代码也没有该方法。此命令将在2.2版中引入
有关更多信息,请查看此链接:
我知道使用文档API将嵌入列表作为文档插入。作为一个实现,我选择Graph API,并想知道是否有直接方法将嵌入列表(记录)直接存储在Graph Vertex中。可以为嵌入记录中的每个元素创建一个单独的顶点,并在这些顶点之间创建链接,但我希望有一个顶点包含所有细节。有公共测试代码TestEmbeddedListVertexProperty(),使用OrientGraph欢迎使用堆栈溢出!请带上,四处看看,并通读,尤其是和。来自第二个链接:“要求家庭作业帮助的问题必须包括你迄今为止为解决问题所做的
在我的测试中,我生成了约100个独特的OrientDB实例,它们都位于不同的plocal位置。然而,由于“类已经存在”错误,我在大约10%的数据库中创建模式时遇到异常
这样行吗?我是否需要做一些额外的事情来强制每个唯一的plocal实例使用不同的模式
最重要的是,有解决办法吗?(例如,每次测试的唯一JVM、try/catch模式生成等…)
我提出了这张罚单,因为我认为这是一个错误,但我可能错了
注意:我似乎能够通过确保每个集成测试在单独的JVM中运行来解决这个问题。此外,我对我的整个项目进行了全
对不起,我又问了。如果我无法解决,orientdb将无法投入生产
我的orientdb服务器版本是2.1.11,在分布式模式下工作
我发现当我创建索引时,所有节点都无法写入,请求客户端出现“请求未达到仲裁x”
orientdb如何同时创建索引可以接受写入,而不是锁定群集(所有节点)。创建索引时不能写入,因为节点处于同步状态
更新
当前,当节点处于同步状态时,将完成数据库的整个备份,因此这会占用时间。
我看到了关于2.2beta()的文档,发现
操作
我们的用户一直要求增量备份,所以我们提供了。现
标签: Orientdb
database-restoreorientdb-2.1
我不小心删除了用户表中的管理员帐户
有什么方法可以修复它吗
我现在没有任何备份数据
任何提示或评论都将不胜感激。
谢谢 您可以使用服务器根密码通过studio访问,并在“安全”选项卡中重新创建管理员用户
或者您可以使用服务器根密码通过远程协议使用控制台连接。
我的顶点标签是散列,所以它们很长,我只想在Studio Graph视图中显示标签的前N个字符。
那能做到吗
您可以在此处看到如何更改标签:
不在当前版本(2.2.2)中,但我们正在努力使图形用户界面更加可定制不在当前版本(2.2.2)中,但我们正在努力使图形用户界面更加可定制
我是OrientDB的新手。目前我想创建两个顶点之间的无向边,它看起来像:产品A与产品B相关
我正在使用JavaAPI,blueprint
谢谢。aVertex.addEdge(endVertex,“标签”)
图形添加(id、出顶点、反相器、“标签”)
无论哪种方式,始终存在一个出顶点和一个入顶点都无法创建无向边。在OrientDB中,与市场上大多数图形数据库一样,边总是有方向的
这不是一个限制,因为您可以使用both()query操作符或在Java中使用以下操作来遍历边,而不考虑其方向:
ve
我正在使用OrientDB 2.2.26,我想知道OrientDB Studio是否正式使用IE或Edge浏览器。对我来说,它目前只在Chrome中工作
谢谢
BikrumOrientDB Studio可与Chrome、Firefox和Opera配合使用,但与Internet Explorer me配合使用时就不一样了
希望能有帮助
问候
在OrientDB这样的图形数据库中,我们如何知道边是传出()还是传入()?我知道边充当顶点之间的链接(这与RDMS中表之间的关系相同),但我们如何确定方向。例如,我有一些顶点用于讲师和课程,在这里,我希望有一(1)个讲师对多个课程,即一对多关系。那么讲师和课程之间的边缘方向是什么,是进入讲师还是离开讲师?我的意思是,如何使用“从讲师中选择入()”或从讲师中选择出()来编写查询?谢谢 无向与有向边
无方向:
A-(边)-B
A可以穿过B,B可以穿过A
优点:处理无向(对称)或双向关系时非常简单。
我有两个类表和记录集。表有一个记录集的链接集。当我查询任何特定表时
select * from table where @rid=#17:0
我得到的响应包含ID为的记录集数组
"recordsets": [
"#20:0"
],
但我希望结果是一个对象数组(扩展对象)。有什么方法可以做到这一点吗?您可以使用
SELECT from table where @rid=#17:0 FETCHPLAN *:-1
我有两个类:NOrder和NPassenger,关系1:n,所以NOrder有一个名为“乘客”的文件,其类型是linklist
我想通过NPassenger的字段“passengerName”选择NOrder,
我使用sql
select from NOrder where 'John' in passengers.name
诺德数据量是300万,这个sql工作得太慢了,我该怎么做
非常感谢您可以在类NPassenger的字段名上插入索引。
您可以使用此查询
select expand(dis
在分布式集群功能方面,OrientDB社区和企业版有什么区别?
免费社区版也会提供分布式群集支持吗?企业版支持分布式群集配置,这是许多功能之一,例如:查询探查器、度量记录和带有可配置警报的实时监控
更多信息:(第6点谈到企业版)
要处理分布式群集配置,您可以查看此链接,该链接向您展示了如何配置它:
最后,Community和Enterprise之间的区别在于Enterprise支持比Community as更多的功能:审计和高级备份(仅限V2.2)、查询探查器等
有关差异的更多信息:
希望它有帮
我看过很多Tinkerpop2.x循环步骤的例子,它们使用it.loops作为停止条件
g.V.in.loop(1){it.loops < 3}
这似乎不起作用。顶点属性是否通过it.object可用
在OrientDB发布更新之前,我无法使用Tinkerpop 3.x repeat。尝试以下方法:
g.V.in.loop(1){it.object.type != "rule"}
我只把V改成小写,改成大写,这对我很有用
看一看:
希望能有帮助
关于试试这个:
g.V.in.loo
我无法对顶点(或边)的嵌入列表属性执行通配符查询
例如:
假设我们有一个名为昵称的多值属性的Person类和它的一个实例:
{
"@type": "d",
"@rid": "#317:0",
"@version": 1,
"@class": "Person",
"Nicknames": [
"zito",
"ziton",
"zitoni"
标签: Orientdb
query-performanceorient-sql
我目前有两个顶点集合,分别名为community和user。
作为社区成员的每个用户都使用edgecommunity\u user链接到该社区
我正在尝试更新给定用户的community\u用户edge及其id
SELECT read from community_user where
outV() in (select @rid FROM `community` WHERE ( `_id` = '5ab283c35b6b9435d4c9a958' ))
and
我已经在顶点属性上创建了一个自动全文索引
OrientVertexType entryType = graph().createVertexType("Person");
entryType.createProperty("name", OType.STRING);
entryType.createIndex("Person.name", "FULLTEXT", new String[] { "name" });
现在我想以编程方式查询这个全文索引。例如,搜索名称以Seb开头的所有人员
我如何
1 2 3 4 5 6 ...
下一页 最后一页 共 23 页