特别是路德维希·范·贝多芬(通过Wikidata识别重复的作者记录) https://openlibrary.org/authors/merge?key=OL127077A&key=OL4357202A&key=OL7272005A&key=OL7480477A
失败了
我怀疑它可能与列表中的一项有关或与重定向有关-需要调查。
例子:
| 完成| 人合并链接| 错误
| --- | --- | --- | -|
| X | 路德维希·范·贝多芬| https://openlibrary.org/authors/merge?key=OL127077A&key=OL4357202A&key=OL7272005A&key=OL7480477A | ?? |
| X | Apollonius Rhodius | https://openlibrary.org/authors/merge?key=OL325079A&key=OL6050345A | {'message': 'expected /type/author, found /type/delete', 'at': {'property': 'authors', 'key': '/books/OL20525473M'}, 'value': '/authors/OL6050346A', 'error': 'bad_data'}
|
| X | DS Margoliouth | https://openlibrary.org/authors/merge?key=OL1751871A&key=OL4335758A&key=OL3277479A&key=OL2832645A&key=OL3126854A&key=OL6010579A | {'message': 'expected /type/author, found /type/redirect', 'at': {'property': 'authors', 'key': '/books/OL20457133M'}, 'value': '/authors/OL5989450A', 'error': 'bad_data'}
|
| X | Gaius | https://openlibrary.org/authors/merge?key=OL134502A&key=OL4675154A&key=OL6002146A | {'message': 'expected /type/author, found /type/delete', 'at': {'property': 'authors', 'key': '/books/OL20496191M'}, 'value': '/authors/OL6036269A', 'error': 'bad_data'}
|
| X | 卡尔·古斯塔夫·荣| https://openlibrary.org/authors/merge?key=OL17370A&key=OL2677210A | {'message': 'expected /type/author, found /type/redirect', 'at': {'property': 'authors', 'key': '/books/OL12811553M'}, 'value': '/authors/OL2660553A', 'error': 'bad_data'}
|
|
合并应该发生
有很多2008年AMZ来源的音乐符号书籍,对于OCLC来说,isbn似乎是死胡同,甚至作者的身份也被误分配给amz。 对于其中的某些BWB,可以找到isbn的封面,但似乎具有相同的废话元数据。 我们要么需要在其他数据库中建立更广泛的网络,要么只是以某种方式隔离它们,并相信真正的书籍将会重新出现。
有关示例,请参见作者Isagani Intano。
问题作者是
https://openlibrary.org/authors/OL4357202A/Ludwig_Van_Beethoven
不会合并到主OL127077A中
跟踪可能的问题项:
OL11122403M
https://openlibrary.org/books/OL11122403M/Piano_Literature_of_the_17th_18th_and_19th_Centuries_Books_6B
通过UI,这甚至看起来都不像LVB项目,因为作者的UI数据来自作品https://openlibrary.org/works/OL15097322W/Piano_Literature_of_the_17th_18th_and_19th_Centuries_Books_6B
但是,如果您查看该版本的空白封面,则会显示一个扩展的作者列表,该列表来自该版本的元数据: https :
authors: [
{
key: "/authors/OL47923A"
},
{
key: "/authors/OL4357202A"
},
{
key: "/authors/OL2779314A"
},
{
key: "/authors/OL126336A"
},
{
key: "/authors/OL3338683A"
},
{
key: "/authors/OL2779506A"
},
{
key: "/authors/OL38111A"
},
{
key: "/authors/OL3551619A"
}
],
OL47923A是重定向到Mozart ... https://openlibrary.org/authors/OL5017833A/Wolfgang_Amadeus_Mozart
因此,这里有两个问题:
也许3.的一个重要因素使得调试起来更加困难:#183
和4.为什么合并作者对此甚至不满意? 为什么不能简单地更新受影响项目的作者并继续前进?
ANS:我认为它与#1445有关,其中某些项目的数据可以处于其作者处于重定向状态,但是重新保存会引发错误。 <<<这似乎是许多此类重定向问题的根本原因。
过去尝试解决类似问题的PR:#2186我需要研究是否需要在另一个位置应用该修补程序,或者该修补程序中是否存在缺口。 无论哪种方式,都缺少某些东西。
作者视图页面吞没了作者的合并进度和错误,而且我认为此问题是在以前曾出现过错误Flash msg的其他页面上发生的。
通过调试,我看到有一条消息div
https://github.com/internetarchive/openlibrary/blob/17cd1728e21a8dafd3dffcebc93dee9a534c37ec/openlibrary/templates/type/author/view.html#L92 -L118
样式为class.hidden:page-user.css中的display: none !important;
有一些脚本试图对这些隐藏的子div进行.fadeIn()
。 我认为!important
可以防止淡入,但是当我删除它时,它们将永久可见。
@jdlrobson ,有什么想法或提示吗? 我有兴趣让这项工作整理这个作者的合并功能,因为它阻止了我并影响了图书馆员,但是我感到这个hidden
问题可能也是其他缺少错误消息的原因。
@hornc @jdlrobson !important
很可能相关; 看到从https://github.com/internetarchive/openlibrary/pull/2223#issuecomment -513393435开始的线程
抱歉(再次)。 !important已添加到0f9030c1047d5a337fc292a09085d7c353c85424中。
不使用!important的问题是如果您有
<div class="hidden button">foo</div>
和同等特异性的规则:
.button { display: inline-block; }
该按钮实际上并未隐藏在预期之外。
我一直在努力使我们朝BEM方向发展,因此这些特异性规则变得更加痛苦。
以下grep产生6个结果:
removeClass('hidden');
和4代表:
addClass('hidden');
在这种情况下,替换:
class="hidden"
与
style="display: none;"
会工作。
我们可以尝试的其他方法:
.button[style] { display: block;}
(假设样式属性已在皮革上删除,情况可能并非如此。
@cdrini我知道您对此有意见,所以您怎么看?
@jdlrobson我不同意逻辑,我不同意执行:P display: none
对我来说似乎是一个不错的解决方案(不是style
事情)。 我不喜欢我们如何在生产中使用bug来玩耍。 我们应该1)确保将所有hidden
类都更改为display: none
(因为这是在6mo之前提交的隐含含义;这需要手动完成),或2)删除!important
然后再做(1)。 我不喜欢我们处于这种介于两者之间的状态,在此状态下我们更改了hidden
类的含义而没有检查依赖于此的类。
是的,我在6个月前搞砸了执行程序:( 321d120看起来像是这里的修复,前提是它可以被测试并且可以工作。
希望那只mole鼠会死掉。 我很乐意不这样做,但是在没有可靠地知道哪些模板已废弃并且哪些模板仍处于活动状态的情况下,以及JS随模板以及JS散落的事实,这个任务有些让人不知所措,而且使人丧气(我已经花了30分钟内尝试检查工作流而未取得任何进展,现在感到难过),所以我认为这是目前最好的方法。 一旦发现问题,就可以轻松,快速地解决问题,而作为破坏者,请在看到它们时给我加标签。
Wikidata建议的合并中添加了另外两个示例。 我可以确认隐藏的错误消息的外观问题已得到修复,并且合并失败消息已正确显示给用户,但是基础数据和/或合并问题仍然存在。
尽管显示“ Arg。那没用”错误,但(重要)错误详细信息丢失了。 在DS Margoliouth案中,他们指出了不满意的确切记录:
{'message': 'expected /type/author, found /type/redirect', 'at': {'property': 'authors', 'key': '/books/OL20457133M'}, 'value': '/authors/OL5989450A', 'error': 'bad_data'}
由于我们基本上忽略了版本作者(并且可能不关心它是否是冲突/错误的作者,只要它不是重定向),因此导致作者合并失败对我来说有点愚蠢。
我们应该:
作为附带说明,当错误消息显示“我们已对其进行记录”时,听起来好像它已记录在某处,有人会注意到并修复它。 它被记录了吗? 有人查看日志吗?
另一例失败的情况: https :
@ Camillo-Pellizzari合并的错误是:
{'message': 'expected /type/author, found /type/delete', 'at': {'property': 'authors', 'key': '/books/OL20496191M'}, 'value': '/authors/OL6036269A', 'error': 'bad_data'}
作者记录在2017年被@hornc的CleanupBot删除,因为该记录未在任何作品中使用,但仍在该版本记录中使用。 现在,由于无法编辑版本作者,因此在没有程序员帮助的情况下无法解决这一问题。
另一种情况: https :
该示例有一个错误地归因于OL2677210A Carl Jung的作品:“ The Workbook”是3册商业艺术品目录,其中“ Portfolio”是2册。作者合并错误是一件好事,尽管那是怎么回事(也)晦涩。
@seabelis
哎哟! 这是一部多卷本著作的59条工作记录和2条作者记录,其中包含各种版本,注释和翻译。 我们确实需要一个有关如何最好地构造此类内容的Wiki,但这是一个单独的讨论。 同时,我手动更改了所有工作记录,以链接到前一个作者记录。
谢谢你这样做。 一个用户提交了这个,所以我什至没有注意到有关作品。
我已经将两个Gaius作者记录合并在一起,但是我想也应该合并第三个记录,但是合并时出错: https :
嗯,问题作者记录似乎都是由Import Bot在2008年10月27日创建的。其他奇怪之处可能是提示:它们包括一个过时的“ id =”字段,该字段可通过对该作者记录进行任何直接编辑而删除,但是不能合并,所以这不是问题。 作者姓名后的尾随空格可能是一个因素,或者在某些情况下会出现“ personal name =“字段。
igh,列表越来越长了:(谢谢@ Camillo-Pellizzari;添加到列表中。
这也将失败: https :
再次: https :
+: https :
添加:+1
请注意,这可能会通过https://github.com/internetarchive/openlibrary/issues/2553解决
再次: https :
@ Camillo-Pellizzari
这闻起来像是我们杂音变音符号的另一种遗产。 我已经设法将大部分多余的作者记录合并到https://openlibrary.org/authors/OL4557532A/上的ÉmileEgger,但是最后一条记录在https://openlibrary.org/authors/OL6003522A上却很固执。
再次: https :
另一种情况: https :
@ Camillo-Pellizzari
线索!!!!
我手动将Mayhew的16部作品移到了主要作者记录,但是一个孤立的版本记录仍然存在,也许已被缓存。 作者仍然不会合并。 那个版本的伪作品路径格式错误,在版本记录中标识了原作者,而伪作者路径在https://openlibrary.org/works/OL20459197M中,与工作记录https://openlibrary.org/works/OL2788965W中显示的正确作者冲突
没有办法知道这些奇怪的原因是合并失败的原因,但是如果管理员可以对其进行调整,则可能是有启发性的:
{“出版商”:[“ Chatto和Windus”],“分类”:{},“字幕”:“伦敦生活的幽默,悲痛和特殊之处的插图”,“标题”:“伦敦人物”,“注释” “:“ 1e uitg。(1874年)遇到了de aanduiding \“由Henry Mayhew和其他作家\”(Vgl。Toole-Stott,编号491。)。“,” identifiers“:{},” ocaid“:” londoncharacter00gilbgoog “,” covers“:[9182853],” created“:{” type“:” / type / datetime“,” value“:” 2008-10-27T03:19:48.641147“},” languages“:[{ key“:” / languages / eng“}},” last_modified“:{” type“:” / type / datetime“,” value“:” 2019-12-11T23:49:48.914594“},” latest_revision“:8 ,“ key”:“ / books / OL20459197M”,“ authors”:[{“ key”: “ / authors / OL5239874A” },{“ key”:“ / authors / OL1331553A”}],“ publish_date”:“ 1881 “,” publish_places“:[”伦敦“],” works“:[{” key“:” / works / OL2788965W“}}],” type“:{” key“:” / type / edition“},” oclc_numbers “:[” 67342886“],”修订“:8}
另一种情况: https :
@seabelis找到了另一个https://openlibrary.org/authors/merge?key=OL4586796A&key=OL3206959A
所有版本都列出了两位作者OL2629754A和OL3206959A,其中第一个是redirect 。
当然,版本作者不可编辑,因此无法修复。 我以为可以通过编辑YAML https://openlibrary.org/books/OL13263866M.yml?m=edit来破解它,但运气不好-权限被拒绝。
我能够从链接版本中删除作者。 https://openlibrary.org/books/OL13263866M/Relato_de_un_n%C3%A1ufrago?_compare=Compare&b=6&a=5&m=diff
我想我从另一次谈话中回想起,从版本中删除作者不是首选。 我以为我可以从版本中清除作者,然后重新申请有效的作者,但这会引发错误,
AttributeError: 'str' object has no attribute 'olid'
我想我从另一次谈话中回想起,从版本中删除作者不是首选。
那不是我的意见。 由于无法编辑它们并且不会自动使其保持同步,因此我认为它们比值得的麻烦更多。
我能够从链接版本中删除作者。 https://openlibrary.org/books/OL13263866M/Relato_de_un_n%C3%A1ufrago?_compare=Compare&b=6&a=5&m=diff
您是否可以通过Web UI做到这一点,还是使用了其中一种API?
@tfmorris openlibrary-client通过相关笔记本@cdrini帮助我进行设置。 我用一个空对象替换了版本作者。 这与我以前在用户界面无法合作时删除贡献者的方式相同。 我不确定这是最好的方法,但是它可以让我编辑工作而没有上一个错误。
我仔细研究并解决了上面提到的所有数据问题,并执行了合并(有些工作没有进行任何进一步的更改,它们必须在其他地方得到解决)。
每次合并的确切错误在HTTP 400结果merge.json
中可见,可以在浏览器开发工具控制台中看到,例如:
{'message': 'expected /type/author, found /type/redirect', 'at': {'property': 'authors', 'key': '/books/OL13263870M'}, 'value': '/authors/OL2629754A', 'error': 'bad_data'}
这些消息通常出现在合并结果页面上,至少指向问题版本。 现在他们没有。
谢谢@hornc 。