日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

知识图谱 图数据库 推理_图数据库的知识表示与推理

發布時間:2023/12/3 数据库 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 知识图谱 图数据库 推理_图数据库的知识表示与推理 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

知識圖譜 圖數據庫 推理

圖形數據庫及其技術生態系統可以為知識表示和推理問題提供優雅,有效的解決方案。 要了解這種說法,我們必須首先了解什么是圖形。 圖是一種數據結構。 圖數據結構的類型很多,但出于本文的目的,我們將重點介紹一種已被稱為屬性圖的類型 。 屬性圖表示頂點(節點,點)和邊緣(弧,線)。 對屬性圖中的邊進行定向和標記/鍵入(例如“馬科知道皮特”)。 頂點和邊(通常稱為元素)都可以具有與之關聯的任意數量的鍵/值對。 這些鍵/值對稱為屬性。 通過這種基礎結構,可以回答一系列問題并解決問題。

對象建模


屬性圖數據結構的形式幾乎與面向對象編程的對象圖相同。 收集對象,刪除它們的方法,然后剩下一個屬性圖。 對象的字段是原始字段,在這種情況下用作屬性,或者它們很復雜,在這種情況下用作對其他對象的引用。 例如,在Java中:

class Person {String name;Integer age;Collection<Person> knows; }

這個名字和年齡的屬性是特定人實例的頂點屬性和屬性都知道指的知道標記的邊緣給其他人。 Neo Technology的 Emil Eifrem支持這樣一種觀點,即屬性圖與現代面向對象語言的語義以及開發人員使用的繪圖技術保持一致,因此是“白板友好的”。 泰勒·科 萬 ( Taylor Cowan )的jo4neo項目證明了這一想法。 借助jo4neo,Java注釋被優雅地用于允許Neo4j圖形數據庫支持Java對象圖。 除了技術優勢外,人類的思維還傾向于根據對象及其關系進行思考。 因此,圖形也可以被認為是“對人腦友好的”。

給定一個對象圖,可以回答有關領域的問題。 在稱為Gremlin的圖遍歷DSL中 ,我們可以問對象圖的問題:

// Who does Marko know? marko.outE('knows').inV// What are the names of the people that Marko knows? marko.outE('knows').inV.name// What are the names and ages of the people that Marko knows? marko.outE('knows').inV.emit{[it.name, it.age]}// Who does Marko know that are 30+ years old? marko.outE('knows').inV{it.age > 30}

概念建模


從組成模型的實例來看,可能存在抽象概念。 例如,盡管可能存在書籍實例,但也可能存在那些書籍所屬的類別,例如科幻小說,技術小說,浪漫史等。圖形是一種靈活的結構,它允許人們表達某些事物與某事物有關其他的方式。 這些東西可能是真實的,也可能是空靈的。 這樣,可以將本體論概念及其實例表示出來并進行適當查詢以回答問題。

// What are the parent categories of history? x = []; history.inE('subCategory').outV.aggregate(x).loop(3){!it.equals(literature)}; x// How many descendant categories does fiction have? c = 0; fiction.outE('subCategory').inV.foreach{c++}.loop(3){true}; c// Is romance at the same depth as history? c = 0; romance.inE('subCategory').outV.loop(2){c++; !it.equals(literature)}.outE('subCategory').inV.loop(2){c--; !it.equals(history)}; c == 0

自動推理


從顯式對象,它們的關系和抽象類別中,可以制定推理過程。 圖建模中存在的張力是要使之顯式(結構)和通過遍歷(過程)進行推斷的內容 。 就像許多計算一樣,權衡是在空間和時間之間進行的。 如果某人與其共同作者之間存在優勢,那么從該人與其共同作者之間只有一步之遙。 另一方面,如果必須通過共享著作推斷出合著者,則需要執行多跳步驟來確定合著者。 推理是使隱含的內容顯式化的過程。 下面使用Gremlin給出了兩個簡單的推理示例。

// Two people who wrote the same book/article/etc. are coauthors g.V{x = it}.outE('wrote').inV.inE('wrote').outV.except([x])[0].foreach{g.addEdge(null, x, it, 'hasCoauthor')}// People who write literature are authors author = g.addVertex(); author.type='role'; author.name='author' g.V.foreach{it.outE('wrote').inV[0].foreach{g.addEdge(null, it, author, 'hasRole')} >> -1}

在上面的示例中,計算了完整的圖表分析以確定所有共同作者和作者角色。 但是,沒有什么可以阻止對本地推理算法的評估。

// Marko's coauthors are those people who wrote the same books/articles/etc. as him marko.outE('wrote').inV.inE('wrote').outV.except([marko])[0].foreach{g.addEdge(null, x, it, 'hasCoauthor')}

結論

圖形可用于建模對象,它們之間的關系以及它們所在的概念結構。 從該顯式信息中,可以評估圖查詢和推理算法,以回答圖上的問題并增加圖內包含的顯式知識的密度(即,增加頂點和邊的數量)。 在RDF (知識表示)和RDFS / OWL (推理)的世界中已廣泛利用了這種特定的圖形使用模式。 RDF / RDFS / OWL的世界主要限于描述邏輯 (請參見此處相反的說法)。 描述邏輯只是知識表示和推理領域的一小部分。 有許多邏輯可以利用。 在圖數據庫的新興空間中,存在必要的構建塊來支持對其他邏輯的利用。 此外,在某些情況下,這些邏輯可以在同一圖形結構中同時使用。 至此,下面的閱讀清單提供了一些書籍,這些書籍闡明了有關異構推理的不同邏輯和思想。 圖形數據庫提供了實現這些想法的綠色領域。

進一步閱讀

  • Brachman,R.,Levesque,H.,“ 知識表示與推理 ”,Morgan Kaufmann,2004年。
  • Wang,P.,“ 剛性靈活性:智能的邏輯 ”,Springer,2006年。
  • 美國東部時間Mueller,“ 常識推理 ”,Morgan Kaufmann,2006年。
  • Minsky,M.,“ 心靈學會” ,Simon&Schuster,1988年。

翻譯自: https://www.javacodegeeks.com/2014/06/knowledge-representation-and-reasoning-with-graph-databases.html

知識圖譜 圖數據庫 推理

總結

以上是生活随笔為你收集整理的知识图谱 图数据库 推理_图数据库的知识表示与推理的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。