rdf

语义网研究综述【上】

有些话、适合烂在心里 提交于 2020-03-07 22:21:59
【转】自Tim Berners-Lee于1998年提出了语义网(the Semantic Web)的概念之后,就一直成为人们讨论与研究的热点。当前国际上关于语义网的研究刚刚处于起步阶段,而我国对语义网的研究不论是从标准规范、系统试验、研究深度,还是从规模层次、具体应用方面都相对落后。另人欣慰的是,我国学者已经认识到了语义网及其相关技术对未来互联网发展的影响,并开始着手研究语义网及其相关的关键技术与应用。本文将从以下四个方面对我国语义网研究作综合述评: (1)基本情况,对当前国内语义网的研究情况做一总体介绍;(2)体系结构,即对语义网体系结构研究的情况;(3)关键技术,讨论对RDF(Resource Description Framework,即资源描述框架)和Ontology(本体或本体论)的研究情况;(4)试验与应用,即当前针对语义网或利用其中的关键技术所做的具体试验与应用。最后,在对以上四个方面的情况进行综合述评的基础上总结当前国内语义网研究的特点和存在的主要问题并指出今后主要的研究方向与重点。 1 基本概况 当前对语义网的概念还没有形成统一的定义,对语义网的理解表述不一。如语义网是“第三代Web,其目标是实现机器自动处理信息,它提供诸如信息代理、搜索代理、信息过滤等智能服务”[1];语义网“不同于现存的万维网,其数据主要供人类使用,新一代WWW中将提供也能为计算机所处理的数据

知识图谱 KBQA Demo:fuseki sparql python 版本问题详细解决方案

