知识图谱
2025-09-10 12:08:55 0 举报
AI智能生成
知识图谱是一种结构化的语义知识库,以图形的方式组织信息,并揭示不同实体间的关系。核心内容通常围绕着特定主题或领域,如医学、金融或一般知识。文件类型可能包括RDF(资源描述框架)、OWL(Web本体语言)或JSON-LD(JavaScript对象表示法)等,它们用于表示知识图谱中的节点(实体)和边(关系)。这一格式便于机器阅读,以便于知识的自动化处理和查询。知识图谱被广泛用于搜索引擎优化、推荐系统和自然语言处理等领域,其特性在于高度的灵活性和扩展性。
作者其他创作
大纲/内容
知识建模
本体模型
数据模型
构建模型
映射模型
图谱存储
JanusGraph
NebulaGraph
图数据库 HA
Neo4j
gremlin.neo4j.conf
gremlin-server-neo4j.yaml
neo4j-empty.properties
http://tinkerpop.apache.org/docs/3.2.4-SNAPSHOT/reference/#_high_availability_configuration
GraphComputer
multi-JVM
a system that processes the graph in parallel and potentially, distributed over a multi-machine cluster.
基于Gremlin的High Availability Configuration
gremlin.graph=org.apache.tinkerpop.gremlin.neo4j.structure.Neo4jGraph
gremlin.neo4j.directory=/tmp/neo4j.server1
gremlin.neo4j.conf.ha.server_id=1
gremlin.neo4j.conf.ha.initial_hosts=localhost:5001\,localhost:5002\,localhost:5003
gremlin.neo4j.conf.ha.host.coordination=localhost:5001
gremlin.neo4j.conf.ha.host.data=localhost:6001
只需启动三个Gremlin Console实例,然后使用GraphFactory读取那些配置文件即可形成集群。
操作步骤
安装Neo4j依赖:bin/gremlin-server.sh install org.apache.tinkerpop neo4j-gremlin 3.4.4
修改conf/neo4j-empty.properties文件,两台服务器的配置如下:
gremlin.graph=org.apache.tinkerpop.gremlin.neo4j.structure.Neo4jGraph
gremlin.neo4j.directory=/tmp/neo4j
gremlin.neo4j.conf.dbms.auto_index.nodes.enabled=true
#gremlin.neo4j.conf.dbms.auto_index.nodes.keys=
gremlin.neo4j.conf.dbms.auto_index.relationships.enabled=true
#gremlin.neo4j.conf.dbms.auto_index.relationships.keys=
gremlin.neo4j.conf.dbms.mode=HA
gremlin.neo4j.conf.ha.server_id=1
gremlin.neo4j.conf.ha.initial_hosts=IP1:5001\,IP2:5001
gremlin.neo4j.conf.ha.host.coordination=IP1:5001
gremlin.neo4j.conf.ha.host.data=IP1:6001
gremlin.neo4j.directory=/tmp/neo4j
gremlin.neo4j.conf.dbms.auto_index.nodes.enabled=true
#gremlin.neo4j.conf.dbms.auto_index.nodes.keys=
gremlin.neo4j.conf.dbms.auto_index.relationships.enabled=true
#gremlin.neo4j.conf.dbms.auto_index.relationships.keys=
gremlin.neo4j.conf.dbms.mode=HA
gremlin.neo4j.conf.ha.server_id=1
gremlin.neo4j.conf.ha.initial_hosts=IP1:5001\,IP2:5001
gremlin.neo4j.conf.ha.host.coordination=IP1:5001
gremlin.neo4j.conf.ha.host.data=IP1:6001
gremlin.graph=org.apache.tinkerpop.gremlin.neo4j.structure.Neo4jGraph
gremlin.neo4j.directory=/tmp/neo4j
gremlin.neo4j.conf.dbms.auto_index.nodes.enabled=true
#gremlin.neo4j.conf.dbms.auto_index.nodes.keys=
gremlin.neo4j.conf.dbms.auto_index.relationships.enabled=true
#gremlin.neo4j.conf.dbms.auto_index.relationships.keys=
gremlin.neo4j.conf.dbms.mode=HA
gremlin.neo4j.conf.ha.server_id=1
gremlin.neo4j.conf.ha.initial_hosts=IP1:5001\,IP2:5001
gremlin.neo4j.conf.ha.host.coordination=IP2:5001
gremlin.neo4j.conf.ha.host.data=IP2:6001
gremlin.neo4j.directory=/tmp/neo4j
gremlin.neo4j.conf.dbms.auto_index.nodes.enabled=true
#gremlin.neo4j.conf.dbms.auto_index.nodes.keys=
gremlin.neo4j.conf.dbms.auto_index.relationships.enabled=true
#gremlin.neo4j.conf.dbms.auto_index.relationships.keys=
gremlin.neo4j.conf.dbms.mode=HA
gremlin.neo4j.conf.ha.server_id=1
gremlin.neo4j.conf.ha.initial_hosts=IP1:5001\,IP2:5001
gremlin.neo4j.conf.ha.host.coordination=IP2:5001
gremlin.neo4j.conf.ha.host.data=IP2:6001
修改conf/gremlin-server-neo4j.yaml文件的host和port,注意两个Server的port配置相同。
分别启动两个Server即可。
接下来就可以通过Console访问了,修改Console下的conf/remote.yaml文件,设置 hosts: [IP1,IP2],port为Server配置端口即可。
如果是应用程序访问,则需要去除 serializeResultToString 属性。即直接修改 remote-objects.yaml 文件即可。连接程序如下:
GraphTraversalSource g = traversal().withRemote("conf/remote-graph.properties")
JanusGraph
https://docs.janusgraph.org/master/basics/multi-node/
https://cloud.tencent.com/developer/article/1481973
支持多数据中心的高可用和热备份;
官网
https://janusgraph.org/
Scalable
Elastic and linear scalability for a growing data and user base
Data distribution and replication for performance and fault tolerance
Multi-datacenter high availability and hot backups
主题
故障与恢复
https://docs.janusgraph.org/advanced-topics/recovery/
批量装载
本质上,这是TinkerPop的Hadoop-Gremlin使用JanusGraph的方法,即使用MapReduce将数据批量加载到JanusGraph中。
https://docs.janusgraph.org/advanced-topics/bulk-loading/#parallelizing-the-load
高级架构
https://docs.janusgraph.org/advanced-topics/advschema/
Apache Cassandra
当您需要可伸缩性和高可用性而不影响性能时,Apache Cassandra数据库是正确的选择。
https://docs.janusgraph.org/storage-backend/cassandra/
使用Gremlin服务器的远程服务器模式
每个Gremlin服务器都将配置为连接到Cassandra集群
JanusGraph服务器
https://docs.janusgraph.org/basics/server/
配置独立的Gremlin服务器以与JanusGraph一起使用类似于配置打包的JanusGraph服务器。
创建一个GREMLIN_SERVER_HOME/conf/gremlin-server-janusgraph.yaml
host: localhost
port: 8182
graphs: {
graph: conf/janusgraph.properties}
scriptEngines: {
gremlin-groovy: {
plugins: { org.janusgraph.graphdb.tinkerpop.plugin.JanusGraphGremlinPlugin: {},
org.apache.tinkerpop.gremlin.server.jsr223.GremlinServerGremlinPlugin: {},
org.apache.tinkerpop.gremlin.tinkergraph.jsr223.TinkerGraphGremlinPlugin: {},
org.apache.tinkerpop.gremlin.jsr223.ImportGremlinPlugin: {classImports: [java.lang.Math], methodImports: [java.lang.Math#*]},
org.apache.tinkerpop.gremlin.jsr223.ScriptFileGremlinPlugin: {files: [scripts/empty-sample.groovy]}}}}
serializers:
- { className: org.apache.tinkerpop.gremlin.driver.ser.GryoMessageSerializerV3d0, config: { ioRegistries: [org.janusgraph.graphdb.tinkerpop.JanusGraphIoRegistry] }}
- { className: org.apache.tinkerpop.gremlin.driver.ser.GryoMessageSerializerV3d0, config: { serializeResultToString: true }}
- { className: org.apache.tinkerpop.gremlin.driver.ser.GraphSONMessageSerializerV3d0, config: { ioRegistries: [org.janusgraph.graphdb.tinkerpop.JanusGraphIoRegistry] }}
metrics: {
slf4jReporter: {enabled: true, interval: 180000}}
在graphs地图中,有一个名为的键graph,其值为 conf/janusgraph.properties。这告诉Gremlin Server实例化一个Graph名为“ graph” 的实例,并使用该 conf/janusgraph.properties文件对其进行配置。
ConfiguredGraphFactory
https://docs.janusgraph.org/basics/configured-graph-factory/
graphManager: org.janusgraph.graphdb.management.JanusGraphManager
graphs {
graph1: conf/graph1.properties,
graph2: conf/graph2.properties
}
多节点JanusGraph群集中要考虑的事项
https://docs.janusgraph.org/basics/multi-node/
JanusGraph支持动态创建图
graphs {
graph1: conf/graph1.properties,
graph2: conf/graph2.properties
}
如果您更新或删除一个JanusGraph节点上的图的配置,那么我们必须从集群中每个JanusGraph节点上的缓存中逐出该图。否则,我们在整个集群中的图形表示可能会不一致。JanusGraph使用消息日志队列通过后端系统自动处理此驱逐,该问题被配置为使用该图形。
TinkerPop还允许使用remoteGraph,如果您要构建可轻松转移到多种实现的与TinkerPop兼容的图形基础架构,这可能会很有用。
要在JanusGraph中使用此功能,我们必须首先确保已在远程JanusGraph集群上创建了一个图:
ConfiguredGraphFactory.create("graph1");
接下来,我们必须等待20秒,以确保遍历引用绑定到远程集群中的每个JanusGraph节点上。
最后,我们可以在本地使用该withRemote方法访问对远程图的本地引用:
gremlin> cluster = Cluster.open('conf/remote-objects.yaml')
==>localhost/127.0.0.1:8182
gremlin> graph = EmptyGraph.instance()
==>emptygraph[empty]
gremlin> g = graph.traversal().withRemote(DriverRemoteConnection.using(cluster, "graph1_traversal"))
==>graphtraversalsource[emptygraph[empty], standard]
为了完成操作,以上内容conf/remote-objects.yaml应告诉 ClusterAPI如何访问远程JanusGraph服务器。例如,它可能看起来像
hosts: [remoteaddress1.com, remoteaddress2.com]
port: 8182
username: admin
password: password
connectionPool: { enableSsl: true }
serializer: { className: org.apache.tinkerpop.gremlin.driver.ser.GryoMessageSerializerV3d0, config: { ioRegistries: [org.janusgraph.graphdb.tinkerpop.JanusGraphIoRegistry] }}
将TinkerPop Gremlin服务器与JanusGraph一起使用
https://docs.janusgraph.org/basics/server/#using-tinkerpop-gremlin-server-with-janusgraph
在plugins列表中,有对的引用 JanusGraphGremlinPlugin,它告诉Gremlin Server初始化“ JanusGraph插件”。“ JanusGraph插件”将自动导入JanusGraph特定的类以供在脚本中使用
host: localhost
port: 8182
graphs: {
graph: conf/janusgraph.properties}
scriptEngines: {
gremlin-groovy: {
plugins: { org.janusgraph.graphdb.tinkerpop.plugin.JanusGraphGremlinPlugin: {},
org.apache.tinkerpop.gremlin.server.jsr223.GremlinServerGremlinPlugin: {},
org.apache.tinkerpop.gremlin.tinkergraph.jsr223.TinkerGraphGremlinPlugin: {},
org.apache.tinkerpop.gremlin.jsr223.ImportGremlinPlugin: {classImports: [java.lang.Math], methodImports: [java.lang.Math#*]},
org.apache.tinkerpop.gremlin.jsr223.ScriptFileGremlinPlugin: {files: [scripts/empty-sample.groovy]}}}}
serializers:
- { className: org.apache.tinkerpop.gremlin.driver.ser.GryoMessageSerializerV3d0, config: { ioRegistries: [org.janusgraph.graphdb.tinkerpop.JanusGraphIoRegistry] }}
- { className: org.apache.tinkerpop.gremlin.driver.ser.GryoMessageSerializerV3d0, config: { serializeResultToString: true }}
- { className: org.apache.tinkerpop.gremlin.driver.ser.GraphSONMessageSerializerV3d0, config: { ioRegistries: [org.janusgraph.graphdb.tinkerpop.JanusGraphIoRegistry] }}
metrics: {
slf4jReporter: {enabled: true, interval: 180000}}
部署方案
https://docs.janusgraph.org/basics/deployment/
快速上手方案
每个JanusGraph Server带有一个存储后端和一个可选的索引后端
推荐方案
在不同服务器上托管不同组件(JanusGraph Server,存储/索引后端)的优势在于,它们可以相互独立地进行缩放和管理。 这以需要维护更多服务器为代价提供了更高的灵活性。
极简方案
The in-memory backend can be used for testing purposes or Berkeley DB for production and Lucene as the optional index backend.
数据存储
cassandra
hbase
berkeley DB java edition
索引(加速和激活过多复杂查询)
es
solr
lucene
架构
https://www.jianshu.com/p/722055f55b94
HA介绍
JanusGraph是一个高度可扩展的图形数据库,已优化用于存储和查询分布在多计算机集群中的数十亿个顶点和边的大型图形。 JanusGraph是一个事务数据库,可以支持数千个并发用户,复杂的遍历和分析图查询。
弹性和线性可扩展性,可用于不断增长的数据和用户群。
数据分发和复制,以提高性能和容错能力。
多数据中心高可用性和热备份
https://www.findbestopensource.com/product/janusgraph-janusgraph
http://janusgraph.org
https://github.com/JanusGraph/janusgraph
CAP定理说的是:一个分布式计算机系统无法同时满足以下三点(定义摘自Wikipedia):
一致性(Consistency) ,所有节点访问同一份最新的数据副本
可用性(Availability),每次请求都能获取到非错的响应——但是不保证获取的数据为最新数据
分区容错性(Partition tolerance),以实际效果而言,分区相当于对通信的时限要求。系统如果不能在时限内达成数据一致性,就意味着发生了分区的情况,必须就当前操作在C和A之间做出选择。
关于JanusGraph在CAP理论上的侧重,是要看底层存储的。如果底层是Cassandra,那么就是偏向于AP(Cassandra是最终一致性的);如果底层是HBase,就是偏向于CP(强一致性);BerkleyDB单机不存在这个问题。
https://blog.yiz96.com/janusgraph-setup/
https://help.compose.com/docs/janusgraph-for-compose
https://blog.csdn.net/leehsiao/article/details/91142625
Titan
https://titan.thinkaurelius.com/
v1.0.0
OrientDB
https://orientdb.org/
https://orientdb.org/docs/3.0.x/
version 3.0.14
分布式架构
https://orientdb.org/docs/3.0.x/distributed/Distributed-Architecture.html
OrientDB使用Hazelcast开源项目来自动发现节点,存储运行时群集配置并在节点之间同步某些操作。此页面中的某些参考链接到Hazelcast官方文档,以获取有关该主题的更多信息。
注意:在分布式模式下运行时,OrientDB需要更多的RAM。最小为2GB的堆,但我们建议至少使用4GB的堆内存。要更改堆,请修改文件bin/server.sh(或Windows中的server.bat)中的Java内存设置。
Distributed Configuration
https://orientdb.org/docs/3.0.x/distributed/Distributed-Configuration.html#default-distributed-db-configjson
https://hazelcast.com/
https://orientdb.com/multi-model-database/
Your Applications Deserve a Multi-Model Database
Most NoSQL DBMSs are used as secondary databases. OrientDB, on the other hand, is powerful and flexible enough to be used as an operational DBMS.
Though OrientDB is free for commercial use, robust applications need enterprise-level functionalities to guarantee data security and flawless performance.For organizations with higher requirements, OrientDB Enterprise Edition provides all the features of our community edition plus:
Incremental backups
Unmatched security
24x7 support
Query profiler
Distributed clustering configuration
Metrics recording
Live monitoring with configurable alerts
https://orientdb.org/docs/3.0.x/distributed/Replication.html
OrientDB支持多主复制。这意味着群集中的所有节点都是主节点,并且能够读取和写入数据库。这允许水平扩展,而不会像其他任何RDBMS和NoSQL解决方案一样出现瓶颈。
ArangoDB
https://www.arangodb.com/
https://www.arangodb.com/arangodb-white-papers/white-paper-multi-model-database/
https://www.arangodb.com/performance/
ArangoDB Hot Backup – Creating consistent cluster-wide snapshots
v3.6.1
部署
https://www.arangodb.com/docs/stable/deployment.html
cluster
https://www.arangodb.com/docs/stable/architecture-deployment-modes-cluster.html
The Cluster architecture of ArangoDB is a CP master/master model with no single point of failure.
By ArangoDB Deployment Mode:
Single instance
Master/Slave
Active Failover
Cluster
Multiple Datacenters
Standalone Agency
By Technology:
Manually
ArangoDB Starter
Docker
Kubernetes
Docker Image
Cluster
// script
Cluster cluster = Cluster.open();
Client client = cluster.connect();
Map<String,Object> params = new HashMap<>();
params.put("name","marko");
List<Result> list = client.submit("g.V().has('person','name',name).out('knows')", params).all().get();
// bytecode
GraphTraversalSource g = traversal().withRemote(DriverRemoteConnection.using("localhost",8182,"g"));
List<Vertex> list = g.V().has("person","name","marko").out("knows").toList();
架构
什么是HA
https://en.wikipedia.org/wiki/High_availability
HA 集群
https://en.wikipedia.org/wiki/High-availability_cluster
集群(cluster)和高可用性(HA)的概念
集群
集群(cluster)就是一组计算机,它们作为一个整体向用户提供一组网络资源。这些单个的计算机系统就是集群的节点(node)。
一组相互独立的服务器在网络中表现为单一的系统,并以单一系统的模式加以管理。
优点
(1)高可扩展性:
(2)高可用性HA:集群中的一个节点失效,它的任务可传递给其他节点。可以有效防止单点失效。
(3)高性能:负载平衡集群允许系统同时接入更多的用户。
(4)高性价比:可以采用廉价的符合工业标准的硬件构造高性能的系统。
HA
计算机系统的可用性(availability)是通过系统的可靠性(reliability)和可维护性(maintainability)来度量的。工程上通常用平均无故障时间(MTTF)来度量系统的可靠性,用平均维修时间(MTTR)来度量系统的可维护性。于是可用性被定义为:MTTF/(MTTF+MTTR)*100%
HA三种工作方式
1)、主从方式 (非对称方式)
工作原理:主机工作,备机处于监控准备状况;当主机宕机时,备机接管主机的一切工作,待主机恢复正常后,按使用者的设定以自动或手动方式将服务切换到主机上运行,数据的一致性通过共享存储系统解决。
(2)、双机双工方式(互备互援)
工作原理:两台主机同时运行各自的服务工作且相互监测情况,当任一台主机宕机时,另一台主机立即接管它的一切工作,保证工作实时,应用服务系统的关键数据存放在共享存储系统中。
(3)、集群工作方式(多服务器互备方式)
工作原理:多台主机一起工作,各自运行一个或几个服务,各为服务定义一个或多个备用主机,当某个主机故障时,运行在其上的服务就可以被其它主机接管。
https://zhuanlan.zhihu.com/p/44024923
绝大多数集群都使用共享存储。
图数据库排行
https://db-engines.com/en/ranking/graph+dbms
Neo4J
运行Neo4j 容器
docker run -it -d -p 7474:7474 -p 7687:7687 neo4j:latest
拉取最新的neo4j镜像
docker pull neo4j
打开Neo4j 浏览器管理界面
http://localhost:7474
默认用户名密码
neo4j
修改密码
123456
知识图谱本质
Web视角
NLP视角
KR视角
AI视角
DB视角
可视化
可视化框架
https://d3js.org/
https://antv.vision/zh
https://js.cytoscape.org/
github
https://github.com/MiracleTanC/Neo4j-KGBuilder
可视化开源
https://gephi.org/
http://www.graphvis.cn/
https://gitee.com/baopengdu/GraphVis
https://js.cytoscape.org/
https://d3js.org/
https://g6.antv.vision/zh
https://visjs.org/
https://graphviz.org/
http://networkrepository.com/graphvis.php
KG UI
https://github.com/hanyueqiang/vue-d3
Gephi
插件下载网站:https://gephi.org/plugins/#/
Graph Streaming
https://github.com/gywgithub/vue-d3-examples/blob/master/README.zh-CN.md
https://gywgithub.github.io/vue-d3-examples/#/examples/helloworld
对比
KG比较
属性图
图分析算法是属性图的关键应用,是指节点中心性、节点相似性、最短路径、聚类等算法。属性图以提供这些算法而闻名,且有许多应用都依赖于这些算法。
属性图的局限性
支持对图中模式的捕获
支持验证和数据完整性
支持捕捉丰富的规则
支持继承和推理
支持全局唯一标识符
支持可替换的标识符
图之间的连通性
图形可进化性的更好解决方案
RDF图
二者比较
标签(Labels)
在RDF图中,标签是在RDFS命名空间即rdfs:label中定义出的标准谓词,用于指向任何资源的显示名称的值。尽管也可以使用另一个谓词来实现此目的,但是rdfs:label被广泛接受为属性的惟一标识符。
在属性图中,标签用于标识节点的类型。它被称为标签而不是类型,因为它只是一个字符串或一个文本标记,在文本之外没有任何意义,且在图中不能捕捉到关于它的任何信息。
类型(Types)
在RDF图中,节点的类型或属性的类型是资源,即通常在图中存在另一个节点带有与其关联的附加信息,以定义其预期的用途和语义。节点使用rdf:type来链接到它的类型。
在属性图中,属性中的边具有标识类型的标签。它被称为“类型”或“关系类型”。常被用于查询关系匹配,当图可视化显示时,它也作为边的显示名称。
属性(Properties)
在RDF图中,边也可称为属性(谓词),和属性指向的对象可以称为属性值,而所有属性值(文字或URI)都存储为节点。如图2中,ex:125到”The Post”有一条边,边为rdfs:label,在这个例子中,rdfs:label就是一个属性,而“The Post”是一个属性值。
在属性图中,属性只能有文字值。它们的存储和处理的方式与图中的节点不同。用数据建模的术语来说,就是属性图中的属性永远只能是属性。属性结构是键-值对的结构。这意味着属性键只能有一个值,如果它有多个值,则需要将单个值转换为一个由逗号分隔的值组成的数组(如图4所示)。而这也为查询带来了弊端,如查询所有人口数超过58000的城市,而图4中数组第一项表示2018年的人口,第二项表示2010年的人口,在属性图中是无法进行很好地区分。这也是属性图和知识图谱的一个很大的区别:如何从属性值中提取出额外的信息。
属性图的灵活性更弱,扩展或者根据要求进行更改也更加困难
https://www.cnblogs.com/wintersun/p/13463025.html
知识图谱平台
知识图谱引擎
图谱构建引擎
知识建模
本体模型
数据模型
构建模型
映射模型
图谱构建
数据规则流引擎
业务规则流引擎
图谱管理
全量图谱更新
增量图谱更新
图探索引擎
图谱管理
图概况
图实例管理
图谱查询
内置查询
实体扩展
关系推演
共同邻居
事件扩展
事件关系查询
自定义查询
查询接口
图谱挖掘
图论挖掘算法
图应用引擎
推荐引擎
问答引擎
资源管理引擎
资源管理
任务管理
图谱可视化编排
图谱服务引擎
行业图谱数据服务
行业问答
行业推荐
图谱AI服务能力
常见图谱
通用概念图谱
WordNet
WikiTaxonomy
Probase
大词林
CN-Probase
YoGO
领域图谱
阿里电商认知图谱
丁香园医疗知识图谱
海康安防知识图谱
萤石电商认知图谱
海康的视觉词典
挖掘类图谱
CBU工厂图谱
开放知识图谱
http://www.openkg.cn/
知识抽取
实体抽取
分类
粗粒度命名实体识别
细粒度命名实体识别
文本数据源
侧重语言、词汇知识表达的词汇知识图谱
step1高质量领域词汇挖掘
领域短语识别
基于规则挖掘名词性短语
基于词性标签规则的识别
基于短语统计指标的挖掘
无监督学习
监督学习
弱监督segPhrase
远程监督autophrase
同义词识别
基于同义词源的方法
基于模式(规则)匹配的方法
自举法
序列标注模型法
基于图模式的方法
基于搜索日志的同义词挖掘
基于翻译模型的同义词挖掘
等义词识别
缩略词识别
缩略词识别
缩略词抽取
基于文本模式(规则)的抽取
枚举剪枝法
缩略词预测
基于规则的方法
基于序列标注CRF的方法
基于深度学习LSTM+CRF的方法
step2从高质量领域词汇进行实体筛选
通用方法
传统方法
基于规则的方法
基于词典的方法
基于wordnet的实体分类方法
基于在线知识库的方法
基于监督学习的方法
基于统计模型的方法
HMM
CRF
半监督学习方法
自举法
基于深度学习的方法
LSTM+CRF
LSTM+CNN+CRF
基于注意力机制的神经网络模型
结构化数据源
基于规则的方法
基于映射的方法
关系抽取
结构化数据
人工输入
众包构建
数据映射
规则计算
公理推理
隐性关系推理
文本数据
分类
关系实例抽取
关系分类
开放关系抽取
通用方法
基于模式或规则抽取的方法
基于字符的模式
基于语法的模式
基于语义的模式
自举法
基于学习的抽取方法
基于序列标注的学习方法
基于文本分类的学习方法
基于监督学习的关系抽取方法
传统特征工程法
DeepDive
基于核函数
基于逻辑回归
基于句法解析增强
基于条件随机场
深度学习法
基于深度学习流水线的关系抽取方法(只抽取关系)
基于循环神经网络的关系抽取
基于卷积神经网络的关系抽取
CR-CNN
Attention-CNN
基于注意力机制的关系抽取
基于深度学习的联合关系抽取方法
基于弱监督学习的关系抽取方法
远程监督方法
Bootstrapping方法
属性抽取
基于规则的抽取
实体-属性关系抽取
事件抽取
事件的流水线抽取方法
有一系列子任务串联而成
事件触发词分类器
元素分类器
元素角色分类器
属性分类器
可报告性分类器
事件的联合抽取方法
基于深度学习的事件抽取方法
基于动态多卷积池化的事件抽取方法
知识融合
对称稠密场景
基于相似度计算的知识融合
基于属性相似度的实体相似度计算
基于聚类的融合
基于表示学习的融合
不对称稠密场景
基于知识增强的知识融合
本体概念层融合
本体集成
单本体集成
全局本体-局部本体集成
本体映射
实例层融合
实体链接
实体消除歧义
相似度计算
共指消解
mention pair
mention ranking
Entity-Mention models
RL
链接建立
知识合并
知识计算
基于逻辑的推理
基于演绎的推理(自上而下Hermit Fact++)
前件假言推理
后件假言推理
三段论
基于归纳的推理(自下而上,包括溯因推理,类比推理)
基于图的推理
PRA
基于规则学习的推理
AMIE
基于表示学习的推理
TransE
TransH
基于深度学习的推理
时序预测
强化学习
DeepPath
图神经网络
元学习
Domain
工厂标准
构建数字化工厂
工业过程测量控制和自动化生产设备的表示用参考模型(数字化工厂)
IEC62794标准
http://www.doc88.com/p-9844558678436.html
已废弃,被替代IEC TS 62832-1:2016
IEC TS 62832-1:2016
https://webstore.iec.ch/publication/33023
智能生产线将由线性静态发展为模块化的动态生产线
德国工业4.0白皮书
https://download.csdn.net/download/gjyzxueyanan/10878079
Generic Ontology for IoT Platforms
https://inter-iot.github.io/ontology/
http://www.360doc.com/content/15/0809/09/21917287_490461772.shtml
离散制造业
智慧园区
能源
电力
楼宇
Ontology
Brick.ttl
Haystack
IEC61850
IFC
产品
DesigoCC
Insight
Building Information Model-建筑信息模型
介绍
楼宇建筑将被建造两次:先是虚拟建造,然后是实际建造。
仅当虚拟建造满足全部预期和技术规范之后,实际建筑过程才开始,从而节省时间和成本,调高建筑质量。
数字化双胞胎
整个生命周期
角色
业主和投资方
建筑师和规划人员
总承包商和分包商
租户
设施管理者和运行人员
BIM 管理者
参考
https://new.siemens.com/cn/zh/products/buildings/digitalization/bim.html
Brick Resources
https://brickschema.org/docs/Consortium_Kickoff_2021.pdf
Developer-focused documentation:
- https://docs.brickschema.org/
- Concept documentation:
- https://brickschema.org/ontology
- Download Brick and examples:
- https://brickschema.org/resources
- Python library:
- https://brickschema.readthedocs.io/
tools
https://brickschema.org/tools
BrickStudio
https://brickschema.org/tools/BrickStudio/
https://brickschema.github.io/brick-studio/
Brick Viewer
https://brickschema.org/tools/BrickViewer/
old
QueryBuilder
Brick TTL Viewer
https://viewer.brickschema.org/
RDF Data Visualization
https://www.w3.org/2018/09/rdf-data-viz/
https://github.com/fatestigma/ontology-visualization
Brick 1.2.0 also includes alignments with several external ontologies and metadata representations
BOT: an ontology for building topologies and locations
https://w3c-lbd-cg.github.io/bot/
VBIS: an emerging standard for asset management tagging
https://vbis.com.au/
REC: an emerging ontology for real estate management
https://www.realestatecore.io/
https://brickschema.org/docs/Consortium_Kickoff_2021.pdf
BIM 对象
借助于 BIM 对象,可以精确规划和分析数字化设计。除此之外,这些对象还提供静态数据,作为提高运行效率的基础。所有利益相关方均在不同程度上获益于大量富含 BIM 数据的对象,它们包含相互依赖性、相互作用、几何形状、类别和属性关系等信息。
一些功能包括:
打开BIM:下载所有产品的IFC文件
2D和3D:下载所有产品的DXF和RFA文件
直接使用REVIT,并使用REVIT内核编写工具
LOD100上的符号视图:在REVIT中创建2D平面图时显示为2D符号
行业分类:数据集包括ETIM,IFC,OmniClass和UniClass分类
集成静态和动态数据
模拟
借助于楼宇的数字化双胞胎,可对紧急情况进行模拟,以便能够制定出满足监管要求的有效疏散计划。
该虚拟模型还能够模拟楼宇生命周期全部阶段中的所有方面,如安防、楼宇舒适度和能效。楼宇使用者的健康与舒适程度取决于这些因素。通过提高透明度,可将投资方、拥有者和运营者的风险降至最低。
空间利用率
不夸张地说,办公空间也是团队的一部分。最优空间利用率会增加楼宇对租户的吸引力。整体灵活性也是人们对楼宇的一个重要要求,因为楼宇的用途会随着时间的推移而改变。高利用率会给拥有者和投资方带来更高企业价值。
BIM 的一些应用实例
KG
应用系统
楼层
测点
点位数据命名规则
设备
标准
brick
brick建立在haystack之上的
暖通空调系统
新风及空调系统
室内温度控制系统
照明系统
电气系统
电表
空间信息
building
传感器系统
sensor
brick比ifc的传感器更细化更丰富
控制关系
运营关系
通用的
正式定义
haystack
BIM
楼宇模型概括的说法
IDM
过程定义标准
IFD
数据辞典标准
IFC
数据模型标准
sensor
对比
The impact of BIM
BIM标准
BS EN ISO 19650-1
BS EN ISO 19650-2
BS EN ISO 19650-3
BS EN ISO 19650-5
PD 19650
PAS 1192-6:2018
PAS 1192-3:2014
BS 1192-4:2014
PAS 1192-5:2015
BS 8536-1:2015
BS 8536-2:2016
BS 1192:2007+A2:2016 (WITHDRAWN, SUPERSEDED BY BS EN ISO 19650)
PAS 1192-2:2013 (WITHDRAWN, SUPERSEDED BY BS EN ISO 19650)
ISO 19650-2:2018
ISO 19650-2:2018
ISO 19650-3:2020
IFC
ifc是干什么的
ifc架构图
https://www.cnblogs.com/lyggqm/p/5358304.html
IFC是一个包含各种建设项目设计、施工、运营各个阶段所需要的全部信息的一种基于对象的、公开的标准文件交换格式
比喻为一个什么药都有的药铺
https://technical.buildingsmart.org/standards/ifc/ifc-schema-specifications/
IDM
Information Delivery Manual,信息交付手册
IDM的目标
a)定义建设项目生命周期内用户需要信息交换的所有流程
b)确定支持上述流程所需要的IFC功能
c)描述后续流程可以使用的该流程执行结果
d)指定流程中发送和接收信息的角色
e)保证上述定义、明细和描述以IDM目标群体可以使用和容易理解的形式提供
还有一个IDM的孪生兄弟MVD(Model View Definition 模型视图定义)
IDM就是针对某个病人或者某种疾病去药铺里面取药的方子
IFD
International Framework for Dictionaries,中文可以叫“国际字典框架”
IDM,IFC,IFD之间关系
IDM
过程定义标准
IFD
数据辞典标准
IFC
数据模型标准
BOT
https://www.computation.space/2020/06/brick.html
数据模型标准(MVD标准)
BIM通用标准体系
一是BIM标准框架,即为有效地利用BIM技术,更好地进行信息共享,BIM标准框架应包括3方面:分类编码、数据交换、信息交付。
二是BIM基础标准,适BIM标准体系主要利用3个基础标准:建筑信息组织标准、BIM信息交付手册标准以及数据模型表示标准。
三是BIM标准分类,按照标准框架,并在基础标准上,形成3大类标准:分类编码标准、数据模型标准、过程交付标准。
BIM标准编制过程中,主要利用了3类基础标准。
一是建筑信息组织标准,用于分类编码标准和过程标准的编制;
二是信息交付手册标准,用于过程标准的编制;
三是数据模型表示标准,用于数据模型标准的编制。
需求
子系统
版本
插件
license
报价
接口
数据
历史数据
Webservice接口
Restful API
数据库
实时数据
SignalR
MQ
Webservice接口
Restful API
click house
Redis
点位数据列表
拓扑图
传递参数
协议
BACnet
LonWorks
Modbus
KNX
TCP/IP
OPC
ODBC
Socket
RS232
RS485
EtherNet/IP
测试
postman
rabbitMQ
调用频率
性能
可扩展性
sdk
返回schema
安全
认证
token
证书
授权
数据库
版本
能否导出数据及结构
能否客户端访问
connector是否支持
部署架构
环境
中间件
部署方式 BS CS
网络
插件
建模
标准
Brick
Haystack
BIM的IFC
IEC61850
实例
解析规则
建立关系
系统、设备与点位的关系
接口
领域知识
子系统改造
配置
系统和传感器和DDC关系
现有系统
当前实现方式
哪些可以复用
是否可以形成插件
展示
每一楼层的平面图,标注详细点位的图
实现顺序
重要性
优先级
成本
各种标准前缀的含义
中国标准:
CB-xx船舶行业标准
CH-xx测绘行业标准
CJ-xxxx建设行业标准
CY-xx新闻出版行业标准
DA-xx档案工作行业标准
DB-xx农机工业标准
DJ-xx电力工业标准
DL-xx电力建设行业标准
DZ-xx地质矿产行业标准
EJ-xx核工业行业标准
FZ-xx纺织行业标准
GB-xx国家强制性标准
GB/T-xx推荐性国家标准
GJB-xx国家军用标准
GY-xx广播电影电视行业标准
GA-xxxx行业标准
HB-xx航空工业行业标准
HG-xx化工行业标准
HJ-xx环境保护行业标准
HY-xxxx工作行业标准
JB-中国机械行业(含机械、电工、仪器仪表等)强制性行业标准
JC-xx建筑材料行业标准
JB/T-中国机械行业(含机械、电工、仪器仪表等)推荐性行业标准
JG-xx建筑工业行业标准
JR-xx金融系统行业标准
JT-xx公路、水路运输行业标准
JY-xx教育行业标准
JZ-xx建筑工程标准
LD-xx劳动和劳动安全行业标准
LY-中国林业行业标准
MH-xx民用航空行业标准
MT-xx煤炭行业标准
MZ-xx民政工作行业标准
NY-xx农业行业标准
QB-xx轻工行业标准
QC-xx汽车行业标准
QJ-xx航天工业行业标准
SB-xx商业行业标准
SC-xx水产行业标准
SH-xx石油化工行业标准
SJ-xx电子行业标准
SL-xx水利行业标准
SN-xx进出口商品检验行业标准
SY-xx石油天然气行业标准
TB-xx铁路运输行业标准
TD-xx土地管理行业标准
TY-xx体育行业标准
WB-xx卫生标准
WH-xx文化行业标准
WJ-xx兵器工业标准
XB-xx稀土行业标准
YB-xx黑色冶金行业标准
YC-xx烟草行业标准
YD-xx邮电通信行业标准
YS-xx有色金属行业标准
YY-xx医药行业标准
ZB-xx专业标准
ZBY-xx仪器行业专用标准
ZY-xx中医行业标准
CNS-xx工业标准
国际标准:
ISO-国际标准化组织标准
JSO/R-国际标准化组织建议
IIW-国际焊接协会标准
JCAO-国际民用航空组织标准
ICRP-国际射线防护委员会标准
xx标准
ASTM STD-美国材料与试验协会标准
AASHTO STD -美国国家公路及运输公务员协会标准
ANSI STD-xx标准协会标准
AIAG STD -自动化工业行动集团标准
API STD-xx石油协会标准
ASNT(SNT) STD -美国无损检测协会
AREA STD-xx铁路工程协会标准
ASME STD-美国机械工程师协会标准
AIA STD-xx航空学会标准
AWS STD-xx焊接协会标准
FAA STD-美国联邦标准
MIL-STD -xx军用标准
MSS STD-美国制造商标准化协会标准
ASA-xx国家标准
NCRP STD -美国国家辐射防护与测量理事会标准
SAE-xx汽车工程师协会标准
NAS-xx国家航空航天标准
AMS-xxxx材料规范
ABS-xx海运局标准
AES-xx原子能委员会标准
AISI-xx钢铁协会标准
DOD-美国国防部标准
AIA-xxxx工业协会标准
DOE-美国能源部标准
NBS-xx国家标准局标准
xx标准:
JIS-xx工业标准
NDIS-xx无损检测协会标准
HPI-xx高压技术协会标准
xx标准:
CSA STD-xx国家标准
CAN CGSB -xx工业通用标准
IRS-xx标准化协会标准
xx标准:
BSI-xx标准协会标准
DTD-xx航空材料规范
BS-xx国家标准
xx标准:
NF-xx国家标准
AFNOR-xx标准化协会标准
AIR-xx国防部标准
xx标准:
LN-原xx航空标准
SEL-原xx钢铁产品交货技术条件
DIN-xx工业标准
其他:
UNI-xx国家标准
EN-xx标准化委员会标准
ГОСТ-前xx国家标准
EFNDT-xx无损检测联盟
STAS-xx国家标准
AS-xx国家标准
Iot Device
标准
Open Geospatial Consortium (OGC)
http://download.osgeo.org/livedvd/doc-dev/standards/sensorml_overview.html
Several conceptual modules have been defined to cover key sensor, actuation and sampling concepts. The different conceptual modules of SOSA/SSN can be seen in the following figure.
PUCK Protocol Standard
– Defines a protocol to retrieve a SensorML description, sensor "driver" code, and other information from the device itself, thus enabling automatic sensor installation, configuration and operation.
PUCK协议标准 –定义一种协议,以从设备本身检索SensorML描述,传感器“驱动程序”代码和其他信息,从而实现传感器的自动安装,配置和操作。
https://www.opengeospatial.org/standards/puck
Sensor Model Language (SensorML)
– Standard models and XML Schema for describing the processes within sensor and observation processing systems.
传感器模型语言(SensorML)–用于描述传感器和观测处理系统内过程的标准模型和XML模式。
https://www.opengeospatial.org/standards/sensorml
SensorML-2.0 examples
http://www.sensorml.com/sensorML-2.0/examples/
Sensor Observation Service (SOS)
– Open interface for a web service to obtain observations and sensor and platform descriptions from one or more sensors.
传感器观测服务(SOS)– Web服务的开放接口,用于从一个或多个传感器获取观测以及传感器和平台描述。
https://www.opengeospatial.org/standards/sos
Sensor Planning Service (SPS)
– An open interface for a web service by which a client can 1) determine the feasibility of collecting data from one or more sensors or models and 2) submit collection requests.
传感器计划服务(SPS)– Web服务的开放接口,客户可以通过该接口1)确定从一个或多个传感器或模型收集数据的可行性,以及2)提交收集请求。
https://www.opengeospatial.org/standards/sps
https://www.opengeospatial.org/standards/swecommon
SWE Common Data Model
– Defines low-level data models for exchanging sensor related data between nodes of the OGC® Sensor Web Enablement (SWE) framework.
SWE通用数据模型 –定义用于在OGC®传感器Web支持(SWE)框架的节点之间交换传感器相关数据的低级数据模型
https://www.opengeospatial.org/standards/swecommon
SWE Service Model
– Defines data types for common use across OGC Sensor Web Enablement (SWE) services. Five of these packages define operation request and response types.
SWE服务模型 –定义OGC Sensor Web Enablement(SWE)服务之间通用的数据类型。其中五个软件包定义了操作请求和响应类型
https://www.opengeospatial.org/standards/swes
Observations and Measurements
观测和测量(O&M)–观测和测量的通用模型和XML编码。
The general models and XML encodings for observations and measurements.
https://www.opengeospatial.org/standards/om
Official Schemas
http://schemas.opengis.net/om/2.0/
http://schemas.opengis.net/sampling/2.0/
http://schemas.opengis.net/samplingSpatial/2.0/
http://schemas.opengis.net/samplingSpecimen/2.0/
OGC SensorThings API
https://www.opengeospatial.org/standards/sensorthings
IEEE 1451
IEEE 对传感器网络传输所定义的传感器描述规则
http://www.doc88.com/p-3177686962536.html
1451系列标准包括:[2]
1451.0–2007 IEEE用于传感器和执行器的智能变送器接口的标准-通用功能,通信协议和变送器电子数据表(TEDS)格式
1451.1–1999用于传感器和执行器的智能变送器接口的IEEE标准–具有网络功能的应用处理器信息模型
1451.2-1997用于传感器和执行器的智能变送器接口的IEEE标准–变送器到微处理器的通信协议和TEDS格式
1451.3-2003用于传感器和执行器的智能变送器接口的IEEE标准–分布式多点系统的数字通信和TEDS格式
1451.4-2004用于传感器和执行器的智能变送器接口的IEEE标准-混合模式通信协议和TEDS格式
1451.5-2007用于传感器和执行器的智能换能器接口的IEEE标准–无线通信协议和换能器电子数据表(TEDS)格式
1451.7-2010用于传感器和执行器的智能换能器接口的IEEE标准–射频识别(RFID)系统的换能器通信协议和换能器电子数据表格式
Device Kit
对传感器硬件信息进行描述
Semantic Sensor Network Ontology
Latest published version
https://www.w3.org/TR/vocab-ssn/
Latest editor's draft
https://w3c.github.io/sdw/ssn/
SSN ontology
http://www.w3.org/ns/ssn/
开发语义传感器网络(SSN)的本体
https://w3c.github.io/sdw/ssn-usage/
SOSA ontology
http://www.w3.org/ns/sosa/.
Knowledge Graph
entity & relationship
Property Alignments
6. Vertical Segmentation
Extensions to the Semantic Sensor Network Ontology
https://www.w3.org/TR/vocab-ssn-ext/
The ontology can be seen from four main perspectives:
A sensor perspective, with a focus on what senses, how it senses, and what is sensed;
传感器的角度,着重于什么感觉,如何感觉以及被感觉到的东西;
An observation perspective, with a focus on observation data and related metadata;
观察角度,重点是观察数据和相关的元数据;
A system perspective, with a focus on systems of sensors and deployments; and,
系统角度,重点是传感器和部署系统
A feature and property perspective, focusing on what senses a particular property or what observations have been made about a property.
从特性和属性的角度,着重于对特定属性的感知或对属性的观察
从概念上而非物理上被组织为十个模块,如图1所示。完整的本体包含41个概念和39个对象属性,它们直接继承自11个DUL概念和14个DUL对象属性。
Json描述
JSON Encoding Rules SWE Common / SensorML
https://docs.opengeospatial.org/bp/17-011r2/17-011r2.html
OGC SensorThings API Part 1: Sensing
https://docs.opengeospatial.org/is/15-078r6/15-078r6.html
oboe
http://ecoinformatics.org/oboe/oboe.1.0/oboe-core.owl#
DUL
http://www.ontologydesignpatterns.org/ont/dul/DUL.owl
GB标准
信息技术 传感器网络
传感器分类与代码
物联网总体技术
OneM2M
物联网领域国际标准化组织
http://www.onem2m.cn/
该标准主要关注物联网的应用层和服务功能层
The Stimulus–Sensor–Observation Pattern
Stimuli
Sensors
Observations
示例
风传感器示例
扩展SSN本体的本体将设备的类型和类别定义为(TBox)概念,将实例(特定位置的实际设备)定义为(ABox)个体。
面向智能诊断的语义物联网知识标注与推理框架
http://html.rhhz.net/buptjournal/html/20170417.htm
设备描述本体
http://html.rhhz.net/buptjournal/html/20170417.htm
该本体重用了各物联网本体中相应概念描述最完备的部分
如传感器本体SSN(包括了对事件的描述)
执行器本体SAN
IoT-O重用的服务描述本体MSM和其提出的状态机建模以及数据描述模型QUDT等
The Modular SSN Ontology: A Joint W3C and OGC
Standard Specifying the Semantics of Sensors,
Observations, Sampling, and Actuation
MES系统
基础数据
公共数据
制造资源数据
物料数据
产品数据
工艺数据
生产计划
生产订单涉及
生产计划编制
组批管理
物料分配
生产订单追踪
生产调度
作业计划编制
作业计划分派
作业计划执行
作业计划跟踪
质量管理
质检规范管理
质检计划
质检作业
质检实绩
质量判定与处置
质量跟踪与追溯
质保书管理
物料管理
生产实绩管理
物料跟踪与追溯
物料处置
仓储管理
仓储规则定义
仓储资源维护
仓库作业计划
搬运指令
仓库作业实绩
库位跟踪
制造资源管理
设备管理
工装管理
人员管理
绩效管理
生产绩效管理
质量绩效管理
库存绩效管理
维护绩效管理
功能层次模型
基于角色的设备层次模型
功能数据流模型
制造运行信息类别
ISA95实体
区域
消耗品实际
消耗品实际属性
消耗品预期
消耗品预期属性
企业
设备
设备实际
设备实际属性
设备能力
设备能力属性
设备能力测试结果
设备能力测试规范
设备类
设备类属性
设备属性
设备要求
设备要求属性
设备段能力
设备段能力属性
设备部分规范
设备规范
设备规范属性
维护请求
维护响应
维护工作订单
制造业账单
材料能力
材料能力属性
材料类
材料类属性
实际消耗的材料
材料消耗要求
材料定义
材料定义属性
材料批次
材料批次属性
实际生产的材料
实际生产的材料属性
材料生产要求
材料生产要求属性
材料部分能力
材料部分能力属性
材料部分规格
材料部分规格属性
材料规格
材料规格属性
材料子图
人物
人物属性
人员实际
人员实际属性
人员能力
人员能力属性
人员类别
人员类别属性
人员要求
人员要求属性
人事部门能力
人事部门能力属性
人事部门规范
人事部门规范属性
人事规范
人事规范属性
处理单元
流程段
流程段能力
流程段依赖
产品参数
产品生产规划
产品细分
产品细分依赖
生产能力
生产日期
生产线
生产参数
生产性能
生产要求
生产响应
生产单元
生产单元
QA测试结果
QA测试规范
资格测试结果
资格测试规范
需求段
相应段
现场
单位
工作单元
工作中心
工作KPI
(IEC62264-2第2部分:企业控制系统集成的对象和属性
通用对象模型
人员信息
人员模型
人员类
人员类特性
人
人的特性
资格测试规范
资格测试结果
基于角色的设备信息
基于角色的设备模型
设备类
设备类特性
设备
设备特性
设备能力测试规范
设备能力测试结果
实物资产信息
实物资产模型
实物资产和设备关系
实物资产
实物资产特性
实物资产类
实物资产类特性
实物资产能力测试规范
实物资产能力测试结果
设备资产映射
物料信息
物料模型
物料类
物料类特性
物料定义
物料定义特性
物料批次
物料批次特性
物料分批次
物料测试规范
物料测试结果
集合
过程段
过程段模型
过程段
人员段规范
人员段规范特性
设备段规范
设备段规范特性
物料段规范
物料段规范特性
实物资产段规范
实物资产段规范特性
过程段参数
过程段从属性
运行管理信息
运行定义信息
运行定义模型
运行定义
运行物料清单
运行物料清单项目
运行段
参数规范
人员规范
人员规范特性
设备规范
设备规范特性
实物资产规范
实物资产规范特性
物料规范
物料规范特性
运行段从属性
运行调度信息
运行调度模型
运行调度
运行请求
段要求
段参数
人员要求
人员要求特性
设备要求
设备要求特性
实物资产要求
实物资产要求特性
物料要求
物料要求特性
请求段响应
运行绩效信息
运行绩效模型
运行绩效
运行响应
段响应
段数据
实际人员
实际人员特性
实际设备
实际设备特性
实际实物资产
实际实物资产特性
实际物料
运行能力信息
运行能力模型
运行能力
人员能力
人员能力特性
设备能力
设备能力特性
实物资产能力
实物资产能力特性
物料能力
物料能力特性
过程段能力信息
过程段能力模型
过程段能力
对象模型的相互关系
物联网综合标准化体系
智能制造系统架构
架构图
生命周期
生命周期是指从产品原型研发开始到产品回收再制造
的各个阶段,包括设计、生产、物流、销售、服务等一系列
相互联系的价值创造活动。生命周期的各项活动可进行迭代
优化,具有可持续性发展等特点,不同行业的生命周期构成
不尽相同。
(1)设计是指根据企业的所有约束条件以及所选择的
技术来对需求进行构造、仿真、验证、优化等研发活动过程;
(2)生产是指通过劳动创造所需要的物质资料的过程;
(3)物流是指物品从供应地向接收地的实体流动过程;
(4)销售是指产品或商品等从企业转移到客户手中的
经营活动;
(5)服务是指提供者与客户接触过程中所产生的一系
列活动的过程及其结果,包括回收等。
系统层级
系统层级是指与企业生产活动相关的组织结构的层级
划分,包括设备层、单元层、车间层、企业层和协同层。
(1)设备层是指企业利用传感器、仪器仪表、机器、
装置等,实现实际物理流程并感知和操控物理流程的层级;
(2)单元层是指用于工厂内处理信息、实现监测和控
制物理流程的层级;
(3)车间层是实现面向工厂或车间的生产管理的层级;
(4)企业层是实现面向企业经营管理的层级;
(5)协同层是企业实现其内部和外部信息互联和共享
过程的层级。
智能特征
智能特征是指基于新一代信息通信技术使制造活动具
有自感知、自学习、自决策、自执行、自适应等一个或多个
功能的层级划分,包括资源要素、互联互通、融合共享、系
统集成和新兴业态等五层智能化要求。
(1)资源要素是指企业对生产时所需要使用的资源或
工具进行数字化过程的层级;
(2)互联互通是指通过有线、无线等通信技术,实现
装备之间、装备与控制系统之间,企业之间相互连接功能的
层级;
(3)融合共享是指在互联互通的基础上,利用云计算、
大数据等新一代信息通信技术,在保障信息安全的前提下,
实现信息协同共享的层级;
(4)系统集成是指企业实现智能装备到智能生产单元、
智能生产线、数字化车间、智能工厂,乃至智能制造系统集
成过程的层级;
(5)新兴业态是企业为形成新型产业形态进行企业间
价值链整合的层级。
智能制造的关键是实现贯穿企业设备层、单元层、车间
层、工厂层、协同层不同层面的纵向集成,跨资源要素、互
联互通、融合共享、系统集成和新兴业态不同级别的横向集
成,以及覆盖设计、生产、物流、销售、服务的端到端集成。
智能制造标准体系结构图
基础共性
安全标准主要包括功能安全、信息安全和人因安全三个部分
可靠性标准主要包括工程管理、技术方法两个部分
检测标准主要包括测试项目、测试方法等两个部分。
评价标准主要包括指标体系、能力成熟度、评价方法、实施指南等四个部分。
关键技术
结构图
B 关键技术标准是智能制造系统架构智能特征维度在生命周期维度和系统层级维度所组成的制造平面的投影,其中
BA 智能装备对应智能特征维度的资源要素
BB 智能工厂对应智能特征维度的系统集成
BC 智能服务对应智能特征维度的新兴业态
BD智能使能技术对应智能特征维度的融合共享
BE 工业互联网对应智能特征维度的互联互通
智能装备标准建设重点
识别与传感标准。
标识及解析、数据编码与交换、系统性能评估等通用技术标准;信息集成、接口规范和互操作等设备集成标准;通信协议、安全通信、协议符合性等通信标准;智能设备管理、产品全生命周期管理等管理标准。
控制系统标准。
控制方法、数据采集及存储、人机界面及可视化、通信、柔性化、智能化等通用技术标准;控制设备集成、时钟同步、系统互联等集成标准。
工业机器人标准。
集成安全要求、统一标识及互联互通、信息安全等通用技术标准;数据格式、通信协议、通信接口、通信架构、控制语义、信息模型、对象字典等通信标准;编程和用户接口、编程系统和机器人控制间的接口、机器人云服务平台等接口标准;制造过程机器人与人、机器人与机器人、机器人与生产线、机器人与生产环境间的协同标准。
数控机床及设备标准。
智能化要求、语言与格式、故障信息字典等通用技术标准;互联互通及互操作、物理映射模型、远程诊断及维护、优化与状态监控、能效管理、接口、安全通信等集成与协同标准;智能功能部件、分类与特性、智能特征评价、智能控制要求等制造单元标准。
智能工厂标准建设重点
智能工厂设计标准
智能工厂参考模型、通用技术要求等总体规划标准;
智能工厂信息基础设施设计、物联网系统设计和信息化应用系统设计等工厂智
能化系统设计标准;虚拟工厂设计参考架构、虚拟工厂信息模型和虚拟工厂建
设要求等虚拟工厂设计标准;达成智能工厂规划设计要求所需的仿真分析、工
艺优化、工厂信息标识编码和设计文件深度要求等实施指南标准。
智能工厂交付标准
交付内容、深度要求、流程要求等数字化交付标准;
智能工厂各环节、各系统及系统集成等竣工验收标准。
智能生产标准
计划仿真、多级计划协同、可视化排产、动态优化调度等
计划调度标准;作业文件自动下发、协同生产、生产过程管理与优化、可视化
监控与反馈、生产绩效分析、异常管理等生产执行标准;质量数据采集、在线
质量监测和预警、质量档案及质量追溯、质量分析与改进等质量管控标准;设
备运行状态监控、设备维修维护、基于知识的设备故障管理、设备运行分析与
优化等设备运维标准。
集成优化标准
虚拟工厂与物理工厂的集成、业务间集成架构与功能、集
成的活动模型和工作流、信息模型、信息交互、集成接口和性能、现场设备与
系统集成、系统之间集成、系统互操作等集成与互操作标准;各业务流程的优
化、操作与控制的优化、销售与生产协同优化、设计与制造协同优化、生产管
控协同优化、供应链协同优化等系统与业务优化标准。
智能服务标准建设重点
大规模个性化定制标准。
通用要求、需求交互规范、模块化设计规范和生产规范等标准。
运维服务标准。
基础通用、数据采集与处理、知识库、状态监测、故障诊断、寿命预测等标准。
智能使能技术标准建设重点
人工智能应用标准
场景描述与定义标准,知识库标准,性能评估标准,
以及智能在线检测、基于群体智能的个性化创新设计、协同研发群智空间、智
能云生产、智能协同保障与供应营销服务链等应用标准。
边缘计算标准
架构与技术要求、计算及存储、安全、应用等标准
工业互联网标准建设重点
体系架构标准。
总体框架标准;工业无线网、工业无源光网络(PON)、
工业软件定义网络、低功耗无线网络等工厂内网络标准;工厂外部网络架构、
工业虚拟专网(VPN)等工厂外网络标准;时间敏感网络(TSN)、工业 5G 推
进、扁平化网络发展等网络增强演进标准。
网联技术标准。
工厂内部不同层级的组网技术标准,工厂与设计、制造、
供应链、用户等产业链各环节之间的互联技术标准;针对现场设备级、车间监
测级及工厂管理级的不同需求的各种局域和广域工业无线网络标准;针对工业
现场总线、工业以太网、工业布缆的工业有线网络标准。
行业应用标准
发挥基础共性标准和关键技术标准在行业应用标准制
定中的指导作用,优先制定各行业均有需求的设备互联互
通、智能工厂建设指南、数字化车间、数据字典、运维服务
等重点标准。在此基础上,发挥各行业特点,制定行业亟需
的重点标准。
比如
高档数控机床和机器人领域重点标准有机床制造标准、机床测试标准等
电力装备领域重点标准有存储管理标
准、数据智能采集标准、监测诊断服务标准等。
智能制造系统架构映射及示例解析
工业4.0标准
https://i40-tools.github.io/I40KG/docs/index.html
工业领域
IEC62264/ISA95,GB150995,GB/T I9001-2000,GB/T 30785-2014
ERP、MES、APS系统的关联和区别
https://zhuanlan.zhihu.com/p/144282140
Semantic web
经典示例
命名关系
更好的方法是使用parent of而不是parent
一个孩子只能有两个父母,一个父母可以有很多孩子。
因此,我们不应该使用parent.
“has”作为前缀容易产生噪音
当我们说 John 的父母Jane 时,意思是 Jane 是 John 的父母。如果只能有一个前缀“has”,那么添加它主要是噪音。
如果您使用后缀来阐明关系的方向,请不要同时添加“is”作为前缀
可以使用后缀或前缀来阐明方向
如果关系的方向允许您使用后缀,则选择该后缀而不是前缀
rdfs:subClassOf
关系的方向
你应该存储反向链接吗?简单的答案是否定的。
存储额外的三重语句会使您的数据膨胀。这会对索引大小和查询性能产生负面影响。
它还产生了对所谓的真相维护的需求。
Graphs
Property Graphs
(also known as Labeled Property Graphs)
• RDF Graphs
(Resource Description Framework)
ontology工具
https://doc.topquadrant.com/7.0/ontologies/
多业务图
JanusGraph
Dynamic Graphs
https://docs.janusgraph.org/basics/multi-node/#dynamic-graphs
ConfiguredGraphFactory
https://docs.janusgraph.org/basics/configured-graph-factory/#configuredgraphfactory
GremlinServer
opensource
https://github.com/apache/tinkerpop/blob/master/gremlin-server/src/test/java/org/apache/tinkerpop/gremlin/server/util/DefaultGraphManagerTest.java
https://github.com/apache/tinkerpop/blob/master/gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/util/DefaultGraphManager.java
Namespace Conventions
http://tinkerpop.apache.org/docs/current/reference/#_namespace_conventions
GremlinPlugin
Graph.Hidden
Graph Variables
Schema information
模型定义(Schema information):命名空间前缀所指代的内容是什么和模型的最后修改时间是什么?
全局访问权限(Global permissions):特定组的访问权限是什么?
系统用户信息(System user information):系统管理员是谁?
这个图变量(Graph variables)并不打算让它成为一个重要的部分,也不适用于大量的并发计算,其目的仅仅是给 图管理 一个存储数据的地方。
缺点
不能改变
不能在复杂的计算中使用
不能远程访问图
PartitionStrategy
http://tinkerpop.apache.org/docs/current/reference/#_partitionstrategy
前端框架
https://swimlane.github.io/ngx-graph/
https://github.com/visjs/ngx-vis
https://g6.antv.vision/en
推荐
开源
ALibaba Graph-Learn
https://github.com/alibaba/graph-learn/blob/master/docs/install.md
https://csdnnews.blog.csdn.net/article/details/105259923
环境
python
https://www.python.org/downloads/release/python-382/
pip
wget
https://blog.csdn.net/qq_40962368/article/details/86772419
https://eternallybored.org/misc/wget/
apt-get
Apollo Federation
graph支持分布式的
https://github.com/apollographql/federation-demo
https://www.apollographql.com/docs/apollo-server/federation/introduction/
Graph Filter实现subdomain
Springboot集成neo4j
springboot工程
https://start.spring.io/
https://spring.io/projects/spring-data-neo4j
https://docs.spring.io/spring-data/neo4j/docs/current/reference/html/#getting-started
java驱动
https://neo4j.com/developer/spring-data-neo4j/
Neo4j Java Driver
https://neo4j.com/developer/java/#java-driver
https://github.com/neo4j/neo4j-java-driver
https://neo4j.com/docs/api/java-driver/curren
步骤
Listing 1. Start a local Neo4j instance inside Docker.
docker run --publish=7474:7474 --publish=7687:7687 -e 'NEO4J_AUTH=neo4j/secret' neo4j:4.0.4
访问
http://localhost:7474
docker run -d --name container_name -p 7474:7474 -p 7687:7687 -v /home/neo4j/data:/data -v /home/neo4j/logs:/logs -v /home/neo4j/conf:/var/lib/neo4j/conf -v /home/neo4j/import:/var/lib/neo4j/import --env NEO4J_AUTH=neo4j/password neo4j
Create a new Spring Boot project
Select the "Spring Web Starter" to get all the dependencies needed for creating a Spring based web application.
Listing 2. Create a basic Maven project with the Spring Initializr
Gremlin
TinkerPop支持三种导入导出图数据的格式,分别是 GraphML, GraphSON,和 Gryo.
http://tinkerpop-gremlin.cn/#graphml
oData
https://www.odata.org/
Tools
vscode-odata
Visual Studio Code for OData
https://marketplace.visualstudio.com/items?itemName=stansw.vscode-odata
XOData
https://pragmatiqa.com/xodata/
An OData framework for Java
http://odata4j.org/
Generate SQL from OData in node.js
odata-to-sql
https://developer.aliyun.com/mirror/npm/package/odata-to-sql
https://docs.microsoft.com/zh-cn/sql/integration-services/data-flow/odata-source-properties?redirectedfrom=MSDN&view=sql-server-ver15
gitlab
https://github.com/sdl/odata
https://github.com/sdl/odata-example
demo
电影
https://github.com/kobeyk/Spring-Boot-Neo4j-Movies
https://blog.csdn.net/Appleyk/article/details/80422055
数据包
question
HanLP分词器
https://github.com/hankcs/HanLP/releases
Spark环境搭建
https://blog.csdn.net/appleyk/article/details/80334716
新冠
http://zhipu.ai/xinwendongtai/54.html
运行neo4j 3.5
neo4j.bat console
导入数据
csv文件导入neo4j语句
找到neo4j的安装路径,并在neo4j-community-3.4.0\目录下创建import目录
完整路径如下\neo4j\neo4j-community-3.5.12-windows\neo4j-community-3.5.12\import
因为neo4j支持导入csv文件,其默认目录入口是 ...\import
//导入节点 电影类型 == 注意类型转换
LOAD CSV WITH HEADERS FROM "file:///genre.csv" AS line
MERGE (p:Genre{gid:toInteger(line.gid),name:line.gname})
//导入节点 演员信息
LOAD CSV WITH HEADERS FROM 'file:///person.csv' AS line
MERGE (p:Person {pid:toInteger(line.pid),birth:line.birth,death:line.death,name:line.name,biography:line.biography,birthplace:line.birthplace})
// 导入节点 电影信息
LOAD CSV WITH HEADERS FROM "file:///movie.csv" AS line
MERGE (p:Movie{mid:toInteger(line.mid),title:line.title,introduction:line.introduction,
rating:toFloat(line.rating),releasedate:line.releasedate})
// 导入关系 actedin 电影是谁参演的 1对多
LOAD CSV WITH HEADERS FROM "file:///person_to_movie.csv" AS line
match (from:Person{pid:toInteger(line.pid)}),(to:Movie{mid:toInteger(line.mid)})
merge (from)-[r:actedin{pid:toInteger(line.pid),mid:toInteger(line.mid)}]->(to)
//导入关系 电影是什么类型 == 1对多
LOAD CSV WITH HEADERS FROM "file:///movie_to_genre.csv" AS line
match (from:Movie{mid:toInteger(line.mid)}),(to:Genre{gid:toInteger(line.gid)})
merge (from)-[r:is{mid:toInteger(line.mid),gid:toInteger(line.gid)}]->(to)
-- 问:章子怡都演了哪些电影?
match(n:Person)-[:actedin]->(m:Movie) where n.name='章子怡' return m.title
-- 删除所有的节点及关系
MATCH (n)-[r]-(b)
DELETE n,r,b
完整路径如下\neo4j\neo4j-community-3.5.12-windows\neo4j-community-3.5.12\import
因为neo4j支持导入csv文件,其默认目录入口是 ...\import
//导入节点 电影类型 == 注意类型转换
LOAD CSV WITH HEADERS FROM "file:///genre.csv" AS line
MERGE (p:Genre{gid:toInteger(line.gid),name:line.gname})
//导入节点 演员信息
LOAD CSV WITH HEADERS FROM 'file:///person.csv' AS line
MERGE (p:Person {pid:toInteger(line.pid),birth:line.birth,death:line.death,name:line.name,biography:line.biography,birthplace:line.birthplace})
// 导入节点 电影信息
LOAD CSV WITH HEADERS FROM "file:///movie.csv" AS line
MERGE (p:Movie{mid:toInteger(line.mid),title:line.title,introduction:line.introduction,
rating:toFloat(line.rating),releasedate:line.releasedate})
// 导入关系 actedin 电影是谁参演的 1对多
LOAD CSV WITH HEADERS FROM "file:///person_to_movie.csv" AS line
match (from:Person{pid:toInteger(line.pid)}),(to:Movie{mid:toInteger(line.mid)})
merge (from)-[r:actedin{pid:toInteger(line.pid),mid:toInteger(line.mid)}]->(to)
//导入关系 电影是什么类型 == 1对多
LOAD CSV WITH HEADERS FROM "file:///movie_to_genre.csv" AS line
match (from:Movie{mid:toInteger(line.mid)}),(to:Genre{gid:toInteger(line.gid)})
merge (from)-[r:is{mid:toInteger(line.mid),gid:toInteger(line.gid)}]->(to)
-- 问:章子怡都演了哪些电影?
match(n:Person)-[:actedin]->(m:Movie) where n.name='章子怡' return m.title
-- 删除所有的节点及关系
MATCH (n)-[r]-(b)
DELETE n,r,b
HanLP在线演示 多语种自然语言处理
https://hanlp.hankcs.com/
电影知识图谱问答(一)|爬取豆瓣电影与书籍详细信息
https://github.com/weizhixiaoyi/DouBan-Spider
https://zhuanlan.zhihu.com/p/58126191
演示
wikipedia
causes of death
http://tinyurl.com/l5b9hfh
population of countries bordering Germany
http://tinyurl.com/lb9bomd
查看博士导师
https://w.wiki/AE8
水的源头
http://w.wiki/7LT
可视化
https://www.wikidata.org/wiki/Wikidata:Tools/Visualize_data/zh
Linking Open Data
http://lod-cloud.net/
常识知识图谱
http://www.cyc.com/
Cyc
基于认知语言学的英语词典
https://wordnet.princeton.edu/
WordNet
大型的多语言常识知识库
ConceptNet
http://conceptnet.io/
全球地理数据库
GeoNames
http://www.geonames.org/
Freebase/Wikidata
Freebase 所有知识采用结构化的表示形式,可由机器和人编辑
• Wikidata是维基百科的姐妹工程,同样可由机器和人自由编辑
• 2016年8月31日,Freebase宣布关闭,所有数据汇入Wikidata
DBpedia
http://wiki.dbpedia.org/
从维基百科页面中自动抽取出结构化的知识,构建而成的大型通用百科
YAGO
采用自动的方式构建,数据来源于维基百科、WordNet 以及GeoNames
http://www.mpi-inf.mpg.de/departments/databases-and-information-systems/research/yago-naga/yago/#c10444
Open IE
互联网开放关系抽取系统,主要从句子中抽取开放关系
http://openie.allenai.org/
BabelNet
多语言知识图谱
http://babelnet.org/
Google KG
谷歌知识图谱于2012 年发布,被认为是搜索引擎的一次重大革新
Probase
概念图谱,数据源来自微软搜索引擎Bing 的网页,主要利用Hearst Pattern 从
文本中抽取IsA 关系
搜狗知立方/百度知心
CN-DBpedia
由复旦大学知识工场实验室构建
• 融合通用百科和领域百科数据
http://magi.com/
知识图谱管理系统
Virtuoso
https://virtuoso.openlinksw.com/
Jena
http://jena.apache.org/index.html
概念
Owl
上面我们提到,RDFS本质上是RDF词汇的一个扩展。后来人们发现RDFS的表达能力还是相当有限,因此提出了OWL。我们也可以把OWL当做是RDFS的一个扩展,其添加了额外的预定义词汇。
OWL,即“Web Ontology Language”,语义网技术栈的核心之一。OWL有两个主要的功能:
1. 提供快速、灵活的数据建模能力。
2. 高效的自动推理。
Turtle
RDF序列化方法
RDF序列化的方式主要有:RDF/XML,N-Triples,Turtle,RDFa,JSON-LD等几种。
N-Triples
即用多个三元组来表示RDF数据集,是最直观的表示方法。在文件中,每一行表示一个三元组,方便机器解析和处理。开放领域知识图谱DBpedia通常是用这种格式来发布数据的。
Turtle
应该是使用得最多的一种RDF序列化方式了。它比RDF/XML紧凑,且可读性比N-Triples好。
RDFa
即“The Resource Description Framework in Attributes”,是HTML5的一个扩展,在不改变任何显示效果的情况下,让网站构建者能够在页面中标记实体,像人物、地点、时间、评论等等。也就是说,将RDF数据嵌入到网页中,搜索引擎能够更好的解析非结构化页面,获取一些有用的结构化信息。读者可以去这个页面感受一下RDFa,其直观展示了普通用户看到的页面,浏览器看到的页面和搜索引擎解析出来的结构化信息。
JSON-LD
即“JSON for Linking Data”,用键值对的方式来存储RDF数据。感兴趣的读者可以参考此网站。
https://json-ld.org/
RDF
RDF(Resource Description Framework),即资源描述框架,其本质是一个数据模型(Data Model)。它提供了一个统一的标准,用于描述实体/资源。简单来说,就是表示事物的一种方法和手段。RDF形式上表示为SPO三元组,有时候也称为一条语句(statement),知识图谱中我们也称其为一条知识
RDFS / RDF 类
RDFS / RDF 属性
RDF 属性
RDF图中一共有三种类型,International Resource Identifiers(IRIs),blank nodes 和 literals。下面是SPO每个部分的类型约束:
Subject可以是IRI或blank node。
Predicate是IRI。
Object三种类型都可以。
RDF介绍
数据模型:RDF(Resource Description Framework)
2. rdfs:domain. 用于表示该属性属于哪个类别。
3. rdfs:range. 用于描述该属性的取值类型。
语义:RDFS(RDFSchema)
词汇表
类
< rdfs:Resource >:所有资源的类,所有RDF定义的事物都属于此
:学校 < rdf:subClassOf > < rdfs:Resource >.
< rdfs:Class >:所有类的类
:学校 < rdf:type > < rdfs:Class >.
< rdfs:Literal >:所有文字(数字、字符串、IRI等)的类
略
< rdfs:Datatype >:所有数据类型的类
xsd:integer < rdf:type > < rdfs:Datatype >.
< rdf:Property >:所有属性的类
< rdf:type > < rdf:type > < rdf:Property >.
属性
< rdfs:domain >:描述属性与其定义域的关系
< :就读 > < rdfs:domain > < :学生 >.
< rdfs:range >:描述属性与其值域的关系
< :就读 > < rdfs:range > < :学校 >.
< rdfs:type >:描述类与实例的关系(instance of)
略
< rdfs:subClassOf >:描述父子类的关系
< rdfs:Datatype > < rdfs:subClassOf > < rdfs:Literal >.
< rdfs:subPropertyOf >:描述父子属性之间的关系
< :租住 > < rdfs:subPropertyOf > < :居住 >.
<rdfs:label>:描述资源的名称,用以给人阅读
<rdfs:comment>:描述资源的信息,用以给人阅读
工具
容器:
Class : < rdfs:Container >< rdf:Bag >< rdf:Seq >< rdf:Alt >
< rdfs:ContainerMembershipProperty >
Instance : < rdfs:member > (rdf:_1, rdf:_2, rdf:_3 ...)
集合:
< rdf:List >< rdf:first >< rdf:rest >< rdf:nil >
具体化词汇:
< rdf:Statement >< rdf:subject >< rdf:predicate >< rdf:object >
功能性词汇:
< rdfs:seeAlso >< rdfs:isDefinedBy >< rdf:value >
语义:,OWL(Web Ontology Language)
OWL 2建立在RDF(S)的基础之上。
语法上,可以使所有的RDF语法来表达,比如可以使用Turtle和TriG来表示。另外也有特别用于表达OWL 2的函数式语法和曼彻斯特语法。
OWL 2可以分为
OWL 2 Full,OWL 2 DL,OWL 2 Lite
OWL 2 EL,OWL 2 QL,OWL 2 RL
OWL 2 FULL:
完整的OWL语言,兼容RDF,不可判定故无法完备或 高效推理。
OWL 2 DL:
在OWL 2 Full的基础上作出一些限制,是描述逻辑(DL) 上的一个映射,可以进行高效推理。
OWL 2 Lite:
在OWL 2 DL的基础上作出一些限制,仅提供分类等次、 简单约束等功能。
类
类公理
属性
对象属性(owl:ObjectProperty)
:表示属性用以描述个体之间的关系,
如 :friendOf, :parentOf
数据类型属性(owl:DatatypeProperty)
:表示属性用以描述个体与一种数据类型的文字值之间的关系,
如 :name, :birthday
标注属性(owl:AnnotationProperty)
:表示属性用以描述可读的标签、注释等信息,
如 label
顶层属性
关联所有个体(文字值),
owl:topDatatypeProperty
底层属性
不关联任何个体(文字值)
和owl:bottomDatatypeProperty
传递属性(owl:TranstitiveProperty)
:表示具有传递关系的属性
A < :isPartOf > B.
B < :isPartOf > C.
= >A < :isPartOf > C. 成立
函数型和反函数型属性(owl:FunctionalProperty & owl:InverseFunctionalProperty)
:函数型表示某个个体只能有一个这个属性,反函数性只指个个体只能被一个个体通过这个属性关联到,
函数型: A < :age > 25^^xsd:integer.
反函数型: < 东南大学 > < 校区 > < 东大九龙湖校区 >.
对称属性和非对称属性(owl:SymmetricProperty & owl:AsymmetricProperty)
:表示关系的反向成立(不成立),
对称: A < :friendOf > B.
= >B < :friendOf > A. 成立
非对称:A < :parentOf > B.
= >B < :parentOf > A. 不成立
自反属性和反自反属性(owl:ReflexiveProperty & owl:IrreflexiveProperty)
:表示个体(不)能通过这个属性关联到其自身
自反: isPartOf
反自反:parentOf
属性公理
逆属性(owl:inverseOf)
用以表示一个属性的反向描述方式,
< :parentOf > < rdf:type > < owl:ObjectProperty >;
< owl:inverseOf > < :childOf >.
等价属性(owl:equivalentProperty
用以表示其与另一个属性等价,
< :isPartOf > < rdf:type > < owl:ObjectProperty >;
< owl:equivalentProperty > < dbpedia:partOf >.
不相交属性(owl:disjointProperty)
用以表示其不可能与另一个属性共存在同样的两个个体之间且,
< :isPartOf > < rdf:type > < owl:ObjectProperty >;
< owl:disjointProperty > < :consistOf >.
属性链(owl:propertyChainAxiom)
用以表示可以通过一个链状结构推导得到,
< :studyIn > < rdf:type > < owl:ObjectProperty >;
< owl:propertyChainAxiom > < :studentOf :departmentOf :locate >.
A < :studentOf > < 东南大学计算机学院 >.
< 东南大学计算机学院 > < :departmentOf > < 东南大学 >.
< 东南大学 > < :locate > < 江苏 >.
= > A < :studyIn > < 江苏 >.
个体断言
类由个体组成,对于个体或者个体可以添加一定断言,这些断言可以看作事实。
而之前的类公理和属性公理则可以看作规则,从而进行推理。
< rdf:type >:类和属性断言,
类和属性断言以rdf:type的形式声明。另外,在OWL 2 DL中,类和实例不能同时作为一个主体的属性。
<:学校> < rdf:type > <owl:Class>.
< :东南大学 > < rdf:type > <:学校>.
< owl:sameAs >:同一性断言,表明个体相同
< :东南大学 > < owl:sameAs > < :SEU >.
< owl:differentFrom >:不同性断言
< :东南大学 > < owl:differentFrom > < :南京大学 >.
如果不同的比较多的话可以使用< owl:allDifferent >,
_:x < rdf:type > < owl:allDifferent >;
< owl:member > (:东南大学 :南京大学 :南京理工大学
:南京工业大学 :河海大学
:南京航空航天大学 :南京农业大学).
< owl:NegativePropertyAssertion >:负断言,表示某个事实不成立,
_:x < rdf:type > < owl:NegativePropertyAssertion >
< owl:sourceIndividual > < :东南大学 >
< owl:assertionProperty > < :位于 >
< owl:targetIndividual > < :福建 >
见:OWL-RDF基础.pptx
OWL Semantics
owl:AllDifferent
owl:allValuesFrom
owl:AnnotationProperty
owl:backwardCompatibleWith
owl:cardinality
owl:Class
owl:complementOf
owl:DataRange
owl:DatatypeProperty
owl:differentFrom
owl:disjointWith
owl:distinctMembers
owl:equivalentClass
owl:equivalentProperty
owl:FunctionalProperty
owl:hasValue
owl:imports
owl:incompatibleWith
owl:intersectionOf
owl:InverseFunctionalProperty
owl:inverseOf
owl:maxCardinality
owl:minCardinality
owl:Nothing
owl:ObjectProperty
owl:oneOf
owl:onProperty
owl:Ontology
owl:OntologyProperty
owl:priorVersion
owl:Restriction
owl:sameAs
owl:someValuesFrom
owl:SymmetricProperty
owl:Thing
owl:TransitiveProperty
owl:unionOf
owl:versionInfo
rdf:List
rdf:nil
rdf:type
rdfs:comment
rdfs:Datatype
rdfs:domain
rdfs:label
rdfs:Literal
rdfs:range
rdfs:subClassOf
rdfs:subPropertyOf
语法:Turtle / TriG / RDF-XML
表述知识(三元组)
资源
URI
主体(三元组)
客体(三元组)
属性
谓词(三元组)
图
参考
https://www.w3.org/TR/turtle/
https://www.w3.org/TR/rdf-schema/
https://www.w3.org/TR/owl-guide/
OWL内置词汇
https://www.w3.org/2002/07/owl#
RDF序列化的方式主要有:RDF/XML,N-Triples,Turtle,RDFa,JSON-LD等几种。
解析TTL/RDF/OWL
OWL API
https://owlcs.github.io/owlapi/
maven
https://mvnrepository.com/artifact/net.sourceforge.owlapi/owlapi-api/5.1.0
https://mvnrepository.com/artifact/net.sourceforge.owlapi/org.semanticweb.hermit
示例
https://blog.csdn.net/rosemary512/article/details/111246986
https://cloud.tencent.com/developer/article/1680181?from=article.detail.1680142
https://blog.csdn.net/tao_sun/article/details/14585719?utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7Edefault-14.base&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7Edefault-14.base
http://mowl-power.cs.man.ac.uk/2007/05/api/examples.html
说明文档
http://owlapi.sourceforge.net/documentation.html
https://github.com/owlcs/owlapi
java-doc
http://owlcs.github.io/owlapi/apidocs_5/index.html
官网
http://owlapi.sourceforge.net/
owl2.0
推理
http://www.hermit-reasoner.com/
资料
更新比较快
wiki
https://github.com/owlcs/owlapi/wiki
Reasoners known to support these interfaces and relative factory classes:
FaCT++ (uk.ac.manchester.cs.factplusplus.owlapiv3.FaCTPlusPlusReasonerFactory, version 4 support ready) FaCT++ 1.6.4 works with OWLAPI 4.
HermiT (org.semanticweb.HermiT.ReasonerFactory, version 4.3.1 support here, version 5.1.0 support here) This is a fork whose purpose is to allow compatibility with 4.3.1 and 5.1.0.
Pellet (com.clarkparsia.pellet.owlapiv3.PelletReasonerFactory, version 4 support available) This is a fork of Pellet whose express purpose is to provide compatibility with OWLAPI 4.0.2. See Openllet for an OWLAPI 5 compliant version.
JFact (uk.ac.manchester.cs.jfact.JFactFactory, version 4 support ready) Download version 4.0.4 from Maven Central. Version 5 support ready Download version 5.0.1 from Maven Central.
Chainsaw (to be built manually)
TrOWL (eu.trowl.owlapi3.rel.reasoner.dl.RELReasonerFactory, version 4 support plans unknown)
MORe (org.semanticweb.more.MOReRLrewReasonerFactory, version 4 support plans unknown)
ELK (org.semanticweb.elk.owlapi.ElkReasonerFactory, version 4 support ready)
Snorocket (au.csiro.snorocket.owlapi.SnorocketReasonerFactory, version 4 support ready) The latest master is compatible with OWLAPI 4.0.2.
参考
https://blog.csdn.net/rosemary512/article/details/111357580
https://www.jianshu.com/p/a05bbd9ce82b
https://blog.csdn.net/rosemary512/article/details/111246986
https://cloud.tencent.com/developer/article/1680181?from=article.detail.1680142
The OWL API includes the following components:
An API for OWL 2 and an efficient in-memory reference implementation
RDF/XML parser and writer
OWL/XML parser and writer
OWL Functional Syntax parser and writer
Turtle parser and writer
KRSS parser
OBO Flat file format parser
Reasoner interfaces for working with reasoners such as FaCT++, HermiT, Pellet and Racer
Jena Ontology API
https://jena.apache.org/documentation/javadoc/jena/
https://jena.apache.org/documentation/ontology/
owl1.0
Alignment API+jena
https://moex.gitlabpages.inria.fr/alignapi/
https://moex.gitlabpages.inria.fr/alignapi/align.html
https://moex.gitlabpages.inria.fr/alignapi/maven.html
https://moex.gitlabpages.inria.fr/alignapi/ontowrap.html
示例
https://lgxtvt.blog.csdn.net/article/details/88544850
maven
https://mvnrepository.com/artifact/org.semanticweb.owlapi/owlapi/3.2.4
资料
开源更新落后
放弃
https://moex.gitlabpages.inria.fr/alignapi/
protege OWL API
https://protegewiki.stanford.edu/wiki/Protege_5_Development_Environment
https://protegewiki.stanford.edu/wiki/ProtegeOWL_API_Basics
示例
https://blog.csdn.net/yshujuan/article/details/72851852
owl2.0
资料
斯坦福大学
https://protegewiki.stanford.edu/wiki/ProtegeOWL_API_Programmers_Guide
开源
http://smi-protege.stanford.edu/repos/protege/owl/trunk/
资料不开放
放弃
对比
OWL和RDF之间的关系
Jena API以RDF为中心
OWL API是以OWL为中心的
Protégé-OWL API也是以OWL和RDF(S)为中心的
https://protegewiki.stanford.edu/wiki/ProtegeOWL_API_Programmers_Guide
基本概念
公理(Axioms)
一个OWL本体表达的基本陈述
SubClassOf( :Woman :Person )
类(Classes)和实例(Instances)
用来指向现实世界对象的元素
Declaration( Class( :Woman ) )
Declaration( NamedIndividual( :John ) )
表达式(Expressions)和构造器(constructors)
类、实例、公理的组合,从简单的描述形成复杂的描述
EquivalentClasses( :Parent ObjectUnionOf( :Mother :Father ) )
RDFs
SPARQL
RDF查询语言
SPARQL即SPARQL Protocol and RDF Query Language的递归缩写,专门用于访问和操作RDF数据,是语义网的核心技术之一。W3C的RDF数据存取小组(RDF Data Access Working Group, RDAWG)对其进行了标准化。在2008年,SPARQL 1.0成为W3C官方所推荐的标准。2013年发布了SPARQL 1.1。相对第一个版本,其支持RDF图的更新,提供更强大的查询,比如:子查询、聚合操作(像我们常用的count)等等。
Jena
Jena是Apache基金会旗下的开源Java框架,用于构建Semantic Web 和 Linked Data 应用。
Jena Ontology API
https://jena.apache.org/documentation/ontology/
The core RDF API
https://jena.apache.org/documentation/rdf/index.html
源码
https://github.com/avicomp/ont-api
Apache Jena Fuseki
Jena提供了RDFS、OWL和通用规则推理机
https://jena.apache.org/tutorials/rdf_api.html#ch-Introduction
语义网技术栈(Semantic Web Stack
语义网络的优点:
1. 容易理解和展示。
2. 相关概念容易聚类。
语义网络的缺点:
1. 节点和边的值没有标准,完全是由用户自己定义。
2. 多源数据融合比较困难,因为没有标准。
3. 无法区分概念节点和对象节点。
4. 无法对节点和边的标签(label,我理解是schema层,后面会介绍)进行定义。
RDF,RDFS/OWL属于语义网技术栈
WordNet
WordNet。它是一个英语的词汇库,将英语单词划分为同义词集合,用不同的语义关系将这些集合关联起来。其在自然语言处理的中有许多应用,比如消歧、信息检索、文本分类、文本摘要等等。
https://wordnet.princeton.edu/
BabelNet
- BabelNet。相对于WordNet,BabelNet是一个多语言的词汇库。它是通过自动把维基百科链接到WordNet上构建起来的,另外也用到了其他的一些词汇资源。
https://babelnet.org/
HowNet
- HowNet,即知网,中文语义词典。其以汉语和英语词语所代表的概念为描述对象,构建了一个包含概念之间以及概念所具有的属性之间的关系的常识知识库。
http://www.keenage.com/
知识图谱是由本体(Ontology)作为Schema层,和RDF数据模型兼容的结构化数据集
知识图谱
能力体系
https://zhuanlan.zhihu.com/p/32122644
总结
ontology KG的relation只表示两个node之间关系,无需考虑主外键和指向
OWL 2/EL
instance KG需要有指向,并且两个node之间可以有多个指向边,并且可以通过filter筛选出不同含义的边关联的node
OWL 2/QL
KG存储
graphML
rdf
owl
OWL 2/EL
1. OWL 2/EL 使用场景:本体结构中有大量相互链接的类和属性,设计者想用自动推理机得到里面复杂的关系。
OWL 2/QL
2. OWL 2/QL 使用场景:有大量的实例数据。OWL 2 QL本体可以被改写为SQL查询,适用于使用OBDA(ontology based data access)的方式来访问关系数据库。也就是说我们不用显式地把关系数据库中的数据转为RDF,而是通过映射的方式,将数据库转为虚拟RDF图进行访问。
OWL 2/RL
3. OWL 2/RL 使用场景:需要结合基于规则的推理引擎(rule-based reasoning engine)的场合。
rdfs
TTL
知识推理
OWL的推理功能
关系补全
适用于owl,因为owl表达信息更丰富
schema层的建模
RDFS/OWL
本体建模
自顶向下
2. 领域知识图谱多采用自顶向下的方法来构建本体。一方面,相对于开放域知识图谱,领域知识图谱涉及的概念和范围都是固定或者可控的;另一方面,对于领域知识图谱,我们要求其满足较高的精度。现在大家接触到的一些语音助手背后对接的知识图谱大多都是领域知识图谱,比如音乐知识图谱、体育知识图谱、烹饪知识图谱等等。正因为是这些领域知识图谱来满足用户的大多数需求,更需要保证其精度。
基于标准的KG
自底向上
1. 开放域知识图谱的本体构建通常用自底向上的方法,自动地从知识图谱中抽取概念、概念层次和概念之间的关系。这也很好理解,开放的世界太过复杂,用自顶向下的方法无法考虑周全,且随着世界变化,对应的概念还在增长。
从数据入手的KG
工具
Protégé
数据属性
数据属性的取值范围则是字面量
对象属性
对象属性的取值范围是类
d2rq这个工具把我们Mysql中的数据转为RDF
第一个标准是direct mapping,即直接映射
1. 数据库的表作为本体中的类(Class)。比如我们在mysql中保存的数据,一共有5张表。那么通过映射后,我们的本体就有5个类了,而不是我们自己定义的三个类。
2. 表的列作为属性(Property)。
3. 表的行作为实例/资源。
4. 表的单元格值为字面量
5. 如果单元格所在的列是外键,那么其值为IRI,或者说实体/资源。
https://www.w3.org/TR/rdb-direct-mapping/
适用于脱离标准的业务系统
在实际应用中我们很少用到这种方法,尽管它是最便捷的方式
第二个标准:R2RML
https://www.w3.org/TR/r2rml/
R2RML也支持SQL语句来对查询结果进行映射
举例
@prefix rr: <R2RML: RDB to RDF Mapping Language Schema>.
@prefix : <http://www.kgdemo.com#>.
<#TriplesMap1>
rr:logicalTable [ rr:tableName "person" ];
rr:subjectMap [
rr:template "http://www.kgdemo.com/person/{person_id}";
rr:class :Person;
];
rr:predicateObjectMap [
rr:predicate :personName;
rr:objectMap [ rr:column "person_name" ];
].
rr:template指定实体/资源的IRI生成模板,括号中的字符串是对应表中的某个列名。在本例中指每个人物的IRI由我们预定义的前缀加人物ID组成。rr:Class声明这些实体/资源的类是我们在Ontology中定义的Person。rr:predicate指定谓语,即属性。rr:objectMap指定该属性的值是来源于哪一列。其他属性的定义类似,读者可以自己查文档尝试。关于外键的定义,读者也可以参考文档相关示例。
http://d2rq.org/
它的机理就是通过mapping文件,把对RDF的查询等操作翻译成SQL语句,最终在RDB上实现对应操作
D2RQ支持的数据库有Oracle、MySQL、PostgreSQL、SQL Server、HSQLDB、Interbase/Firebird。也支持其他某些数据库,但可能会有限制。请参考数据库兼容性说明
http://d2rq.org/#compatibility
D2R Server参数和配置请参考
http://d2rq.org/d2r-server
示例
https://github.com/SimmerChan/KG-demo-for-movie
本体刻画了人们认知一个领
域的基本框架
• 知识图谱富含的是实体以及
关系实例
• 框架与实例之间的关系好比
人的骨骼与血肉之间的关系
• 在建设知识图谱的初期,模
式(Schema)定义实质上
是在完成本体定义的任务
本体建模工具protege
可视化
OWLViz
https://graphviz.org/download/
https://www.npackd.org/p/org.graphviz.Graphviz/2.38
sparql查询
SPARQL By Example
https://www.w3.org/2009/Talks/0615-qbe/
https://zhuanlan.zhihu.com/p/32880610
智能化
从计算智能-感知智能-认知智能
认知-推理
张三把李四打了,他进医院了
张三把李四打了,他进监狱了
…..宝宝不知道宝宝的宝宝是不是宝宝亲生的宝宝,宝宝现在担 心的是宝宝的宝宝不是宝宝的宝宝如果宝宝的宝宝真的不是宝 宝的宝宝那就吓死宝宝了宝宝的宝宝为什么要这样对待宝宝, 宝宝很难过,如果宝宝和宝宝的宝宝因为宝宝的宝宝打起来了, 你们到底支持宝宝还是宝宝的宝宝!【宝宝心里苦,但是宝宝 不说】
KG融合
应用场景
智慧搜索
不仅可以搜索KG和mapping的数据,还能搜索到相关的模型或图片
比如搜索一号制冷机可以之间定位到工程图上
智能问答
深层关系发现推理
工业
https://www.leiphone.com/news/201909/7s6N2JwfWJINeYPj.html
KG显示自动多语言
三元组融合
分布式查询
图管理系统
本体工具
https://i40-tools.github.io/StandardOntologyVisualization/views/chart.html
https://i40-tools.github.io/StandardOntologyVisualization/
https://i40-tools.github.io/StandardOntologyVisualization/views/network.html
工业4.0标准
https://i40-tools.github.io/I40KG/docs/index.html
RDF检查器
http://graphite.ecs.soton.ac.uk/checker/
图查询语言
Apache Jena
Apache Jena(后文简称Jena),是一个开源的Java语义网框架(open source Semantic Web Framework for Java),用于构建语义网和链接数据应用。
解决问题
1. 不支持直接将RDF数据通过endpoint发布到网络上。
2. 不支持推理。
组件
TDB
1. TDB是Jena用于存储RDF的组件,是属于存储层面的技术。在单机情况下,它能够提供非常高的RDF存储性能。目前TDB的最新版本是TDB2,且与TDB1不兼容。
rule reasoner
2. Jena提供了RDFS、OWL和通用规则推理机。其实Jena的RDFS和OWL推理机也是通过Jena自身的通用规则推理机实现的。
Fuseki
3. Fuseki是Jena提供的SPARQL服务器,也就是SPARQL endpoint。其提供了四种运行模式:单机运行、作为系统的一个服务运行、作为web应用运行或者作为一个嵌入式服务器运行。
https://jena.apache.org/documentation/ontology/#creating-ontology-models
https://jena.apache.org/documentation/io/rdfxml_howto.html
数据抽取
用户画像
参考
https://space.bilibili.com/554748020/video
斯坦福
https://web.stanford.edu/class/cs520/
https://www.bilibili.com/video/BV1D5411W7Ri?from=search&seid=3876823900568861733
https://blog.csdn.net/ngl567/article/details/106676778
https://www.bilibili.com/video/BV12k4y1R76Q?p=1
中英文字幕
https://liuhuanyong.github.io/
知识图谱场景案例
https://www.yuque.com/chendw/kg
0 条评论
下一页