楼主: 大多数88
979 25

[计算机科学] 语义网络基础上的通用计算 [推广有奖]

  • 0关注
  • 3粉丝

会员

学术权威

67%

还不是VIP/贵宾

-

威望
10
论坛币
10 个
通用积分
71.0197
学术水平
0 点
热心指数
4 点
信用等级
0 点
经验
23294 点
帖子
3809
精华
0
在线时间
0 小时
注册时间
2022-2-24
最后登录
2022-4-15

楼主
大多数88 在职认证  发表于 2022-4-15 09:59:57 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
摘要翻译:
本文提出了一个基于语义网络的通用计算模型。提出的概念适用于任何语义网络表示。然而,由于专门用于语义Web工作的标准和技术基础结构,本文是从这个角度提出的。在所提出的计算模型中,应用程序接口、运行时程序和计算虚拟机的状态都用资源描述框架(RDF)来表示。这些概念的实现提供了一个实用的计算范例,利用了语义Web的高度分布式和标准化的表示层。
---
英文标题:
《General-Purpose Computing on a Semantic Network Substrate》
---
作者:
Marko A. Rodriguez
---
最新提交年份:
2010
---
分类信息:

一级分类:Computer Science        计算机科学
二级分类:Artificial Intelligence        人工智能
分类描述:Covers all areas of AI except Vision, Robotics, Machine Learning, Multiagent Systems, and Computation and Language (Natural Language Processing), which have separate subject areas. In particular, includes Expert Systems, Theorem Proving (although this may overlap with Logic in Computer Science), Knowledge Representation, Planning, and Uncertainty in AI. Roughly includes material in ACM Subject Classes I.2.0, I.2.1, I.2.3, I.2.4, I.2.8, and I.2.11.
涵盖了人工智能的所有领域,除了视觉、机器人、机器学习、多智能体系统以及计算和语言(自然语言处理),这些领域有独立的学科领域。特别地,包括专家系统,定理证明(尽管这可能与计算机科学中的逻辑重叠),知识表示,规划,和人工智能中的不确定性。大致包括ACM学科类I.2.0、I.2.1、I.2.3、I.2.4、I.2.8和I.2.11中的材料。
--
一级分类:Computer Science        计算机科学
二级分类:Programming Languages        程序设计语言
分类描述:Covers programming language semantics, language features, programming approaches (such as object-oriented programming, functional programming, logic programming). Also includes material on compilers oriented towards programming languages; other material on compilers may be more appropriate in Architecture (AR). Roughly includes material in ACM Subject Classes D.1 and D.3.
涵盖程序设计语言语义,语言特性,程序设计方法(如面向对象程序设计,函数式程序设计,逻辑程序设计)。还包括面向编程语言的编译器的材料;关于编译器的其他材料可能在体系结构(AR)中更合适。大致包括ACM主题课程D.1和D.3中的材料。
--

---
英文摘要:
  This article presents a model of general-purpose computing on a semantic network substrate. The concepts presented are applicable to any semantic network representation. However, due to the standards and technological infrastructure devoted to the Semantic Web effort, this article is presented from this point of view. In the proposed model of computing, the application programming interface, the run-time program, and the state of the computing virtual machine are all represented in the Resource Description Framework (RDF). The implementation of the concepts presented provides a practical computing paradigm that leverages the highly-distributed and standardized representational-layer of the Semantic Web.
---
PDF下载:
--> English_Paper.pdf (599.39 KB)
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:网络基础 语义网 Presentation Architecture Standardized

