以前寫過幾個進階指南滩愁,可能都太難昆稿,不接地氣。這里重新寫一個更實事求是厉熟、更便于工程落地的版本
0級:掌握正則表達式导盅、SQL、JSON和一門支持if-then-else的高級語言 —— 是的揍瑟,這些不是知識圖譜技術白翻,但是這些可以解決問題。我們要的是解決問題绢片,不是嗎滤馍?
1級:學會ER建模(對,就是數據庫里的ER建模)底循,理解實體(Entity)和關系(Relation)的概念巢株。這個可能比你想象得難很多。學會更復雜的SQL熙涤,能熟練掌握至少一種主流的關系數據庫阁苞,至少學會一種語言的數據庫操作。
2級:學會兩種給實體命名的方法:數據庫里的主鍵灭袁,Web上的URI猬错。理解分類樹。這時候可以學下RDF了茸歧,掌握Turtle和JSON-LD兩種語法。會用Java或者Python操作RDF显沈。(小白一般到這里就開始大批陣亡)
3級:如果還未陣亡软瞎,可能發(fā)現RDF數據庫不是太好用逢唤,需要學會一個圖數據庫(如Neo4j或OrientDB)或者支持JSON的關系數據庫(如PostgreSQL)。學會用這些數據庫表達關系-實體涤浇,和表達分類樹鳖藕。這可以保證以后可以活得再久一點。
4級:這時候作為一名老兵只锭,你可能已經學會了查詢語言SPARQL著恩、Cypher或Gremlin。然后你發(fā)現查詢語言可以用來寫蜻展!規(guī)喉誊!則!天啊纵顾,天堂的大門已經打開了伍茄。
5級:你會發(fā)現把智能放在數據里要遠遠好于放在代碼里。你會開始鄙視在代碼里寫大量if-then-else的偽知識圖譜愛好者施逾。而且你開始不滿足用查詢語言客串規(guī)則(如用SPIN)敷矫。你需要一些真正的推理規(guī)則。你開始對OWL感興趣……然后徹底被搞暈了汉额。
6級:你發(fā)現OWL很強大但是也很難理解曹仗,它背后的描述邏輯如同三體人一樣充滿敵意。然后你發(fā)現其實if-then-else也蠻不錯的蠕搜,而且有一個更容易理解的規(guī)則語言:logic
program怎茫。然后你突然發(fā)現SQL其實就是一種LP啊(Datalog)讥脐!突然一下世界豁然開朗遭居,喜悅充滿全身,圣潔的陽光從天上映下旬渠。
7級:在各種奇怪的規(guī)則語言中游弋:RIF-BLD俱萍,RIF-PRD,SWRL告丢,RuleML枪蘑,JESS,DLV岖免,XSB岳颇,Prolog。發(fā)現世界的各種東西都可以按此建模颅湘。理解各種推理機的性能话侧。諳熟各種知識建模套路。
8級:從頭到尾設計過一個完整的語義或知識應用闯参,經歷落地過程種種工程的巨大陷阱瞻鹏,入坑悲立、爬出來,再入坑新博、再爬出來薪夕,再再入坑……直到爬不出來。
9級:開始思考人性問題赫悄。從認知的角度原献、社會的角度、組織的角度埂淮、經濟的角度思考什么是知識姑隅,怎么才能真正實施知識系統(tǒng)。
10級:綜合運用正則表達式同诫、SQL粤策、JSON和一門支持if-then-else的高級語言 ,舉重若輕解決以上1-9級中遇到的的各種問題误窖。其實你設計出了自己的知識表現語言叮盘。