风格不统一 提交于 2020-02-27 06:47:40
刚入坑知识图谱,看了一位大神的教程,但是由于 jena、fuseki、python 等版本不同,踩了不少坑,特此记录一下 本文不做具体知识的讲解(具体知识可移步 https://zhuanlan.zhihu.com/knowledgegraph ),仅罗列实践过程中遇到的坑及解决方案 以下内容大多从教程下面几百条评论中提炼总结而来 环境版本 jena :3.14.0 fuseki :3.14.0 jdk :1.8.0_201 python :3.7.6 anaconda :4.8.2 具体问题及解决方案 1. 通过 D2RQ 生成 mapping 文件 此时须打开 MySQL 服务,进入 D2RQ 目录 generate-mapping -u root -p 密码 -o kg_demo_movie_mapping.ttl jdbc:mysql:///kg_demo_movie?useSSL=false -u :指定 mysql 用户名 -p :指定用户密码 -o :指定输出文件路径及名称 jdbc:mysql:/// 后面指定 mysql 中的数据库名称 对于博主的 kg_demo_movie 项目,mapping 文件生成后还需要修改,所以直接使用博主 GitHub 仓库中的 mapping 文件即可 2. 通过 D2RQ 将数据转为 RDF 同样需要打开 MySQL 服务,在

FROM clause in SPARQL queries

拈花ヽ惹草 提交于 2020-02-25 02:53:45
问题 Good morning. If we consider this query SPARQL, for example: PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> PREFIX foaf: <http://xmlns.com/foaf/0.1/> SELECT DISTINCT ?name WHERE { ?x rdf:type foaf:Person . ?x foaf:name ?name } ORDER BY ?name The query is taken from this link My question is: it does not have any FROM CLAUSE. So how can it query the dataset? Finally, must I set a FROM CLAUSE when I have to do a SPARQL query? 回答1: When you send a SPARQL query to an endpoint, it's

转 Web 语义化

眉间皱痕 提交于 2020-02-22 15:20:05
单词语义化表示了它的意义。 事物的语义化意味着事物。 Web 语义化 = Web的意义。 什么是 Web 语义化? 什么是语义化?其实简单说来就是让机器可以读懂内容。 甲壳虫乐队是一个来自利物浦受欢迎的乐队。 约翰列侬是披头士乐队的成员。 "Hey Jude"是由披头士的代表作。 我们可以很容易理解上面的句子的意义。但这些语句怎么 被计算机理解呢? 语句由语法规则创建。语言的语法定义了创建语言语句的规则。但是如何让语法变为语义呢? 语义网是让机器可以理解数据。语义网技术,它包括一套描述语言和推理逻辑。它包通过一些格式对本体(Ontology)进行描述。 语义网并不是网页之间的链接。 语义网描述了事物之间的关联((如 A 是 B的一部分,Y 是 Z 的成员)及事物的属性(如大小,高度,年龄,价格等)。 语义网的实现是基于XML(可扩展标记语言eXtensible Markup Langauge)语言和资源描述框架(RDF)来完成的。XML是一种用于定义标记语言的工具,其内容包括XML声明、用以定义语言语法的DTD (document type declaration文档类型定义)、描述标记的详细说明以及文档本身。而文档本身又包含有标记和内容。RDF则用以表达网页的内容。 资源描述框架 RDF(Resource Description Framework),即资源描述框架

知识图谱

北战南征 提交于 2020-02-15 23:51:07
目录 主要总结知识专栏 知识图谱 的理论部分 为什么需要知识图谱?什么是知识图谱? A knowledge graph consists of a set of interconnected typed entities and their attributes. 用更正式的说法,知识图谱是由本体(Ontology)作为Schema层,和RDF数据模型兼容的结构化数据集。 语义网络,语义网,链接数据和知识图谱 语义网络的缺点: 节点和边的值没有标准,完全是由用户自己定义。 多源数据融合比较困难,因为没有标准。 无法区分概念节点和对象节点。 无法对节点和边的标签(label,我理解是schema层,后面会介绍)进行定义。 RDF的提出解决了语义网络的缺点1和缺点2,在节点和边的取值上做了约束,制定了统一标准,为多源数据的融合提供了便利。另外,RDF对is-a关系进行了定义,即,rdf:type(是rdf标准中的一个词汇,之后的文章会介绍)。因此,不管在哪个语义网络中,表达is-a关系,我们都用rdf:type,在语法上形成了统一。 举个例子,假如我们有两个语义网络A和B。在A中,熊是哺乳动物的一个实例。在B中,熊是哺乳动物的一个子类。前者是is-a关系,后者是subClassOf关系。这种情况常有发生,我们建模的角度不同,那么同一个事物的表示也可能不同

(Java)RandomAccessFile 类

自闭症网瘾萝莉.ら 提交于 2020-02-08 04:50:27
File 类只是针对文件本身进行操作,而如果要对文件内容进行操作,则可以使用 RandomAccessFile 类,此类属于随机读取类,可以随机读取一个文件中指定位置的数据 一、RandomAccessFile 类的常用操作方法 如果使用 rw 方式声明 RandomAccessFile 对象时,要写入的文件不存在,系统将自动进行创建 import java . io . File ; import java . io . RandomAccessFile ; public class Root { //直接抛出异常,程序中不再处理 public static void main ( String [ ] args ) throws Exception { File f = new File ( "D:" + File . separator + "test.txt" ) ; //指定要操作的文件 RandomAccessFile rdf = null ; //声明一个 RandomAccessFile 类对象 rdf = new RandomAccessFile ( f , "rw" ) ; //以读写方式打开文件,会自动创建新文件夹 String name = null ; int age = 0 ; name = "str1" ; age = 30 ; rdf .

知识图谱是什么?

独自空忆成欢 提交于 2020-02-06 18:28:49
知识图谱最开始是Google为了优化搜索引擎提出来的,推出之后引起了业界轰动,随后其他搜索公司也纷纷推出了他们的知识图谱。知识图谱发展到今天,不仅是应用在搜索行业,已经是AI的基础功能了。那到底知识图谱是什么?有什么能力?怎么应用?这就是本文想要讨论的内容。 1. 定义 官方定义:知识图谱是一种基于图的数据结构,由节点(point)和边(Edge)组成,每个节点表示一个“实体”,每条边为实体与实体之间的“关系”,知识图谱本质上是语义网络。 实体指的可以是现实世界中的事物,比如人、地名、公司、电话、动物等;关系则用来表达不同实体之间的某种联系。 由上图,可以看到实体有地名和人;大理属于云南、小明住在大理、小明和小秦是朋友,这些都是实体与实体之间的关系。 通俗定义:知识图谱就是把所有不同种类的信息连接在一起而得到的一个关系网络,因此知识图谱提供了从“关系”的角度去分析问题的能力。 2. 可视化表现 如果我们在百度搜索“周杰伦的老婆”的时候,搜索结果不是周杰伦,而是直接返回了昆凌的信息卡片,为什么呢? 因为底层知识图谱已经有了周杰伦和昆凌是夫妻关系,所以可以理解到你要找的是昆凌,而不是周杰伦,这也说明了知识图谱有理解用户意图的能力。 02 知识图谱构建的关键技术 知识图谱构建的过程中,最主要的一个步骤就是把数据从不同的数据源中抽取出来,然后按一定的规则加入到知识图谱中,这个过程我们称为

OWL RDF/TTL Make an instance member of class based on property

人走茶凉 提交于 2020-02-03 01:58:21
问题 I am trying to design an ontology that will categorise products based on the products components. In the example below I have a class Ingredient with an instance eggs . I want to add apple_tart to all classes of products that do not contain eggs . So in this case apple_tart will be added to the class GlutenFriendly and NOT VeganFriendly . bakery:VeganFriendly rdf:type owl:Class ; rdfs:subClassOf [ rdf:type owl:Restriction ; owl:onProperty :hasIngredient ; owl:hasValue :eggs ] owl:disjointWith

How can one extract rdf:about or rdf:ID properties from triples using SPARQL?

China☆狼群 提交于 2020-02-02 11:21:08
问题 It seemed a trivial matter at the beginning but so far I have not managed to get the unique identifier for a given resource using SPARQL. What I mean is given, e.g., rdf:Description rdf:about="http://..." and then some properties identifying this resource, what I want to do is to first find this very resource and then retrieve all the triples given some URI. I have tried naïve approaches by writing statements in a WHERE clause such as: ?x rdf:about ?y and ?x rdfs:about ?y I hope I am being

SPARQL select optional with language

末鹿安然 提交于 2020-01-31 04:13:47
问题 I have some triples that look like this: test:thing rdfs:label "Non-Language Label" test:thing rdfs:label "English Label"@en test:thing rdfs:label "French Label"@fr I'd like to form a sparql query that gives me the "Non-Language Label" AND the "French Label", if any exists. I tried this and it's not working: PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT ?label ?preferredLabel WHERE { test:thing rdfs:label ?label OPTIONAL { test:thing rdfs:label ?preferredLabel . FILTER (regex