在将文件存储库加载到MarkLogic时,我意识到它包含大量重复的文档。例如,可以在几个不同的目录中找到相同产品目录文档(“ catalog.pdf”)的多个副本,例如:inputs = [0 1 0 0]'
weights = [0 0 0 0]'
desiredresult = 1
disp('Neural Net Result')
res_net = evaluateNeuralNetwork(inputs, weights)
disp('Error')
evaluateNeuralNetError(1, res_net);
learn(inputs, weights)
train(6, inputs, weights)
function result = evaluateNeuralNetwork(inputVector, weightVector)
result = 0;
for i = 1:numel(inputVector)
result = result + (inputVector(i) * weightVector(i));
end
end
function res = evaluateNeuralNetError(desired, actual)
res = desired - actual
end
function weights = learn(inputs, weights)
learningRate = 0.20
weights(3) = weights(3) + learningRate
end
function neuralNetResult = train(trials, inputs, weights)
for i = 1:trials
disp('Neural Network Result')
neuralNetResult = evaluateNeuralNetwork(inputs,weights)
weights = learn(inputs, weights)
disp('Error')
evaluateNeuralNetError(1, neuralNetResult)
end
end
,/products/published-documents/
,{{1 }}。
我想知道是否可以通过在MarkLogic中使多个URI指向同一文档来删除那些重复项(例如symlink?)。也许还有其他方法可以达到相同的效果。我已经考虑过使用集合,但是我们确实需要保留目录结构,以便用户可以继续通过WebDAV访问文件。
答案 0 :(得分:3)
否,在MarkLogic中,文档具有一个且只有一个URI是一个相当低级的约束。但是,您可以使用XInclude或XPointer之类的模块化文档功能,并使用对规范URI的引用替换重复的文档。
Upgrade section of Kafka 0.10 documentation
在这种情况下,集合也可能会有所帮助,例如,将规范性文档分配给一个集合,将重复项分配给另一个。这样一来,仅查询规范文档会更简单。
但是,如果WebDAV是主要接口,则两者都不适合,因为WebDAV客户端会简单地使用XInclude URI引用打开浅表文档。
一个可能的例外是通过权限。也可以为规范文档和重复文档分配不同的权限,以使WebDAV用户无权访问重复文档。这样一来,浏览WebDAV的任何人都不会列出重复项。这种行为并不能完美地模仿符号链接,但可能足够接近。