沙发
nandehutu2022 在职认证  发表于 2022-4-15 10:00:05
无辐射网络基础上的通用计算*Marko a.RodriguezDigital Library Research and Protoding TeamLos Alamos National LaboratoryLos Alamos,新墨西哥州87545原始版本:2007年4月16日修订版本:2007年10月7日本文提出了一个语义网络基础上的通用计算模型。本文所提出的概念适用于任何语义网络表示,但是,由于语义Web E-ORT的标准和技术基础,本文是从这个角度出发的。在所提出的计算模型中,应用程序接口、运行时程序和计算虚拟机的状态都用资源描述框架(RDF)来表示。这些概念的实现提供了一个实用的计算范例,利用了语义网的高度分布式和标准化的表示层。关键字:资源描述框架,Web本体语言,虚拟机,面向对象程序设计,语义网计算1引言本文讨论了语义网中的计算。语义网络是一个直接标记图(Sowa,1991)。本文认为计算机的状态、底层指令和执行程序都可以用语义网络来表示。所给出的计算模型可以使用任何语义网络表示来实例化。然而,鉴于资源描述框架(RDF)(Manola&Miller,2004)和流行的Web本体语言(OWL)(McGuinness&Harmelen,2004)的存在,本文介绍了这些结构的理论和应用。本文讨论了广泛的概念,包括来自计算机体系结构、语义Web和面向对象编程的概念。为了容纳所有感兴趣的读者,EachDiscrime的概念将在本导言中以教程级别介绍。本文的其余部分将介绍所提出的模型的更深入的实际应用。实际应用包括一个称为Fhat的RDF虚拟机体系结构(RVM)的规范(发音为F AT,类似于“FAT”)和一个称为Neno的RDF编程语言(发音为N.EN.O,类似于“kney-know”)。本文的介绍分为三个小节。§1.1简要介绍了计算机体系结构的基本概念,以便阐明下列概念:Rodriguez,M.a.,“语义网络基础上的通用计算”,紧急Web智能:高级语义技术,高级信息和知识处理系列,编辑。R.Chbeir,A.Hassanien,A.Abraham和Y.Badr,Springer-Verlag,第57-104页,ISBN:978-1-84996-076-2,2010年6月2日。Marko A.Rodriguez-2007 2将在本文后面的文章中引起主要兴趣。§1.2讨论了语义网和theRDF语义网络数据模型。最后,§1.3概述了面向对象编程及其与OWL.1.1通用计算的关系,虚拟机通用计算机是支持任何已知计算的计算机。可计算性的意义和计算所需的内容是艾伦·特宁在20世纪30年代末提出的(Turing,1937)。从那时起,随着计算机工程的巨大进步,今天的大多数计算机都是通用计算机。计算机的两个主要部件是中央处理器(CPU)和主存储器(RAM)。CPU的目的是执行计算(即对数据执行算法)。通常,CPU从RAM中读取指令和数据,执行计算,并将其结果重新插入RAM。

藤椅
能者818 在职认证  发表于 2022-4-15 10:00:11
大多数CPU维护它们可以执行的相对较小的一组指令(Hennessy&Patterson,2002)。例如,指令包括add、sub、load、store、branch和goto等。然而,这些基本指令可以变成执行程序员所希望的任何计算任务。目前,数字计算机中最小的信息单位是比特。位可以是0也可以是1。位组合成字节(8位)和字(机器架构相关)。大多数日常使用的台式机都有一个32位字,被称为32位机。32位可以用来表示2个“事物”。例如,无符号32位整数可以表示数字0到4,294,967,295。虽然指令和数据一样,是用一系列的0s和1s表示的,但是可以用一种更人性化的可读性的形式来表示指令。二进制机器语言上面的抽象称为汇编语言(Britton,2003)。例如,以下三个汇编指令Load 2,3 Load 1,2add 1,2,3store 3,2指令CPU:1)读取内存地址2的内存单元中的字并将其存储在CPU寄存器3中;2)读取内存地址1的字并将其存储在寄存器2中;3)添加寄存器1和2的内容并将结果存储在寄存器3中;4)将寄存器3中的字存储在RAM的内存地址2中。现代计算机语言的抽象层次比机器语言和汇编语言都高得多。例如,以前的指令可以用一个语句asz=y+x,其中寄存器1保存变量y的值,寄存器2保存变量x的值,内存地址3保存变量Z的值。语言编译器的目的是将人类可读/可写的源代码翻译成CPU的计算机代码。简单地说,编译器是将一种语言编写的信息转换为另一种语言的计算机程序(Aho,Sethi&Ullman,1986)。在实践中,编译器将人类代码转换为存储在RAM中的CPU指令列表,并由CPU按照ECPU的程序计数器(PC)指示的顺序执行。在某些情况下,编译器会将humancode转换为CPU的本地语言(CPU的指令集)。在其他情况下,编译器将把人类代码翻译成另一种语言,供虚拟机进行计算(Craig,2005)。虚拟机语言称为字节码。一个虚拟机器,在所有实际用途中,是一个用软件而不是硬件来表示的CPU。然而,根据实现的复杂度,虚拟机可以执行Hard实现(其中硬件的精确软件副本被实例化)或asoft实现(其中更多的硬件组件被黑盒装在软件中)。Marko a.Rodriguez-2007 3虚拟机通过使用底层HardwareCPU的指令集计算其字节码指令。最后,为了完成计算堆栈,CPU依赖于底层的自然物理定律来计算它的指令。物理定律驱动ECPU从一个州到另一个州。世界上的国家和事物的演化是计算的,最流行的虚拟机可能是Java编程语言(Eckel,2002)的Java虚拟机(JVM)(Lindholm&Yellin,1999)。JVM是一个在物理机器上运行的软件。JVM有自己的指令集,就像硬件CPU有自己的指令集一样。JVM驻留在RAM中,需要物理CPU来计算其演化。因此,JVM将其指令转换为本机CPU的指令集。该模型的优点是,不管底层硬件CPU,为该CPU体系结构设计的JVM可以读取和处理任何Java软件(即任何Java字节码)。

