我一直在使用Tinkerpop2.6和OrientDB来处理图形,但我遇到了一些性能问题
我怀疑这个问题与OrientDB延迟加载记录这一事实有关。在我的例子中,我通过两个不同的标签获取相邻顶点,添加一条新边,并设置一个属性
我知道OrientDB建议注意获取计划,但我看不到通过OrientGraph或Tinkerpop这样做的明确方法。请注意,我使用OrientGraphFactory获取事务数据库实例,但在其中也没有看到它
如何使用带方向图和修补程序的获取计划
谢谢 您可以使用OrientD
我正在使用OrientDB 2.1.9,并创建了名为“TimePentEvents”的局部图形数据库
当尝试在URL为“JDBC:orient:remote:localhost/TimespentEvents”和用户/密码admin/admin的同一台计算机上使用JDBC驱动程序从Java进行连接时,我遇到以下异常:
Caused by: com.orientechnologies.orient.core.exception.OConfigurationException: Error on o
我有两个不同的类:Record和Location记录具有链接到位置类的位置属性
我想在一条语句中创建一个新位置的记录,大致如下:
insert into record content {location:{name:"EDR"}}
我希望这将创建名为EDR的新位置,并将其链接到记录的location属性,但它抛出了这个异常
com.orientechnologies.orient.core.exception.OValidationException: The field 'record.lo
我一直在创建和使用服务器端javascript函数,在独立模式下没有问题。当我切换到分布式模式(启动dserver.sh而不是server.sh)时,我无法在studio中保存更新或创建新函数。“保存”按钮不起作用
数据库本身在分布式模式下工作正常。更新到最新版本修复了问题。哪个OrientDB版本?OrientDB 2.2.0社区是否可以使用2.2.14重试?我尝试了新版本,现在可以使用了。谢谢
我试图检索一个简单的图,其中包含一些相互链接的赋值,但是在查询了其中一组赋值后,返回的Rid-s都是负数,与数据库中的Rid-s无关,因此我无法基于这些Rid-s运行其他查询,我应该如何处理这个问题,还是我做错了什么
以下是负责的代码片段:
$records = $this->client->queryAsync('select rID, value, schedule, priority, type from Assignment where type = 5');
foreach
以下是我的顶点图的表示,-->边:
用户1 hasgroup->friends hasuser->user2
我已经去掉了user1和user2。
我不想检索带有user2的outE'hasuser'的组的属性
所以我试过:
for user1 @rid=#01:01
user2 @rid=#01:02
select out('hasgroup').name from #01:01 where out('hasuser') = #01:02
或者像这样:
从out'hasuser'=01:02
如何通过sails OrientDB适配器运行OrientDB函数
有一个带有签名的waterline方法的扩展
但是我不能让它与我的用例一起工作
My OrientDB函数通过其id返回给定用户顶点的好友:
var db = orient.getGraph();
return db.command("sql", "select expand(unionall(outE('IsFriendsWith').inV(), inE('IsFriendsWith').outV())) from "
我有一个简单的场景
我想选择Adrian和Permis之间的所有路径
最短路径函数给了我
Adrian -> Permies
但我无法找到另一条路,那就是
Adrian -> Devs -> Permies
使用Java,您可以使用以下代码和以下类
OrientGraph g=new OrientGraph(currentPath);
AllPaths allPath = new AllPaths(g);
List<List<Vertex>> p
这可能是一个基本问题,但通过稀疏的文档,我不知道如何做到这一点。我不熟悉orientdb和图形
我有一个简单的图表
用户-顶点
书边
介绍
用户->操作系统->用户
用户->导入网络->用户
我想找到的是:
给定用户名->地址簿中有多少用户及其姓名
给定用户名->他们介绍了谁而不考虑深度
示例数据:
约翰->哈斯曼书->多伊
约翰->哈桑->苏珊
约翰->哈斯波特>露西
约翰->哈斯曼->史密斯
john->HasinaDressbook->john1
john -> introduced
我试图使用print(“helloworld”)函数Orientdb进行调试。
单击excute()后,不会出现任何结果
要查看打印,您必须打开“Server.bat”或“Server.sh”窗口,然后才能看到结果
Server.bat
Server.sh
最好的方法是使用OrientDB标准记录器:
com.orientechnologies.common.log.OLogManager.instance().info(this, "This is a log!")
谢谢你的快速回复。我
编辑:请参见底部,以在较小的统计/模式集上重现问题
我正在围绕OrientDB时间序列用例进行实验,并试图将两棵树的每一层链接起来。所以我做了这个sql批处理:
let $w1 = select expand(W1[2406]) from #12:2;
let $w2 = select expand(W1[2407]) from #12:2;
let $d1 = select expand(D1[4]) from $w1;
let $d2 = select expand(D1[0]) from
我正试图在AWS上,在ELB后面,在ASG中,以分布式模式设置OrientDB
到目前为止还不错,但最初的数据库复制只发生在15次尝试中的一次!
也就是说,在新节点加入集群后,只同步一个DB。而且只有一次
最重要的是,主人没有反应!也就是说,OrientDB不会回答来自ELB的健康检查,如果我没有将该实例从ELB中取出(当我测试该实例时),它将被销毁
我做什么和想要什么
我有一个(至少一个)实例,在那里加载数据库。然后我开始将ASG设置为+1实例,然后启动。我想让它加入第一个(这部分工作很好-现
我正在研究如何在OrientDB中管理模式(使用源代码管理)。我有一个可以运行的SQL脚本,可以通过OrientDB的“bin/console.sh”来创建类和函数。我的脚本只适用于创建新数据库,因为CREATE…语句第二次将失败。我希望能够在进行更改时重新运行脚本。那么,我们如何有条件地执行创建类或创建属性
到目前为止,我尝试使用IF跳过此类语句,但是IF仅允许在script sql…end块中使用,如果您尝试将任何CREATE…语句放在此类块中,则会出现错误:“事务处于活动状态时无法更改架构
我有一个orientDB实例,其中存储了我的所有顶点和关系。我试图通过可搜索属性搜索节点,获取节点并遍历相关的完整树。我得到结果块(由连接到搜索节点的所有顶点和边组成)
现在,我想将结果(所有带有边的顶点)推送到另一个OrientDB实例。
请建议最好的方式和方法
我能够使用tinkerpop graph API获得遍历结果,但不确定如何将此数据集推送到另一个orientdb。我也希望在第二种情况下保持联系 不清楚您是否要创建自己的复制策略(为什么不使用默认策略?)或是否要复制与main断开连接
我想将orienddb数据库与spark.com集成,以便通过spark获取记录和运行查询
有人能给我一些建议吗?看看OrientDB Spark插件:
我要在OrientDB中插入一个带有嵌入字段的记录,然后使用过滤器查询该记录:
insert into MyClass set embeddedField = {'@type': 'd', 'id': 1}
效果很好,而且
select from MyClass
返回我添加的记录。但当我为embeddedField添加where with filter时,没有得到任何结果:
select from MyClass where embdeddedField = {'@type': 'd', '
我按照上的示例从xml集合(第二个示例)中提取数据,并将其加载到OrientDB图形数据库中:成功了
但现在我卡住了,不知道如何描述oetl配置(json文件),如果我更改了样本源数据的外观(并满足我的要求)-嵌套-部分:
<?xml version="1.0" encoding="UTF-8"?>
<CATALOG>
<CD>
<TITLE>Empire Burlesque</TITLE>
&l
这里有一个非常基本的例子
我有一个类,它的名字是“dog”,它有一个“name”属性和一个“childs”属性。“childs”属性类型是LINKLIST
当尝试创建一个新的狗对象时,我会创建一个“childs”字段,但我不知道如何填充它
请给我指出一个更完整的教程(实际上我搜索它时没有成功)。您可以使用该查询:
insert into animal set name = 'dog', children = [<rid>]
insert-into-animal set name='
我是OrientDB的新手,刚开始尝试它的GUI。现在我遇到了一个非直觉行为,我不确定这是一个bug还是我有限的理解
在初始设置中,OrientDB有一个顶点“V”。我可以在曲线图编辑器中创建新顶点:
(+)添加顶点:选择“V”
但是,如果将顶点重命名为“V”或创建另一个顶点(“EAN关键点”),则无法选择它。对话框中唯一的选项是“V”(如果我在GUI的模式管理器中重命名“V”并重新生成所有索引,则没有任何选项)
在日志中,我看到以下错误消息:
2015-08-20 15:40:05:713
我试图编写一个OSQL查询来计算所有节点对之间最短路径的长度,但是,由于在FROM子句中不允许有多个类,我想知道如何循环所有不同节点对
我尝试了以下查询:
SELECT shortestPath($current, $e0, 'BOTH', 'Meets')
FROM Employee
LET $e0 = (SELECT FROM Employee where $current.nt_account > $parent.nt_account)
(nt\U账户是员工ID)
当我尝试执行查询
我在执行实时查询时遇到以下错误
注册代码:
List<ODocument> result = db.getRawGraph().query(new OLiveQuery<ODocument>("live select from TEST", listener));
liveToken = result.get(0).field("token");
Pom.xml-orient.version-2.1.7
<dependency>
我正在尝试为scala中的orientDB客户机编写一些单元测试实用程序
下面是一个在DB上运行的函数,它应该用代码包装该函数,以便为单个单元测试创建和销毁DB
然而,关于如何清理内存数据库的文档并不多(而且在许多开源项目中,人们似乎只是泄漏数据库并在新端口上创建新数据库)
只要调用db.close,数据库就会监听端口,后续测试就会失败。调用db.drop似乎可行,但前提是func成功地将数据添加到db中
那么,在finally子句中需要什么清理呢
@Test
def fTest2():
一般来说,我对OrientDB和GraphDB非常陌生,对多租户应用程序有一些疑问
假设我的用例是一个SaaS应用程序,客户可以在其中创建与其用例匹配的权限模型。例如:
公司a:
-他们为用户、组和文档建模(然后建立它们之间的关系)
公司b:
-他们为用户、设备、建筑物、徽章建模
我的SaaS应用程序需要是动态的,以允许客户对他们的需求进行建模。我正试图找出在东方表现这一点的最佳方式。文件中提到了对32767个集群的数量的硬最大限制,这意味着创建这些实体(组、设备、文档等),因为类是不可能的
正
摘要
我正在为orientdb和neo4j编写一个小精灵脚本
对于示例,假设我们要加载id为1的顶点
对于neo4j,我们将编写如下的gremlin脚本
g.V(1)对于orientDBg.V('17:0')
这样我的脚本就可以同时为两个数据库运行?您不能拥有独立于供应商的元素标识符,因为大多数图形系统不允许您分配标识符,Neo4j或OrientDB也不允许这样做。您可能无论如何都不应该在代码中硬编码标识符,因为我相信这些标识符可以根据图形系统的不同从您的下方更改
正确的方法是依赖索引,并更愿意
我们的Nexus存储库空间不足,现在无法启动存储库。不幸的是,我们没有可以恢复到的存储库备份
在我们在磁盘3.4上留出一些空间之后。GB是免费的。
现在我们正试图修复损坏的Orient数据库,即config和component。
在我们通过启动Orient DB控制台之后
*sudo java -jar ./lib/support/nexus-orient-console.jar*
并尝试通过连接到配置数据库
*CONNECT plocal:/mnt/sonatype-work/nexus3/
使用OrientDB控制台,有一个命令可以显示扩展基类的类的所有记录
browse class Asset
这将返回具有扩展资产的类(Object1、Object2)的所有记录
我正在寻找一个SQL命令,可以做同样的事情
当前,此查询不返回同一组记录
SELECT * V where @class = 'Asset'
要从Object1和Object2检索所有记录,应使用超类名称的简单select查询:
select from Asset
您还可以使用instanceof运算符
例如
这是
在orientdb中,我有一个问题的示例查询
select eval('((23 + 46) * 1.0 ) / 2') as abc from SomeClass
上面的查询返回34.5,我想把它四舍五入到35。我申请了asInteger(),但没有成功
select eval('((23 + 46) * 1.0 ) / 2').asInteger() as abc from SomeClass
上面的查询返回34,但我希望它是35,我不知道是否有一些本机函数可以实现这一点
但是您
我必须对他们进行比较和对比。因此,任何人都可以解释它或提供任何参考?这两种产品都提供在线文档:以下是OrientDB和Titan之间的一些区别
数据模型
OrientDB是一个多模型数据库——它声称在一个数据库中同时支持文档(如mongodb)和图形格式(如Titan)
Titan是一个单模型数据库,它声称存储图形数据
存储Fromat
OrientDB在磁盘上使用自定义存储格式
Titan使用三种外部数据库中的一种来存储数据。它使用定制的序列化过程在数据库中存储数据
分布式体系结构
Orien
我正在尝试执行一个简单的sql查询,以从搜索的文档中检索数据以及连接文档的一些属性。但是,由于某种原因,在如何从连接的文档中选择属性方面遇到了一道死墙。以下是我的简单场景:
我有两个文档,一个帐户和一个用户。帐户文档对名为“Employers”的用户具有优势。我正在尝试通过电子邮件和密码登录用户。如果找到了用户的记录,我只需要从帐户文档中获取一些用户数据和一些属性,以存储在用户会话中
我的问题是:
try (ODatabaseDocumentTx db = DbPool.getConnectio
在SQL中,我可以使用“-”创建注释,然后忽略该行其余部分的所有内容
OSQL中有类似的东西吗
我试过使用“-”和/**/。在Studio中,它们通过语法高亮显示来着色,但如果我执行以下查询:
/* this is a comment */
SELECT FROM V
或
我会收到一条错误消息
这是OrientDB社区2.2.14的一部分
任何建议都将不胜感激:)您好,关于这个问题还有一个问题有待解决-好的。。。因此,TL;DR版本是,这是一个持续多年的问题。。。您链接的问题已关闭,但与该问题
定向数据库3;手册开始介绍OrientDb和ODatabasePool
但是,任何使用OPartitionedDatabasePool的人都不能自由移动到ODatabasePool。虽然他们的名字暗示着一些相似之处,但他们一点也不相似
无法理解设计意图,因为理想情况下,两者之间的切换应该是无缝的。它们之间有一些相似之处,但是如果您想使用后者,则需要多走几步
以下是来自OPartitionedDatabasePool文档的一些信息:
要从池中获取连接,请调用acquire方法,但要释放连接,只需调
我正在尝试使用python客户端在OrientDB的顶点中插入一条记录。
代码如下
print(recommendationCluster['recommendation'])
for recommendation in recommendationCluster['recommendation']:
item = menuitems.loadMenuItemWithId(str(recommendation),orientclient)
我将orientdb从3.0.32版更新为3.1.3版。我为新版本执行模式的导出和导入,然后尝试执行ETL,显然数据已加载,流结束但未退出。日志在此期间停止,无法继续:
2020-10-09 13:17:08:927 INFO BEGIN ETL PROCESSOR [OETLProcessor]
2020-10-09 13:17:08:983 INFO Started execution with 1 worker threads [OETLProcessor]
2020-10-09 13
对于我们的架构,我们正在考虑类似多租户的东西。在我们的方法中,每个租户都将拥有自己的数据库。当我说数据库时,我不是指服务器。我指的是OrientDB服务器中的数据库
问题是。。。是否有一种最佳实践方法可以做到这一点。我们看到的三种选择是:
让整个OrientDB服务器承载一个数据库。
这似乎效率低下。特别是因为我们将着眼于集群/复制体系结构
将多个数据库放入单个OrientDB服务器
在这里,我对可伸缩性感到好奇。一个OrientDB集群可以容纳多少数据库有实际限制吗?每个租户可以与数据库建立许
当我执行下面的代码时
select expand(distinct(@rid)) from (
select from V
where @rid = 'number not exist'
)
它回来了
OCommandExecutionException:
expression item '@rid' cannot be resolved because current record is NULL
此内部选择仅用于测试,不返回任何记录
如果select不返回任何记录,我希
我正在尝试使用oetl.sh和用于源数据(Oracle)的JDBC驱动程序加载数据。它似乎适用于远程连接,但希望在本地连接上获得更好的性能。知道什么是问题吗
开始ETL处理器
已启动8个线程的并行执行
管道执行中出错:java.lang.IllegalStateException:当前数据库实例(com.orientechnologies.orient.core.db.document)。ODatabaseDocumentTx@6c640ef)在当前线程(线程[OrientDB ETL pip
我正试图将orientdb配置为Wildfly9的数据源,但却毫无进展
17:12:22,344 ERROR [org.jboss.as.controller.management-operation] (Controller Boot Thread) WFLYCTL0013: Operation ("add") failed - address: ([
("subsystem" => "datasources"),
("data-source" => "Ac
我想做一个更新的基础上the@rid子查询的类型
选择MaxVisitions@rid from Customers,其中@rid=27:1074
返回结果14:112
当我尝试下面的代码时,执行是成功的,但是没有更新任何记录
更新访问设置exit_at=sysdate,其中@rid=select maxvisions.@rid来自@rid=27:1074的客户
然而,如果我这样做
更新访问设置退出时间=sysdate,其中@rid=14:112
将使用所需的结果更新记录
我忽略了什么?试试这个
我假设遍历中的MAXDEPTH为-1,但文档并未实际指定它
默认最大深度为-1(无限遍历)
我试图找到它们之间有最多公共顶点的顶点对。这与许多图形数据库演示中使用的“共同好友数”示例非常相似。我可以使用以下方法确定一对已知顶点之间的相互顶点数:
SELECT Expand($query) LET
$query1 = (SELECT Expand(outE().in) FROM #1:2,
$query2 = (SELECT Expand(OutE().in) FROM #1:3,
$query = Intersect($query1,$query2);
上述查询结果的计数
我们正在构建一个系统,该系统将审核用户的搜索以及用户的其他操作。我们将跟踪User1等数据,搜索Term1。在用户和术语顶点之间有一条称为“搜索”的边。我们试图找到的是一些相关信息,如搜索Term1的用户也搜索了这些术语Term2、Term3等,以及用户和术语之间的一些其他相关信息,如您可能知道这些用户。我猜需要遍历,但我想知道的是遍历的深度是否重要,是否会告诉我们需要的数据。如果我们沿着遍历路线走,在失去实际相关性之前,我们应该设置多深
到目前为止,这是我们拼凑出来的,但我们不完全确定这是否是
标签: Orientdb
orientdb-2.1orientdb3.0sails-orientdb
我正在尝试按照官方指南在windows上安装OrientDB作为一项服务,但它无法正常工作,是否有人可以帮助我…请提供您遇到的问题以及到目前为止执行的操作的详细信息。
需要在windows中安装orientdb 2.0的步骤。请按照链接进行操作
任何更好的简单步骤或视频教程都可能有用
解压orientdb 2.0.5发行版
来自命令:\bin\server.bat
选择密码,然后从您的
收藏夹浏览器
假设我们有顶点用户和边友谊。
FriendsWith可以是两个方向的out和in,通常是out或介于2个用户之间
重复是指当从一个用户到另一个用户的输入或输出被发现超过一次时,同时输入和输出不被视为重复
有没有办法找到重复的边并将其删除
更新添加了说明问题的图片
谢谢。我创建了一个小数据库来尝试您的案例。这是我的代码:
create class User extends V
create class follows extends E
create property User.id integ
我可以通过web界面很好地执行下面的查询。几乎不需要任何时间就可以完成
SELECT from Person;
但是,当我尝试从Java应用程序中执行此操作时,需要超过17秒才能完成
SELECT from Person;
我使用的代码基本上是这两行:
OrientGraph graph = new OrientGraph("remote:93.x.x.x/test");
OCommandRequest req = graph.command(new OCommandSQL(query));
在redis中,有一种方法可以“分组”命令,以减少客户端和服务器之间的交换次数。()
当与数百或数千条命令一起使用时,它可以显著减少服务器负载
OrientDB中是否有等效项?是的,有。例如:
begin
let account = create vertex Account set name = 'Luke'
let city = select from City where name = 'London'
let e = create edge Lives from $account to
我是OrientDB的新手,我有一个标记为Resource的节点,还有其他标记为User和Administrator的节点连接到它。我知道我可以选择“HasAccessTo”资源的所有用户,如下所示:
SELECT in("HasAccessTo") FROM Resource
但是如果我只想选择那些被标记为用户而不是管理员的人,我该如何编写查询呢
提前感谢您的帮助。详细回答:
SELECT FROM (
SELECT expand(in("HasAccessTo")) FROM R
例如,我有下表
[id, V1, V2]
[A , 1 , 5]
[A , 2 , 4]
[A , 3 , 3]
[A , 4 , 2]
[B , 9 , 6]
[B , 8 , 7]
[B , 7 , 8]
[B , 6 , 9]
我想创建具有以下结果的查询
[id, V1` , V2` ] ]
[A , [1,2,3,4] , [5,4,3,2] ]
[B , [9,8,7,6] , [6,7,8,9] ]
或
如何构造此查询?
我尝试了很多选择,但都失败了
任何帮助
OrientDB初学者在这里
我正在设置一个图表来模拟社交网络。我已经开始创建一个新的类Person,我有几个要输入的人
但我的问题是,并非所有字段都始终存在。我要输入的第一个人的名字和家庭名称。第二个条目有这两个,但也有年龄
但是当我跑的时候
select from Person
我的结果窗格仅显示我的两条记录的名字和家庭名称。我的假设是,我会看到所有三列,FirstName、FamilyName和Age,第一个条目的Age为空
因此,我假设不接受动态添加新的“字段”或属性
如果您首先执行以
我正在寻找一种获取集群列表以及该集群中的记录计数的方法。我的要求是OrientDB Studio
我希望实现的控制台版本是列表集群或集群
我查阅了ODB文档,并浏览了Studio应用程序的各个方面,但似乎找不到解决我问题的答案
任何帮助都将不胜感激 您可以在“模式”选项卡上查看studio中的群集。您可以在“模式”选项卡上查看studio中的群集。您可以在“数据库”选项卡上查看studio中的群集ID、名称和记录数量。您可以在“数据库”选项卡上查看studio中的群集ID、名称和记录数量。我正在
上一页 1 2 3 4 5 6 7 8 9 ...
下一页 最后一页 共 24 页