从主 Neo4j 图表创建命名图表已被记录。此外,人们还知道如何列出、删除、检查命名图是否已存在,例如CALL gds.graph.exists('my-store-graph') YIELD exists;
但是,我想知道是否有任何方法可以针对刚刚创建的命名图进行密码查询?
一种解决方法是将此命名图推送到离线/空Neo4j 图,即CALL gds.beta.graph.export('my-graph', { dbName: 'mydatabase' }). 然而,这种方法不太方便,因为我们经常想在应用之前检查命名图是否正确投影,例如其上的PageRank。并且预测可能是一个反复试验的循环。
鉴于打字稿代码片段:
class Excel {
Password: string;
Sheet: number;
}
class Csv {
Separator: string;
Encoding: string;
}
type FileType = Excel | Csv
let input = '{"Separator": ",", "Encoding": "UTF-8"}';
let output = Object.setPrototypeOf(JSON.parse(input), FileType.prototype) // error!
Run Code Online (Sandbox Code Playgroud)
在 TypeScript/Javascript 中,要从 JSON 反序列化,可以使用Object.setPrototypeOf(),其第二个参数需要“原型”。对于类,例如Excel,一个人可以做Excel.prototype。但是使用上面的 Discriminated Union,我遇到了一个错误:
error TS2693: 'FileType' only refers to a type, but is being used as a value here.
Run Code Online (Sandbox Code Playgroud)
Excel/Csv和 JSON 字符串序列化它们中的任何一个;取回正确的实例化对象),无论使用什么技巧、类、类继承、接口、有区别的联合或不...?在 Jupyter Notebook 中,我们可以直接执行 Javascript/HTML 单元格以丰富 Notebook 显示,例如交互式Vis.js图形,这要归功于以下内容import:
from IPython.display import Javascript
from IPython.core.display import display, HTML
Run Code Online (Sandbox Code Playgroud)
我有以下笔记本单元格:
%%javascript
requirejs.config({
paths: {
vis: 'vis'
}
});
require(['vis'], function(vis){
function drawNetworkGraph() {
...
}
window.drawNetworkGraph = drawNetworkGraph;
});
Run Code Online (Sandbox Code Playgroud)
transfer_data_from_python_to_javascript = "..."
display(Javascript(transfer_data_from_python_to_javascript))
display(Javascript("""window.drawNetworkGraph();""")) // <-- problem here!
Run Code Online (Sandbox Code Playgroud)
在 Notebook 中执行“全部运行”时,我window.drawNetworkGraph is not a function在 DevTools 控制台中得到了一个竞争条件。
这是由于require(, function(){})在 Cell 1 中异步运行。浏览器加载vis库需要一些时间;并且当它完成加载时,它将调用在 的第二个参数中声明的函数require()。此时,Jupyter Notebook 已经执行了 Cell …
我有一个小的 TypeScript 代码片段,如下所示:
ngAfterViewChecked(){
console.log("ngAfterViewChecked 1");
setTimeout(() => {
console.log("ngAfterViewChecked 2");
}, 1000);
}
Run Code Online (Sandbox Code Playgroud)
函数setTimeOut()应该在 1 秒后调用 lambda 函数,然后停止。然而,钩子 ngAfterViewChecked() 被连续调用(摘自 Chrome 开发者工具控制台):
00:36:50.827 home.component.ts:53 ngAfterViewChecked 1
00:36:51.842 home.component.ts:55 ngAfterViewChecked 2
00:36:51.843 home.component.ts:53 ngAfterViewChecked 1
00:36:52.843 home.component.ts:55 ngAfterViewChecked 2
00:36:52.844 home.component.ts:53 ngAfterViewChecked 1
00:36:53.845 home.component.ts:55 ngAfterViewChecked 2
00:36:53.846 home.component.ts:53 ngAfterViewChecked 1
00:36:54.848 home.component.ts:55 ngAfterViewChecked 2
...
Run Code Online (Sandbox Code Playgroud)
如果没有了setTimeOut(),函数ngAfterViewChecked()被调用一次。也有发生此问题ngDoCheck(),ngAfterContentChecked()。
在, , , 中声明的同一个代码体, …