没有合适的资源?快使用搜索试试~ 我知道了~
软件X 15(2021)100733原始软件出版物生成分子实体作为结构化数据DominikTomaszuk计算机科学研究所,比亚韦斯托克大学,15-245比亚韦斯托克,波兰ar t i cl e i nf o文章历史记录:收到2020年2021年4月21日收到修订版,2021年关键词:结构化数据化学信息学分子实体关联数据a b st ra ct网站通常用于共享化学信息学数据。它们使化学家,药剂师,生命科学家和其他研究人员能够搜索,组织和访问与他们关注的问题相关的数据。作为随着网络上的数据不断增加,科学家们越来越难以找到合适的化学数据。搜索引擎可以解决这个问题,并帮助找到相关的网页。然而,他们在结果中提供的简短摘要往往很少包含关于数据与研究兴趣相关程度的重要性的信息。在本文中,我们提出了一个有效的解决方案,基于生物模式项目的研究我们介绍了三个开源的工具,在Web上生成化学信息学结构化数据。在这些数据发布后,搜索引擎将能够比传统网站上的数据更好地处理这些数据版权所有©2021作者。由爱思唯尔公司出版这是CC BY许可下的开放获取文章(http://creativecommons.org/licenses/by/4.0/)中找到。代码元数据当前代码版本2.0.0用于此代码版本的代码/存储库的永久链接https://github.com/ElsevierSoftwareX/SOFTX-D-20-00067法律代码许可证MIT许可证(MIT)代码版本控制系统使用Git软件代码语言使用Java编译要求,操作环境依赖性Java和Maven用于手动编译; Maven pom. xml文件中的依赖性准备好使用GitHub版本中提供的Docker文件; Docker Hub上的预构建Docker镜像和本地Docker构建的Dockerfile如果可用,链接到开发人员文档/手册https://github.com/lszeremeta/SDFEater/blob/master/README.mdl.szeremeta.devsdfeater@gmail.com支持电子邮件代码元数据当前代码版本3.0.0用于此代码版本的代码/存储库的永久链接https://github.com/ElsevierSoftwareX/SOFTX-D-20-00067法律代码许可证MIT许可证(MIT)代码版本控制系统使用Git软件代码语言使用Python编译要求,操作环境依赖Python,不需要额外的依赖;PyPI中提供了现成的版本存储库,Docker Hub上的预构建Docker镜像和用于本地Docker构建的Dockerfile 如果可用,链接到开发人员文档/手册https://github.com/lszeremeta/molstruct/blob/master/README.md技术支持电子邮件:l.szeremeta.dev + molstruct@gmail.com代码元数据当前代码版本2.0.0用于此代码版本的代码/存储库的永久链接https://github.com/ElsevierSoftwareX/SOFTX-D-20-00067法律代码许可证MIT许可证(MIT)代码版本控制系统使用Git软件代码语言PHP编译 要求, 操作 环境依赖性HTTP服务器,运行PHP(例如Apache/NGINX); Docker用于本地Docker构建的Hub和Dockerfile如果可用,链接到开发人员文档/手册https://github.com/lszeremeta/MEgen/blob/master/README.mdl.szeremeta.devmegen@gmail.com支持电子邮件*通讯作者。电子邮件地址:l. uwb.edu.pl(电子邮件:Szeremeta)。https://doi.org/10.1016/j.softx.2021.1007332352-7110/©2021作者。 由Elsevier B.V.出版。这是一篇开放获取的文章,使用CC BY许可证(http://creativecommons.org/licenses/by/4.0/)。可在ScienceDirect上获得目录列表SoftwareX期刊主页:www.elsevier.com/locate/softxSzeremeta和Dominik Tomaszuk软件X 15(2021)10073321. 动机和意义许多关于分子实体的信息可以在网络上获得[1我们可以使用搜索引擎来找到它。互联网最初是为了人们之间交换文件而设计的因此,这些信息通常仅用于人类消费。基础数据不能以机器可读的形式提供,即,语义形式,用于化学信息学研究和使用,以及供最终用户应用程序使用。其目的是使机器也可以轻松访问数据为了使化学信息学数据的可查找性,两个挑战-必须克服的困难:需要在Web文档中嵌入有关化学对象的丰富元数据必须启用搜索引擎和其他服务对分子实体和化学物质进行索引。Schema.org Project [4]试图从总体上应对这些挑战。 它解决了Web的一个关键问题,使注释网站内的数据变得简单,至少对于最流行的Web内容类型来说是如此。 除了对公众可见的数据之外,网页还可能包含其他结构化数据,这些数据可以很容易地被机器处理。遗憾的是,schema.org不支持化学信息学术语,包括分子实体和化学物质。Bioschemas.org项目[5]将schema.org扩展到生命科学的新类型和属性,包括与化学信息学相关的术语。网站可以使用该词汇表在网页中嵌入分子实体的语义注释,使用标准格式的标记。搜索引擎和其他Web应用程序可以处理语义标记,以增强最相关资源的排名,同时提供更多信息和准确的摘要。我们将Web上的结构化数据定义为在模式和/或词汇表/本体中定义的格式,用于提供关于网页的信息,并对网页上的内容进行分类。这种结构化数据可以表示为以三种形式,即,JSON-LD [6]、RDFa [7]和Microdata[8]。传统网络的基本特征之一是超文本HTML页面之间的链接同样,当结构化数据与其他数据相互关联时,它们可以利用关联数据的优势关联数据的粘合剂是一种链接,指出一段数据与另一段数据之间存在某种关系因此,发布者可以使数据可解释,用户可以通过语义查询找到更多相关的数据。例如,将分子信息与物理化学性质信息联系起来的链接可能会声明分子具有实验熔点、蒸汽压、溶解度、密度等。所有这些属性可以来自各种来源。关于前面提到的挑战,我们的贡献是:一种用于从化学信息学非结构化或半结构化数据转换为结构化数据的方法,实现使用生物模式词汇表的结构化数据格式。我们的方法通过为主要搜索引擎支持的分子创建结构化数据标记来网页标记有助于搜索引擎理解网页上的分子实体信息,并提供更丰富的搜索结果。所提供的工具可以很容易地生成这种结构化数据。这些数据发布后,搜索引擎将能够比传统网站上的数据更好地处理这些数据。搜索引擎为人们找到相关信息提供了一种简单的方法,因为它们支持我们的工具生成的输出格式,如JSON-LD,RDFa和Microdata。考虑到这一愿景,我们开发了三种工具,分子实体和化学物质作为结构化数据使用图式和生物图式词汇表 。 这 些 工 具 的 共 同 点 是 输 出 格 式 是 JSON-LD , RDFa 和Microdata,但每一个都涵盖了不同的用例。为了更容易地决定选择哪种工具,我们以UML活动图的形式创建了工作流的图形表示(见图1)。①的人。本文件的结构如下。第2节描述了科学背景,特别是关联数据、词汇表和结构化数据格式。在第3节中,从逻辑、结构和功能的角度描述了用于生成和发布分子实体的三种不同工具。在第4节中,我们展示了由我们的工具生成的结构化数据的示例。第5节讨论了这些工具的好处和增值功能第六节是论文的总结。2. 科学和技术背景作为人,我们经常可以从网站上获得很多有用的信息。不幸的是,对于机器来说,这一点并不明显。网站具有不同的结构,包含给定信息的文本通常以不同的方式呈现。考虑到这一点,以这种形式提供的信息的机器解释是不平凡的。结构化数据是答案。这些特定格式的数据补充了网页上提供的信息,因此也可以轻松阅读和处理通过机器。搜索引擎和其他Web应用程序可以处理语义标记,以增强最相关资源的排名,同时提供更多信息和准确的摘要。术语关联数据[9]指的是一组最佳实践用于使用万维网联盟标准在Web上发布和连接结构化数据。关联数据可以定义为分成多个部分的数据,这些部分可以通过某些关系相互链接。数据可能存储在不同的位置,但实际上仍然被视为单个实体。关联数据的概念可以与传统网络中的概念进行比较。当涉及到关联数据时,链接直接指向数据,而不是文档。因此,可以构建非常复杂和特定的查询。这意味着可以从现有数据中提取全新的知识,这些数据可能不在“旧”Web中Schema.org [4]是一个在结构化数据中使用的词汇表,具有关联数据原则。Schema.org是在主要搜索引擎运营商的倡议下创建的,它解决了Web的一个关键问题,使得在网站内部注释数据变得简单,至少对于最流行的Web内容类型来说是如此。除了对公众可见的数据之外,网页还可能包含其他结构化数据,这些数据可以很容易地被机器处理。已经准备了许多现成的方案来描述各种类型的数据。其中,我们区分,例如,事件,产品,优惠或文章模式。与此同时,生物模式项目[5]已经创建自2015年以来,生命科学数据,包括化学数据,将使用结构化数据进行描述。参与的社区开发人员正在研究新的类型和属性,这些类型和属性以后可能会包含在schema.org中。新的类包括MolecularEntity,生物化学实体、化学物质和蛋白质。网站可以使用这个词汇表来嵌入molec的语义注释网页内的实体,以使用标准格式的标记形式。我们的工具使用的一 些 属 性 是 : iupacName , smiles , inChI , inChIKey ,molecularFormula,molecularWeight等。结构化数据可以用三种格式表示,即:JSON-LD、RDFa和Microdata。JSON-LD是一种著名的关联数据格式。它基于JavaScript对象表示法(JSON)····Szeremeta和Dominik Tomaszuk软件X 15(2021)1007333格式[10],呈现紧凑且易于机器处理的语法。JSON格式在Web应用程序中被广泛使用JSON- LD应该放在网站上的脚本元素中。RDFa和微数据用于通过添加额外的超文本标记语言(HTML)属性来补充用户可见的数据。这两种语法都用在标记语言中。3. 软件描述我们准备了三种不同的工具来转换和生成结构化数据:SDFEater、1Molstruct2和MEgen。3它们都支持三种结构化数据格式,即,JSON-LD、RDFa和Microdata。选择正确的工具的过程如图所示。1.一、第一步是帮助用户选择合适的工具。可能的选项有:具有简单用户界面的网络应用程序,允许用户创建有关分子的新数据(MEgen),一种基于化学表格文件转换化学信息学数据的工具,包括SDF和molfile(SDFEater),工具支持逗号分隔值(CSV)作为输入(Molstruct)。第二步允许用户决定他们需要的输出格式。在此步骤中,可以选择基于JSON的格式,HTML嵌入式RDFa或Microdata。第一种和第二种格式是基于RDF的,最后一种是针对传统Web开发人员的。我们的软件使用Bioschemas MolecularEntity词汇表的主要版本(版本0.5)。我们的三个工具的共同特点是输出为结构化数据(JSON-LD,RDFa,Microdata)。所有生成的格式都可以发布。JSON-LD和RDFa都可以使用许多RDF库和工具进行处理,例如Apache Jena(Java),Eclipse RDF 4J(Java),dotNetRDF(C#),graphy.js( JavaScript ) , rdflib.js ( JavaScript ) , Redland RDF Library(C),RDFLib(Python)等。 此外,RDFa和微数据可以由大量支持DOM、XML和SAX等标准的工具执行。我们的工具生成的数据也可以用作网站上的附加内容。例如,这些注释可以丰富诸如ChEBI、KEGG Compound、PubChem Compound、ChEMBL、PDBeChem等化学数据库的网页。附加数据不仅将改进将“理解"内容的搜索引擎的索引,而且还将允许用户例如通过语义查询将该数据与其他来源组合。我们的软件架构包括几个模块,这些模块在不同的抽象级别上操作数据。有关该体系结构的详细信息,请参见存储库中的文档。此外,在文档中,用户将找到使用示例、可能的配置选项以及有关如何运行和使用这些工具的其他有用信息3.1. 软件概述在化学信息学中非常流行的文件格式是SDF。4此格式包含分子元数据以及MDL Molfile格式的原子和键的详细信息。5它可以表示多个化学结构记录和相关的数据字段。我们的工具SDFEater支持将SDF作为输入。1 https://github.com/lszeremeta/SDFEater网站。2 https://github.com/lszeremeta/molstruct网站。3 https://github.com/lszeremeta/MEgen网站。4 https://www.daylight.com/meetings/mug05/Kappler/ctfile.pdf6章5 https://www.daylight.com/meetings/mug05/Kappler/ctfile.pdf四章Fig. 1. 选择工具和格式工作流程。菱形象征决策,椭圆象征动作,条形象征并发活动的开始或结束,黑色圆圈象征工作流的开始,而被包围的黑色圆圈象征结束。SDFEater是一个用Java编写的命令行程序,它支持SDF文件作为输入。Java是一种通用的面向对象程序设计语言。 它的多功能性包括大量的潜在应用程序和在许多硬件平台上操作的可能性,而不需要重新编译产生的程序。 SDFEater支持12种输出格式,包括三种结构化数据格式,即,JSON-LD、RDFa和Microdata。JSON-LD有两种变体(纯JSON-LD和HTML中的嵌入式JSON-LD)。 除了结构化数据格式之外,还有4种其他格式支持Molecularly类。SDFEater有一个内置的周期表,用于某些格式,以补充有关元素的附加信息的数据。此外,该工具可以将数据库标识符丰富为完整的统一资源定位符(URL)。···Szeremeta和Dominik Tomaszuk软件X 15(2021)1007334下一个可以存储分子实体的文件格式是逗号分隔值(CSV)[11]。此文件支持表格数据。在CSV中,各个列由逗号分隔,每个新数据记录都以新行开始。我们的工具Molstruct支持CSV作为输入。Molstruct是一个命令行Python工具,它接受CSV格式的数据。Python是一种解释性编程语言,专注于简单的语法和多功能性。它被广泛用于创建各个领域的编程项目,包括科学工具。Molstruct被设计成一个轻量级的工具,不需要额外的依赖性。它将以CSV格式保存的化学数据(带有标题)转换为结构化数据。它支持三种输出格式,即,JSON-LD、RDFa和Microdata。除了纯JSON-LD之外,还可以在HTML中嵌入JSON-LDCSV格式的即用型数据可从DrugBank数据库下载[12]。默认的列名是预定义的,但是也可以将其更改为自定义的名称.此外,该工具支持不同来源的预定义设置,这缩短并促进了程序执行。还有一种可能性是,要打印的数据Molstruct已在Python包索引(PyPI)中发布6这使得安装简单方便。第三个工具是分子实体生成器(MEgen)。它是一个用PHP创建的基于Web的应用程序Bootstrap库用于客户端。我们使用Bootstrap中的组件来创建图形用户界面。PHP是一种解释型编程语言,专门用于创建Web应用程序,我们在服务器端使用它与前两个自动化工具不同,MEgen支持手动数据输入。 在用分子数据填充表格后,生成所选格式的文件。该工具支持以选定的结构化数据格式之一生成有关单个或多个分子的信息与以前的工具一样,有三种输出格式,即JSON-LD(两种变体),RDFa和Microdata,它们都基于Molecularly类。该工具具有用户输入的基本验证MEgen需要Web服务器,Apache或NGINX运行,以及PHP解释器。该应用程序也可以作为Docker7容器使用,这使得它很容易运行。MEgen可在https://megen.top上查阅。图2显示了该工具的图形用户界面。3.2. 复制和持续集成我们的工具旨在可复制和可访问。我们的工具环境是用Docker容器标准化的。这使得运行我们的程序而不需要安装额外的依赖项成为可能,总是在不同计算机上的相同环境中。我们工具的所有容器都可以从Docker Hub8中获得,无需手动构建即可轻松使用。此外,这些工具试图充分响应用户在选择文件或在表单中输入错误数据时的错误。这些工具包括可选级别的调试语句,以帮助用户识别错误。持续集成(CI)方法还通过关注持续合并到生产版本中的较小和有针对性的贡献来解决软件中的代码质量问题。CI服务提供了一组工具来自动化代码测试,因此,通过关注重复的任务来帮助代码审查任务6 https://pypi.org/网站。7 https://www.docker.com/网站。8 https://hub.docker.com/网站。的 自动 我 们的 工 具环 境 使用 CI 服 务进 行 标准 化 , 例如 GitHubActions9和Travis CI。10对于SDFEater,GitHub Actions和Travis CI用于在任何更改(包括pull re-quests)后预构建和测试项目。这在Java 8、11和16以及最新版本的Ubuntu、Mac OS和Windows上执行。Molstruct还使用GitHub操作。与SDFEater类似,Python包会针对每个对存储库的push或pull请求进行构建和测试。这些操作在GitHub Actions中的各 种 Python 版 本 和 不 同 的 操 作 系 统 ( Ubuntu , Mac OS ,Windows)上执行。 此外,还使用Flake8棉绒11如果发现语法错误或未定义的名称程序包被中止。这可以被视为额外的代码检查。在SDFEater和Molstruct中,我们使用白盒测试,因为这些工具具有复杂的控制流图。SDFEater使用JUnit框架,而Molstruct使用pytest框架。在这两种情况下,我们主要关注单元测试。另一方面,我们在MEgen中使用黑盒测试,因为它主要关注手动进入软件的输入和产生的输出。在这里,我们使用Apache JMeter进行负载测试和功能测试。所有测试都是通过Github Actions 执行的。此外,SDFEater还在测试中使用Travis。除此之外,应用程序代码还经常使用Codacy进行检查。12我们还使用IDE对于Molstruct,Pylint13也用于检查源代码。3.3. 持续交付和持续部署持续交付是持续集成的扩展整个出版过程是自动化的。这最大限度地减少了停机时间,从而加快了整个过程.发布新版本可以在任何时候完成,手动活动可以例如,可以仅限于添加说明和单击发布按钮。使用GitHub Actions进行持续交付。对于SDFEater,在创建了带有release version的特殊标记(以v开头)之后,会创建一个常规版本,其中包含自上次常规版本以来的提交列表以及构建的jar文件。这简化了发布新程序版本的过程。对于Molstruct,在创建一个以v开头的发布标签后准备开发和常规发布,这与SDFEater非常相似。而不是构建Python文件,而是构建PyPI的包。此外,当在GitHub上创建发布标签时,软件包会自动发送并发布PyPI版本。MEgen实现了将更改自动部署到服务器。用户可以选择最新发布的版本(megen.top)或在主存储库分支(beta.megen.top)中每次更改后发布的beta版本持续部署比持续交付更进一步。在这种情况下,新软件版本的发布是自动化的。存储库中的每个更改都可能触发预定义的操作,然后发布新的软件版本。在没有人工干预的情况下执行这些活动可以集中精力于其他任务,并最大限度地减少人为错误的风险。我们为SDFEater、Molstruct和MEgen创建全自动的公共开发版本。除了常规版本外,还有其他版本可供那些希望使用9 https://github.com/features/actions网站。10 https://travis-ci.com/网站。11 https://pypi.org/project/flake8/网站。12 https://www.codacy.com/网站。13 https://pypi.org/project/pylint/网站。Szeremeta和Dominik Tomaszuk软件X 15(2021)1007335图二、 分子实体生成器(MEgen)Web应用程序的屏幕截图。MEgen允许从表单中提供的数据生成文件最新功能它还简化了手动测试,因为最新的编译版本总是作为beta版本提供。类似于持续交付,我们使用GitHub Action来实现这一目的。此外,对于每个工具,包括MEgen,构建Docker容器是由存储库中使用单个应用程序代码执行的操作触发的。此外,Docker Hub中可用的包具有映射的版本标记,Docker Hub中的最新标记对应于主存储库分支中4. 说明性实例现在,我们提供了每个工具上下文中的典型管道的说明性示例。为了说明这些工具,我们使用了第4.1节中提供的五个数据集。我们的数据集在第4.2节中得到了正确的解析和可视化。在第4.3节和第4.4节中, 第4.4节,提供了加载和查询由我们的工具生成的数据的例子来说明这项工作的能力。为了说明我们的工具和数据产生的有用性,我们考虑两个案例研究两个环境:RDF数据库(所谓的triplestores),和Web文档。4.1. 数据集准备和设置为了展示从我们的工具生成的结构化数据,我们提供了五个数据集。第一个数据集(DS1)包含125228种化合物。它基于生物学感兴趣的化学实体(ChEBI)[3]数据库,主要涉及小化学化合物。ChEBI使用来自IntEnz、KEGG COMPOUND、PDBeChem和ChEMBL等外部来源的数据。 每个分子实体在发布之前由专家注释员手动注释。ChEBI使用命名法、符号和术语重点关注有关药物和药物靶点的定量、分析或分子级信息。DS2包含药物的信息,包括化学结构和FDA批准的小分子药物。第三个数据集(DS3)包含300种化合物。DS3基于维基数据知识库,包含基本药物。维基数据是基于维基百科项目的不同类型的数据源。该数据集通过SPARQL查询生成,限于300个分子实体。第四个数据集(DS4)包含200种化合物。与DS2数据集一样,该数据集基于DrugBank数据,但使用不同的数据格式。为了演示工具中的基数控制选项,我们将分子实体限制为200。第五个数据集(DS5)包含50个手动创建的分子。该数据集受到PubChem [13]的启发,PubChem是一个包含多种物质描述和小分子的化学数据库。DS5包含SARS-CoV-2和COVID-19疾病特有的病毒-宿主相互作用机制的分子实体。SDFEater用于创建DS1和DS2数据集。使用Molstruct创建DS3和DS4数据集,使用MEgen创建DS5数据集。有关数据集的更多详细信息见表1。所有数据集[14]都可以从www.example.com下载https://data.mendeley。com/datasets/n9xwfs5fcj/1.SDFEater。SDFEater可以以NTFS文件格式下载。14在存储库中,用户可以找到安装和使用此工具的替代选项。SDFEater运行的示例java-jar sdfeater.jar-f rdfa-iChEBI_complete_3star.sdf>rdfa.htmlMolstruct。要安装Molstruct,用户可以使用PyPI (像任何其他Python包一样):国际纯粹与应用化学联合会(International Unionof Pure and Applied Chem)(国际化联)。下一个数据集(DS2)包含9137种化合物。它基于DrugBank数据库[12]。DrugBank数据库14 在GitHub存储库中,用户可以找到当前SDFEater所需的Java版本信息,例如:SDFEater 2.0.0需要Java 8+。Szeremeta和Dominik Tomaszuk软件X 15(2021)1007336表1数据集详细信息。数据集分子三元组数据格式工具DS11252281148490JSON-LDSDFEaterDS2913786345JSON-LDSDFEaterDS33003099RDFa莫尔斯特吕克DS42002115RDFa莫尔斯特吕克DS550513a微观数据梅根a转换为土地发展框架后为三倍。pip install molstruct在存储库中,用户可以找到安装和使用此工具的替代选项。Molstruct运行的示例molstruct -p drugbank-open-fmicrodata“drugbank vocabulary.csv”>microdata.html梅根要使用MEgen,用户只需要打开https://megen。top/.4.2. 验证和可视化为了检查工具中生成的数据是否有效,是否可以解析和可视化,我们使用了结构化数据链接器(SDL)。15它是检查网站上结构化数据的工具之一。它是一个Web应用程序,直接从Web浏览器工作,而无需安装额外的软件。在提供链接、加载或粘贴超文本标记语言(HTML)文件的内容后,它将显示一个摘要表,其中包含有关所包含结构化数据的信息。STL只支持少量的数据,所以我们把输出分成了一个小文件,里面有一个单分子实体。我们测试了不同格式的随机文件。所有测试的结构化数据均有效且可解析。 图 3,一个分子称为缬氨酸具有额外的性质。最重要的属性是:inChI是一种具有可变字符数的化学标识符[15],inChIKey,它是散列inChI的27个字符的文本使用SHA-256 [15],molecularFormula是分子的经验公式,smiles是使用ASCII字符串书写化合物分子的另一种方式[16]。我们的工具还支持Dataset类的基于schema.org的元数据。此标记的目的是为了提高我们从搜索引擎中提供的工具中发现化学信息学数据集。Google数据集搜索。16为了检查我们的工具中生成的元数据是否有效,是否可以解析或搜索,我们使用了GoogleRich Results Test(GRRT)。17该工具允许用户输入网络资源或代码片段的参考,以测试数据和元数据是否适合搜索引擎。GRRT处理两个级别的问题,应该修复的错误和提交给出版商考虑的警告我们的工具生成的每个文件格式所有结构化数据均有效且可解析。图4、给出了结果之一。15 http://linter.structured-data.org/网站。16 https://datasetsearch.research.google.com/网站。17 https://search.google.com/test/rich-results网站。4.3. 存储上的数据查询我们已经准备了DS1和DS2数据集以及四个SPARQL [17]查询:Q1,Q2,Q3和Q4。SPARQL是一种用于数据库的语义查询语言,可以选择和更新存储在RDF中的数据,包括结构化数据。数据集DS1和DS2由SDFEater生成。在DS1上,我们准备Q1和Q2查询。在Q1中,我们使用了多个匹配,以及一个聚合函数来计算给定表达式有界的次数。这里,我们有一个不创建绑定的可选模式。在Q2中,我们采用了一个查询,它根据RDF三元组的值进行排序,设置偏移量和限制。在DS2上,我们准备Q3和Q4查询。Q3是一个查询,它返回由图模板指定的在这个查询中,我们使用UUID函数,它创建一个通用的唯一标识符。Q4是多匹配查询,我们将其转换为浮点数,并将分子量舍入为指定的位数。演示如何使用我们工具中生成的数据在存储中,我们选择Apache Jena数据库18和Apache Fuseki。Apache Jena是一个基于Java的关联数据应用程序框架。它允许管理和存储RDF图,构建SPARQL查询,并支持vocabulary,而Apache Fuseki是一个后端,允许在Apache Jena数据库中存储RDF数据以及执行SPARQL查询。在第一步中,我们通过Apache Fuseki将DS1、DS2、DS3和DS4加载到Apache Jena数据库。在第二步中,Q1、Q2、Q3和Q4在ApacheFuseki上执行。所有手术都很成功。生成的数据是正确的,可以放心使用。Q2查询执行的结果如图所示。 5点4.4. 网上数据查询在4.3节中,我们准备了三个SPARQL查询。在这里,查询直接在我们的工具生成的标记文档上执行。为了执行这些查询,我们使用Rasqal,20这是一个用于关联数据环境中的SPARQL查询语言的工具。使用Molstruct生成DS3和DS4数据集,使用MEgen生成DS5数据集。在DS3数据集上,我们执行Q5,其中我们为结果设置顺序和限制。这个查询的结果如图所示。5b.在DS4数据集上,我们执行Q6,测试查询模式是否有解。在这个查询中,我们使用多个匹配。在DS5上,我们执行Q7,其中我们建立解序列的顺序第4.3节和第4.4节的所有质询总结见表2。规范形式的具体语法和查询结果[18]可以从https://data.mendeley.com/datasets/bjxfm5v 44 n/1下载。所有质询均列于表3中。5. 影响我们的工具的关键影响是它们能够读取人类和机器的分子实体数据。更重要的是,我们的工具填补了化学信息学数据生成、发布和可搜索性方面的空白。我们的工具还涵盖所有结构化数据格式。我们的工具多种多样。这是因为它们涵盖了不同的用例和场景。SDFEater和Molstruct有一个命令行界面,可以很容易地在高级和自动化的数据管道中使用。这一点很重要,因为已经存在的数据会被处理,而且通常会有很多数据。同时,MEgen是一个专用于非高级用户的工具,18 https://jena.apache.org/网站。19 https://jena.apache.org/documentation/fuseki2/网站。20 http://librdf.org/rasqal/网站。····Szeremeta和Dominik Tomaszuk软件X 15(2021)1007337图三. Structured Data Linter中的结构化数据结构化数据Linter允许插入结构化数据(在顶部),并以人类可读的方式呈现这些数据。方式(在底部)。见图4。Google Rich Results Test中的结构化数据。Google Rich Results Test允许插入结构化数据(左侧),并以人类可读的方式呈现这些数据(右侧)。表2不同查询中使用的功能的摘要··可以在图形用户界面中容易地创建化学分子。此外,我们的工具是跨平台的,因此可以在多个计算平台上实现。来自不同数据集的自动生成的结构化数据不涉及用户承诺,并且不需要了解整个schema.org词汇表。大量化学信息学数据集的手动转换容易出错且耗时。此外,在数据结构改变的情况下,可以容易地重复此外,用户可以很容易地调整生成的文档,以满足他们的需求。此外,将如此丰富的元数据添加到我们的工具生成的数据中是使数据公平的一步[19],即可查找,可扩展,可互操作和可重用。每个分子实体都可以被分配IRI,IRI是数据的持久标识符。用户可以指示基础IRI。此外,可以在自动生成的标识符中使用通用唯一标识符(UUID)。数据集Q1Q2Q3Q4Q5Q6Q7DS1DS1DS2DS2DS3DS4DS5简单查询多个匹配聚合函数询问结构订单可选模式界限················Szeremeta和Dominik Tomaszuk软件X 15(2021)1007338图五、A部分显示了 通 过 Ap a c h e Fu s e k i 在Web上 的 查 询 Q2 和结果,B 部分显示了 通 过 Ra s q a l SP A R Q L 在 本 地 存 储 上 的 查询(Q5)和结果。表3用于测试数据集的SPARQL查询。我们使用众所周知的前缀,例如www.example.com的schemaschema.org,DBPedia的dbo和XML Schema的x s d 。号查询Q1SELECT(?id)AS?count)WHERE{?molecule a schema:分子实体. 什么?分子模式:标识符?ID. 什么?分子图式:微笑?笑容可选{?分子图式:描述?desc. }}个文件夹Q2SELECT?iupacName?微笑?inChIWHERE {?分子图式:微笑?微笑. 什么?molecule a schema:MolecularEntity.什么?分子模式:iupacName?iupacName. 什么?分子图式:inChI?在中国。 } ORDER BYDESC(?名称)偏移5限值10第3季度合同{?s dbo:微笑?笑容{?分子图式:微笑?笑容BIND(UUID()AS?s)。个文件夹Q4SELECT?名字?altname?molecularWeightWhere{?分子模式:alternateName?别名。什么?分子模式:名称?名字什么?分子模式:molecularWeight?重量. BIND(ROUND(xsd:float(?weight))AS?分子量)}Q5选择?nameWHERE {?分子模式:名称?名字 } ORDER BY DESC(?名称)限值10问题6提问{?分子模式:名称?名字?分子模式:标识符?ID. 个文件夹Q7选择?分子?{?分子模式:名称?在ChIKey。订单?inChIKey数据(F)。此外,我们的方法有一组标准的属性,但它也有能力设置自定义数据(F)。我们的数据也可以通过Web(A)获得,并且具有多种表示形式,既有人类(HTML),也有机器可读(RDF)(A)。分子实体注释丰富的元数据,使用社区标准和词汇表(I)。数据存储为RDF以实现互操作性(I),资产可以下载以供重用(R)。更重要的是,我们的工具生成的数据是准备好的,作为五星级开放数据发布[20],并可以根据关联数据原则发布[9]。对于在Web上发布和链接结构化数据的最佳原则,我们的工具创建的数据集满足以下规则:(1)使用IRI作为分子的名称,(2)使用HTTP IRI,以便可以查找这些名称(解引用),(3)在查找这些IRI时返回有用的信息(特别是RDF),(4)通过使用IRI来包含链接,这些IRI解引用到远程文档。6. 结论我们准备了三种不同的工具来转换和生成结构化数据:SDFEater、Molstruct和MEgen。它们都支持三种结构化数据格式,即,JSON-LD、RDFa和Microdata。这些工具是用三种不同的编程语言实现的。我们的生成器涵盖了所有的创建方法,包括CLI和GUI。它们允许手动创建和自动转换分子实体。这些工具证明了它们在支持专家和非IT专家转换和生成结构化数据方面的有效性。我们的工具生成的数据支持公平和关联数据原则。我们计划进一步努力提高工具
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 4
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- zigbee-cluster-library-specification
- JSBSim Reference Manual
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功