4

从实际的角度来看,我一直在努力理解这些技术何时有用,以及它们之间有何不同。专家可以检查我的理解吗?

  1. 图数据库:当关系复杂、继承、以不同程度的置信度推断并且可能发生变化时,这些数据库比关系数据库更容易理解和管理。一些例子:用户不知道他们在层次结构中需要多少深度;从社交媒体推断关系,对 ID 解析、主题解析和关系强度有不同程度的信心;或者不知道他们想要存储什么样的呼叫中心数据;所有这些可以存储在关系数据库中,但它们需要不断更新。对于某些任务,它们也更具表现力。

  2. 本体:这些正式和标准化的知识表示用于打破数据孤岛。例如,假设一家 B2B 销售公司从多个不同的业务线获得收入,这些业务包括一次性付款、订阅、IP 销售和咨询服务。收入数据存储在许多具有许多特性的不同数据库中。本体允许用户将“客户付款”定义为“创造或返还收入”的任何事物,以便主题专家可以在他们的数据库中适当地标记付款。本体可以与图数据库或关系数据库一起使用,但是对类继承的强调使得它们更容易在图数据库中实现,其中类的分类可以很容易地建模。

  3. 知识图:知识图是一个图数据库,其中语言(含义、实体和节点分类)由本体管理。因此,在我们的 B2B 示例中,“客户支付”边缘具有一次性支付、订阅等子类型,并将“客户”类连接到“业务线”类。

这基本正确吗?

4

1 回答 1

2

A graph database (GD) is a database that can store graph data, which primarily has three types of elements: nodes, edges, and properties. Two popular types of graph databases are (1) Resource Description Framework (RDF)-based graph databases eg. Blazegraph and (2) Label Propagation Graph (LPG)-based graph databases eg. Neo4j. RDF represents knowledge in the form of subject, verb, and object (S-V-O) triplet, such as John livesIn London, and as its nodes and edges cannot hold properties, additional nodes or literals needs to be added to represent properties. LPG represents knowledge in the form of edges, nodes, and attributes where nodes and edges can hold properties in the form of key:value. Eg., a node can have label Person, and Person can have properties name:Tom Hanks, born:1956.

An ontology is a description of the concepts and their relationships, using instances of concepts, attributes of instances (and classes), restrictions of classes, and rules (if-then statements). These rules describe the logical inferences that can be drawn from the assertions/axioms that comprise the overall theory that the ontology describes. Upper level ontology (eg. DOLCE) describes general concepts and relations, whereas domain ontology (eg. Gene Ontology) describes concepts and relations in a particular domain. A graph database may have an ontology in its schema level for logical consistency checking.

Generally, a knowledge graph (KG) is an organization of a knowledge base as a graph having nodes and links between the nodes. An example of an early KG is Wordnet which captures semantic relationships between words and their meanings. Later Google developed their Google Knowledge Graph (GKG) building on DBpedia and Freebase using RDFa, Microdata and JSON-LD content extracted from indexed web pages, and used schema.org vocabulary to organize the nodes. Google reported that it held around 70 billion facts in GKG.

Graph databases supports queries, but not logical inference which needs an ontology. If the connections within the data are of primary focus (eg. friends of a friend), retrieval more important than storage, and data model changes often, then graph database would be a good fit.

Ontology is used when we need to infer new knowledge from the given knowledge. For eg, if given (1) Socrates is Man, and (2) AllMen are Mortal, then the reasoner or inference engine in an ontology can infer a new knowledge (3) Socrates is Mortal. This is made possible by description logic axioms that the Web Ontology Language (OWL) uses to describe resources. The OWL is serialized using Resource Description Framework (RDF).

Ontology is also used when we need to check consistency in the data model. For eg, if an axiom says Human and Sponge are disjoint classes and we make John (a human) instance of both Human and Sponge classes then it will fail consistency test.

Taxonomy is the IS-A class hierarchy which forms the backbone of an ontology.

Knowledge Graphs are often associated with linked open data (LOD) projects built upon standard Web technologies such as HTTP, RDF, URIs, and SPARQL. KG may use ontologies for reasoning and graph databases to store the knowledge. Several large organizations have introduced their KGs.

于 2021-12-12T12:50:06.170 回答