板凳
大多数88 在职认证  发表于 2022-4-15 10:00:17
缺点是计算速度比将指令表示为本机CPU.1.2语义Web和RDF,前一节描述了计算的最基本方面。本节介绍了计算的一个最抽象的层次:语义Web。语义Web的主要目标是为描述资源(物理和概念)及其相互关系提供一个标准化框架(Fensel,Hendler,Lieberman,&Wahlster,2003)。这个框架被称为资源描述框架(RDF)(Manola&Miller,2004)。说明最低的表示单位是通用资源IDENTI(URI)(Berners-Lee,Fielding,Software,Masinter,&Systems,2005)和文字(即字符串、整数、点数等)。当两个资源共享相同的URI时,它们是thesame资源。但是,请注意,当两个资源不共享相同的URI时,这并不一定意味着它们不是相同的资源。在实践中,URI是命名空间的,以确保在不同的组织之间不会发生名称冲突(Bray,Hollander,Layman&Tobin,2006)。例如,URI http://www.newspaper.org/articlecan比http://www.science.net/article,具有更明确的含义或内涵,因为它们来自更明确的命名空间。RDF的第二个原则指出,URI和文字值连接到三元组的另一个集合,表示有向标记图的边。三重是可以断言的关于世界的最小的关系事实(Sowa,1999)。例如,“我是”这个陈述可以用三重形式来表示(我,是,我)。三元组的figurrst元素称为subject,可以是任何URI。第二个元素称为谓词,它也可以是anyuri。最后,第三个元素称为对象,它可以是任何URI或文字。IfU表示所有URI的集合,L表示所有文字的集合,那么一个以G表示的RDF网络可以被定义为G(U×U×(UüL))。RDF引起了商业和学术的兴趣,这不仅是因为它的语义Web视觉,而且因为它提供了一种独特的数据建模方法。这种热情引发了各种三存储应用程序的开发和分发,这些应用程序致力于RDF网络的存储和操作(Lee,2004)。一些三元存储可以支持RDF网络上的10Triples数量级的计算(Aasman,2006)。三元存储类似于关系数据库。但是,三元存储将数据表示为语义网络,而不是在关系表中表示数据。triplestore提供了一个到RDF网络的接口,用于从RDF网络读取和写入RDF网络。实现最多的查询语言是SPARQL协议和RDF查询语言(SPARQL)(Prud\'Hommeaux&Seaborne,2004)。SPARQL大致上是SQL(一种关系数据库语言)和Prolog(一种逻辑编程语言)的混合体(Louden,2003)。作为一个例子,下面的SPARQL查询返回所有URIs,它们都是CognitiveScientist和ComputerScientist,请注意RDF是一个数据模型,而不是语法。RDF有许多独特的语法,如RDF/XML(Manola&Miller,2004)、记号3(N3)(Berners-Lee,1998)、N-TRIPLE格式(Beckett,2001)和TRiX(Carroll&Stickler,2004)。本文将不讨论空白节点,为了简洁起见,通常使用prefixes来代替完整的命名空间。例如,http://www.w3.org/1999/02/22-rdf-syntax-ns#预先设置为rdf:.Marko a.Rodriguez-20074select?xwhere{?x<rdf:type><computerscientis>.?x<rdf:type><ComputerScientist>}示例SPARQL查询将变量?x绑定到所有URI,这些URIs是三元组的主体,谓词为rdf:type,对象为ComputerScientist和ComputerScientist。

