我有一个图表,大约有900万个节点,有1200万个关系.对于图中的每个节点,每个相应节点都有一个属性子集,它们通过Label形成节点的唯一标识.该图由各种数据源更新,这些数据源增加图中的现有节点,或者如果节点不存在则创建新节点.我不想在更新期间根据图表中的唯一属性集创建重复项.
例如,我在图表中有人物,他们的唯一性由他们的名字和姓氏决定.以下代码是创建两个不同的人:
CREATE (p:Person{first:"barry",last:"smith",height:187});
CREATE (p:Person{first:"fred",last:"jones",language:"welsh"});
Run Code Online (Sandbox Code Playgroud)
之后,我从其中一个数据源收到以下数据记录(每行一个):
first: "fred", last: "lake", height: 201
first: "barry", last: "smith", language: "english"
first: "fred", last: "jones", language: "welsh", height: 188
first: "fred", last: "jones", eyes: "brown"
first: "barry", last: "smith"
Run Code Online (Sandbox Code Playgroud)
更新图表后,我想拥有以下节点:
(:Person{first:"fred",last:"jones",language:"welsh",height:"188,eyes:"brown"})
(:Person{first:"barry",last:"smith",language"english",height:187})
(:Person{first:"fred",last"lake",height:201})
Run Code Online (Sandbox Code Playgroud)
我正在尝试制定一个MERGE可以进行此类更新的查询.我想出了以下方法:
MERGE使用唯一性属性(first并last从示例中)开始查找或创建初始节点;SET包含传入记录中定义的每个属性的操作.因此,对于上面给出的三个例子记录:
MERGE (p:Person{first:"fred",last:"lake"}) SET p.height = 201;
MERGE (p:Person{first:"barry",last:"smith"}) SET p.language = "english";
MERGE (p:Person{first:"fred",last:"jones"}) SET p.language = "welsh", p.height = 188;
MERGE (p:Person{first:"fred",last:"jones"}) …Run Code Online (Sandbox Code Playgroud) 我有单页 Web 应用程序(SPA),它可以在注册过程中验证用户。验证的一部分是捕获用户的自拍照。为此,我实现了以下代码的一个版本,以将相机输入到video网页上的元素中,然后我可以将图像采样到canvas.
navigator.mediaDevices.getUserMedia({ video: true, audio: false })
.then(localMediaStream => {
if ('srcObject' in video) {
video.srcObject = localMediaStream;
} else {
video.src = window.URL.createObjectURL(localMediaStream);
}
video.play();
})
.catch(err => {
console.error(`Not available!!!!`, err);
});Run Code Online (Sandbox Code Playgroud)
此代码基于 Wes Bos 的 JavaScript30 课程(#19 Unreal Webcam Fun)中的示例。你可以在这里尝试一下。
此代码似乎在大多数浏览器上都能正常工作,但iPhone 上 iOS 上的 Apple Safari 除外(例如:iPhone 12 Pro、iOS 14.7.1)。在 iPhone 上,我捕获了相机图像的第一帧,之后,该video元素显示一个黑色方块。
奇怪的是,它在 iPad 上运行良好(例如:iPad …
我正在AWS中运行Spring Boot应用程序.应用程序在Elastic Load Balancer(ELB)后面运行.ELB配置为使用https(端口443)到外部世界,但通过http(端口8080)到应用程序.ELB配置为通过x-forwarded-proto标头.我正在使用Jetty 9.0.0.M0,使用Spring Boot 1.1.5 RELEASE.
我似乎是通过ELB从应用程序发回的错误重定向,其中重定向响应将返回http,而不是https.现在,我在这里读到我应该将"转发"标题设置为true使用:
<Set name="forwarded">true</Set>
Run Code Online (Sandbox Code Playgroud)
我无法看到如何使用Spring Boot中的嵌入式Jetty版本来执行此操作,因为我的源代码中没有XML配置文件.
我已经查看了EmbeddedServletContainerCustomizer基础设施,但我仍然无法获得正确的咒语来使这个设置工作.
该应用程序是在AWS https环境之外构建和测试的,因此应用程序也需要透明地工作http.直接命中应用程序端点而无需通过ELB工作.只是ELB到申请路线不起作用.
有任何想法吗?