报纸
mingdashike22 在职认证  发表于 2022-4-15 10:00:24
对于图1所示的示例RDF网络,x将绑定到Marko。因此,上面的查询将返回marko.markoComputerScientistCognitiveScientistrDf:TyperDf:TypeFigure 1:一个示例RDF网络。前面的查询可以用其更多的集合论意义来表示asX={?X(?X,RDF:type,ComputerScientist)∈G(?X,RDF:type,CognitiveScientist)∈G},其中X是绑定到?X的URI集,G是表示为anedge list的RDF网络。上述语法的语义是“x是所有元素的集合?x使得?x是以rdf:type,ComputerScientist为结尾的三元组的头,而以rdf:type,CognitiveScientist为结尾的三元组的头,其中两个三元组都在三元组G中”。直到最近才有人提议扩展SPARQL,以支持在RDF网络中写入和删除三元组。SPARQL/UPDATE(Seaborne&Manjunath,2007)可以用来添加这样一个事实,即Marko也是一个RDF:Type of Human.insert{<Marko><RDF:Type><Human>。}在一个更符合集合论的符号中,这个语句等效于G=Gü(Marko,RDF:Type,Human)。前一个语句的语义是:“将triple list G设置为与triple(Marko,RDF:Type,Human)联合的当前triple listG。最后,可以使用SPARQL/UPDATE移除心房。例如,DELETE{<I><am><I>.}在集合论表示法中,这等效于G=G\\(I,am,I),其中的语义是“将三重列表G设置为当前三重列表G减去三重(I,am,I)”。许多三重存储应用程序支持在查询期间(在运行时)对资源进行推理。例如,假设RDF网络中不存在三元组(Marko,RDF:type,ComputerScientist),而是存在三元组(Marko,RDF:type,ComputerEngineer,OWL:Sameas,ComputerScientist)。在OWL推理中,?x仍然绑定到Marko,因为根据OWL语义,ComputerEngineer和ComputerScientist是相同的。本文中介绍的RDF计算概念主要集中在三重模式匹配上,因此,除了直接URI和文字名称匹配之外,没有使用其他语义。Marko A.Rodriguez-2007 51.3面向对象编程和OWLOWL是一种完全用RDF表示的本体建模语言。在OWL中,可以对抽象类及其相互关系进行建模,也可以使用这些模型和OWL的语义对未指定的关系进行推理。在OWLSemantic中,如果Human是一个类,并且存在三元组(Marko,RDF:type,Human),那么Marko被认为是Human的一个实例。URI Human是RDF网络本体级别的一部分,URI Marko是RDF网络实例级别(也称为个体级别)的一部分。在猫头鹰中,可以说所有人都可以有另一个人作为朋友。通过声明一个Owl:ObjectPropertyNamed hasFriend,它具有RDFS:domain of Human和RDFS:range of Human,这是可能的。此外,还可以限制HasFriends属性的基数,从而声明一个人只能有一个朋友。这如图2所示。[0..1]HumanhasFriend RDF:type Markoontology instance Triple StoreFigure 2:ontology和实例在RDF网络中表示。面向对象编程中的类指定称为应用程序编程接口(API)(Sebesta,2005)。OWL本体与objectoriented API有一些相似之处。然而,OWL本体在许多方面也存在缺陷。OWL是一种descriptionlogic语言,它主要关注对RDF数据进行推理的方法。面向对象的API主要关注于具体地定义类以及它们之间的显式关系,因此更符合框架建模范式。

地板
能者818 在职认证  发表于 2022-4-15 10:00:30
个体),允许多重继承,不支持唯一名称假设,也不支持封闭世界假设(Oren,Delbru,Gerke,Haller,&Decker,2007;Wang et al.,2007)。OWL从面向对象API中引入的另一个方面是,面向对象API包含了方法的概念。该方法是一种算法“行为”,它构成了进化过程的基础,驱动这些类的实例从一个状态到另一个状态。本文的主要目的之一是为建模方法及其低级机器指令引入一个OWL本体,而过程信息可以用框架逻辑(即。F-逻辑(F-Logic)(Kifer,Lausen,&Wu.,1995)中,本文主要对建模方法感兴趣,其方式与现代面向对象语言(如Java和C++)中表示方法的方式大致相同,而且涉及到它们的语法、语义和低级表示。在Java和C++中,一个方法被定义为一个类,并用于操作该类实例的属性(称为firefelds)。例如,在本文中,类Human{Human hasfriend;void makeFriend(Human h){this.hasfriend=h;}}中,本体图将不显式表示rdfs:domain、rdfs:range和owl:restrict匿名URI结构。假定这些URI在图中是显而易见的。例如,图2中[0.1]所示的限制由hasFriendproperty的owl:restriction表示,其中maxCardinality为1,而Human是这个owl:restriction的rdfs:子classof。Marko A.Rodriguez-2007 6声明存在一个名为Human的抽象类。一个人有一个名字叫做朋友。hasFriend foundield指的是Human类型的对象。此外,根据类声明,人类有一个名为Makefriend的方法。makeFriendmethod接受一个类型为Human的参数,并将其hasFriend Foundield设置为该参数中提供的Human。this关键字明确表示hasfriend field是为其调用makeFriend方法的对象的field,在许多面向对象的语言中,使用new操作符创建Human的实例。例如,Human Marko=new Human();创建一个名为(引用为)Marko的人。新运算符类似于therdf:type属性。因此,在执行这段代码后,会出现类似的情况,如图2所示。但是,图2上半部分所示的本体模型没有makeFriend方法URI。面向对象编程和OWL之间的关系如表1所示。面向对象OWL exampleclass specification API ontology Humanobject property fhasfriendObject方法method makeFriendinstantiate new操作符rdf:type property new/rdf:typeTable 1:面向对象编程、OWL和section example之间的关系。将方法URI附加到类上并不是很大的概念上的飞跃。目前,没有强烈的动机来提供一个在OWL中表示方法的框架。RDF最初是作为一个数据建模框架开发的,而不是一个编程环境PERSE。然而,以类似的方式,Web Ontology Language for Services(OWL-S)被提出作为Web服务模型来支持语义Web服务的发现、执行和跟踪执行(Martin et al.,2004;Alesso&Smith,2005)。OWL-Sservice公开了一个描述服务执行什么的服务程序、一个描述如何调用服务的服务基础以及一个描述服务如何工作的服务模型。虽然OWL-S确实提供了语义Web上的面向对象方法调用的概念,但OWL-S更多的是面向代理的级别,它的预期用途是更多的“客户机/服务器”类型的问题。

7
nandehutu2022 在职认证  发表于 2022-4-15 10:00:37
另一个有趣且相关的想法是使用RDFas作为各种计算设备之间通信的媒介,从而利用这些Web作为分布式计算的基础设施(Fensel,2004)。在RDF的上下文中还提出了其他客观化的概念。例如,SWCLOS(Koide&Kawamura,2004)和ActiveRDF(Oren et al.,2007)利用RDF作为媒介来确保对象的长期持久性。这两个框架都允许它们的respectivelanguages(CLOS和Ruby)填充它们的对象的代码,以便在它们的语言环境中使用。一旦填充了对象的参数,就可以在它们各自的编程环境中调用对象的方法。1.4本文的贡献本文将迄今为止提出的所有概念统一到RDF网络上的计算框架中。在该框架中,计算虚拟机的状态、API和底层指令都用RDF表示。此外,与当前的编程范式不同,没有表示的堆栈。最低级别的计算和最高级别的计算在同一个基础上表示:URI、文字和三元组。本文提出了OWL API、RDF三元代码和RDF虚拟机(RVM)的概念。人类可读/可写的源代码被编译来创建一个OWLontology,它抽象地表示如何将指令结合起来形成指令序列。当对象及其方法从OWL API实例化时,尽管OWL具有许多对RDF数据推理有用的特性,但OWLMarko A.Rodriguez-2007 7Triple-Code的主要目的是创建OWLMarko A.Rodriguez-2007 7Triple-Code。RDF三元码类似于虚拟机字节码,但它不是用比特、字节和字表示,而是用URI和三元码表示。换句话说,一个可执行的软件被表示为一个可遍历的RDF网络。RVM是一个状态用RDF表示的虚拟机。RVM的堆栈、程序计数器、帧等被建模为RDF网络。RVMT的角色是“遍历”可遍历的RDF三重代码和计算。总之,软件是用人类可读/可写的源代码编写的,编译为OWL API,实例化为RDF三重代码,并由状态用RDF表示的计算机处理。但是,总有一个小人。总是有一些外部过程驱动表征基底的进化。对于JVM,那个小人就是硬件CPU。对于硬件CPU来说,小人就是自然法则。对于RVM,homunculus是某个主机CPU,无论该CPU是另一个虚拟机(如JVM)还是硬件CPU。表2给出了计算中抽象的不同层次,以及它们是如何用物理机器、虚拟机和建议的RDF计算范式来表示的。级机器范式虚拟机范式RDF范式高级代码源代码源代码源代码源代码代码原生指令字节码三码指令单元比特位URI和文字状态硬件软件RDF机器执行物理硬件软件2:当前和建议的计算范式中抽象的不同层次。2一个高级远景假设存在一个RDF三存储。三元组存储的内部是一个RDF网络,该RDF网络由三元组组成。三元组是由三个URI和/或文字组成的集合。这些URI可以用作指向任何东西的指针。本文提出了一个由URI和文字及其相互关系(三元组)表示的计算模型。因此,计算被表示为一个RDF网络。图3给出了一个高层次的视角,在本文的其余部分将讨论什么。图3中所示的是计算组件的一个非常划分的模型。该模型符合计算机科学和工程的共同范式。

8
nandehutu2022 在职认证  发表于 2022-4-15 10:00:43
然而,这种范例的不太传统的实现可以消除表示的离散性,以支持各种计算组件之间的多级交互,因为所有组件都在同一个RDF基底中表示:URI、文字和三元组。图3显示了6个主要组件。其中两个组件位于RDF网络的本体层,两个位于RDF网络的实例层,两个位于RDF网络外部的机器层。虽然从这个计算模型中出现了许多目前已经看到和尚未看到的优点,但下面列举了一些有趣的方面。RVM的总地址空间是所有URI和文字的空间。在theRVM计算模型中,由于指令和数据是用RDF表示的,所以RVM状态没有底层HardwareCPU地址空间的概念。这一想法在§3.1.2中讨论过。语义Web不再是一个信息收集基础设施,而是一个分布式信息处理基础设施(过程可以移动到数据,数据不必移动到过程)。RVM可以作为RDF/XML文档从webserver中“编入”,也可以从RDF三元存储中“选择”。RDFprograms和RVM状态是“fifrst-class”Web实体。其特点是RVM可以在三存储环境之间移动,并且可以在本地进行计算。本文介绍的概念是利用OWL创建高度受限的数据模型的能力。这些受限制的模型形成API,并确保实例RDF三重代码可以由RVM明确地生成。Marko A.Rodriguez-2007 8APIProgrammachine ArchitectureVirtual Machine StateontologyinstanceVirtual Machine ProcessSphysical Machine...Read/WriteRead/WritePhysics图3:语义Web计算环境的高级透视图。不需要将数据移动到处理器的数据集。这一思想在§4.1.3中讨论。该模型维护JVM的“写一次,在任何地方运行”范例。TheRVM模型确保人类可读/可写的源代码被编译成一种中间语言,该语言独立于执行RVM进程的底层硬件CPU4。构建在语义网络基础上的语言可以具有其他语言无法找到的独特结构(例如,反向引用、多实例引用、查询等)。虽然理论上可以将这些构造添加到其他语言中,但它们并不在这些语言的核心中提供,因为这些语言没有底层的语义网络数据模型。这些新颖的语言结构在§3.2.5中进行了讨论。目前,已经存在一个支持范例的基础设施(三存储、本体建模语言、查询语言等),因此,社区只需要很少的投资。主要投资是开发sourceto-OWL API编译器、RVM,以及RDF三重代码和RVMDistributation/Security协议的标准化。RVM可以在任何复杂程度上进行设计。可以将这一复杂性转移到实现RVM过程的软件中,以简化机器架构的重新开发并加快计算时间。这一思想在§4.3.7中进行了讨论。在这个模型中,语言重构存在于API、软件和RVM级别(一切都用RDF表示)。在§4.2.2.1中讨论了这一思想。图3中所示的RDF网络的本体级别在OWL中表示。本小节将讨论两个主要的本体组件:API和theRVM体系结构。Marko A.Rodriguez-2007 92.1.1 APIOWL支持类交互的特定性。但是,类交互是根据属性关系而不是方法调用来指定的。OWL没有正式的方法来指定类行为(即方法)。

9
mingdashike22 在职认证  发表于 2022-4-15 10:00:50
然而,在OWL中,可以定义方法和指令类,并正式指定限制,这些限制规定指令在方法中应该如何相互关联。本文提出的方法和指令本体使RDF成为一个编程框架,而不仅仅是一个数据建模框架。2.1.2机器体系结构RDF机器体系结构是用OWL建模的。机器体系结构本体是对特定RVM实例的抽象描述。根据所需的抽象级别,机器体系结构可以在不同的细节级别上实现。2.2实例级别RDF网络的实例级别受到RDF网络本体级别中规定的需求的约束。本小节将展示图3.2.2.1中的图表实例层的两个组件,编程API抽象地定义了一个软件应用程序。实例化API时,将创建instanceRDF三重代码。3.2.2机器体系结构的虚拟机器实例是RDF虚拟机(RVM)。RVM的目的是在与三码指令相同的RDF网络中表示它的状态(堆栈、程序计数器等)。然而,基于RDF的RVM并不是一台“真正的”计算机,RVM只是用RDF表示它的状态。RVM需要在三元存储器之外的软件实现来计算它的指令。这需要讨论机器级next.2.3机器级机器级是执行实际计算的地方。RDF网络是一种数据结构。RDF不是一般意义上的处理器--它无法自我进化。为了处理RDF数据,外部进程必须对RDF网络进行读写操作,而RDF网络的读写操作演化了RVM及其计算对象。本节讨论如图3.2.3.1所示的机器级别虚拟机进程虚拟机进程在特定主机上用软件表示。TheRVM处理器必须与三存储接口(如SPARQL/UPDATE)和底层主机兼容。RVM的主机可以是physicalmachine(硬件CPU)或其他虚拟机。例如,如果RVM的machineprocess是用Java语言实现的,那么machine process在JVM中运行。这在图3中由虚拟machineprocess和物理machine之间的...组件描述。2.3.2物理machine物理machine是实际的硬件CPU。RVM实现将RDF三重代码转换为主机的指令集。例如,如果RVM进程运行在Intel Core Duo上,那么RVM进程的作用是将theRDF三重代码转换为Intel Core Duo指令集指定的代码。因此,这个体系结构模型的portabilityMarko a.Rodriguez-2007 10依赖于RVM的每个主机实现。最后,根据物理定律对硬件CPU进行计算,完成计算堆栈。就像RVM的RDF表示是计算的“快照”表示一样,硬件CPU是计算的硅/电子“快照”表示。3 Neno语言本节介绍旨在利用纯RDF计算环境的编程语言的特性。这种语言叫做尼诺语。Neno是一种高级面向对象语言,其语法类似于Java和C++等其他对象化语言。然而,Neno提供了一些其他语言不可能提供的功能(例如,在其他对象化语言的构造中不显式)。这种功能不是由于Neno语言的复杂性,而是由于它是为RDF基板编写的,因此可以利用RDF及其读/写接口的可选性。

10
kedemingshi 在职认证  发表于 2022-4-15 10:00:56
由于这个原因,Nenois在一类语言中被称为语义网络编程语言。TheRipple编程语言是另一种语义网络编程语言(Shinavier,2007)。Neno和Ripple都是图灵完全的,因此可以执行任何经典(非量子)计算。Neno源代码是用人类可读/可写的纯文本编写的,就像许多其他高级编程语言的源码一样。Neno源代码由aNenoFhat编译器编译。NenoFhat编译器将Neno源代码编译为Fhat OWLAPI。Fhat OWL API类似于Java的jar。Fhat RVM将API的各个方面实例化(加载)到RDF网络的实例层。API的这个实例化方面是可执行的RDF三重代码。一个Fhat RVM处理三码并由此计算。Neno和Java组件之间的类比如表3所示。工件Neno Javasource代码aclass.Neno aclass.javacompiler nenofhat javacAPI aclass.owl aclass.classvirtual machine fhat javaprogram RDF network JVM MemoryTable3:Neno和Java组件之间的映射。因此,默认的名称空间是http://neno.lanl.gov(预置为neno)。Neno编程语言被设计成符合OWL和XML Schema definition(XSD)命名空间。OWL提供了类、继承、datatype和类属性以及属性限制的概念。然而,Neno将其编译的Fhat OWL API严格限制为单亲类(即不支持多重继承),并持有封闭世界假设(即只有在本体中状态的属性才能在Neno对象中计算)。这类似于assumedin Java。XSD为文字数据类型(例如,string、integer、Lovioat、double、date和time等)提供了规定。XSD URI命名空间prefirex是XSD,用于表示以下概念的词典来自对象化编程,而不是OWL。OWL的说法只有在完全描述语言的某个特定方面的“后端”时才会使用。表4说明了OWL术语和面向对象编程术语之间的关系。3.1通用唯一的IDENTI fireer地址在本文的其余部分中,通用唯一的IDENTI fireers(UUID)将被经常使用(Leach,2005)。所有UUID的集合是所有URI集合的子集。UUID是一个128位(16字节)的字符串,可以在不同的环境中创建,并且几乎没有重现的可能性。为了理解128位可能存在的UUID的数量,每个人需要创建1万亿个唯一的UUID。Rodriguez-2007 11OWL object-oriented LanguageSowl:class classneno:method methodrdf:property Fieldsubject:type ObjectTable 4:OWL中的术语和面向对象编程之间的映射。纳秒100亿年才能耗尽所有可能的UUID的空间。一个UUID可以表示为36个字符的十六进制字符串。例如,6C3F8AFE-EC3D-11DB-83140800200C9A66,就是一个UUID。十六进制表示将在以下所有示例中使用。但是,为了简洁起见,由于36个字符对于示例和图表来说太长了,所以只使用8个字符。因此,6C3F8AFE-EC3D-11DB8314-0800200C9A66将被表示为6C3F8AFE。此外,UUID,当使用ASURI时,命名空间为ASURN:UUID:6C3F8AFE-EC3D-11DB-8314-0800200C9A66,对于图和示例,缩写为URN:UUID:6C3F8AFE。当Neno源代码编译为Fhat三重代码时,几乎为所有内容创建一个UUID;每个指令类和指令实例都由一个UUID标识。在实例化Fhat时,将为组成该Machine的所有RDFS:资源(即堆栈、框架等)创建一个UUID。

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
扫码
拉您进交流群
GMT+8, 2026-1-27 18:14