±à¼ÍƼö: |
±¾ÎÄÖ÷Òª½éÉÜÁËCN-DBpedia ¹¹½¨Á÷³Ì¡¢Êý¾ÝÖ§³Ö²ã¡¢ÖªÊ¶ÑéÖ¤¡¢ÖªÊ¶¼ÆËãºÍÓ¦Óá¢Êý¾Ý»ñÈ¡¡¢Êý¾Ý´æ´¢µÈÏà¹ØÄÚÈÝ¡£
±¾ÎÄÀ´×ÔÓÚÔÆÆÜÉçÇø£¬ÓÉ»ðÁú¹ûÈí¼þAnna±à¼¡¢ÍƼö¡£
|
|
ʵ¼ùÁËÏÂÔõô½¨Ò»¸ö¼òµ¥µÄ֪ʶͼÆ×£¬Á½¸ö°æ±¾£¬Ò»¸ö´Ó 0 ¿ªÊ¼£¨start
from scratch£©£¬Ò»¸öÔÚ CN-DBpedia »ù´¡Éϲ¹³ä£¬°Ñ MySQL£¬PostgreSQL£¬Neo4j
Êý¾Ý¿â¶¼³¢ÊÔÁËÏ¡£×Ô¼ºµøµø×²×²ÃþË÷¿ÉÄܲȿÓÁ˶¼²»ÖªµÀ£¬»¶ÓÌÖÂÛ¡£
1. CN-DBpedia ¹¹½¨Á÷³Ì
֪ʶ¿â¿ÉÒÔ·ÖΪÁ½ÖÖÀàÐÍ£¬Ò»ÖÖÊÇÒÔ Freebase£¬Yago2 Ϊ´ú±íµÄ Curated KBs£¬Ö÷Òª´Óά»ù°Ù¿ÆºÍ
WordNet µÈ֪ʶ¿âÖгéÈ¡´óÁ¿µÄʵÌ弰ʵÌå¹ØÏµ£¬ÏñÊÇÒ»Öֽṹ»¯µÄά»ù°Ù¿Æ¡£ÁíÒ»ÖÖÊÇÒÔ Stanford
OpenIE£¬ºÍÎÒÃÇѧУ Never-Ending Language Learning (NELL)
Ϊ´ú±íµÄ Extracted KBs£¬Ö±½Ó´ÓÉÏÒÚ¸ö·Ç½á¹¹»¯ÍøÒ³ÖгéȡʵÌå¹ØÏµÈýÔª×é¡£
Óë Freebase Ïà±È£¬ÕâÑùµÃµ½µÄ֪ʶ¸ü¼Ó¶àÑùÐÔ£¬µ«Í¬Ê±¾«È·¶ÈÒªµÍÓÚ Curated KBs£¬ÒòΪʵÌå¹ØÏµºÍʵÌå¸ü¶àµÄÊÇ×ÔÈ»ÓïÑÔµÄÐÎʽ£¬Èç¡°°Â°ÍÂí³öÉúÔÚ»ðū³³¡£¡±
¿ÉÒÔ±»±íʾΪ£¨¡°Obama¡±, ¡°was also born in¡±, ¡° Honolulu¡±£©¡£
ÏÂÃæÒÔ CN-DBpedia ΪÀý¿´ÏÂ֪ʶͼÆ×´óÖÂÊÇÔõô¹¹½¨µÄ¡£


ÉÏͼ·Ö±ðÊÇ CN-DBpedia µÄ¹¹½¨Á÷³ÌºÍϵͳ¼Ü¹¹¡£ÖªÊ¶Í¼Æ×µÄ¹¹½¨ÊÇÒ»¸öºÆ´óµÄ¹¤³Ì£¬´Ó´ó·½ÃæÀ´½²£¬·ÖΪ֪ʶ»ñÈ¡¡¢ÖªÊ¶Èںϡ¢ÖªÊ¶ÑéÖ¤¡¢ÖªÊ¶¼ÆËãºÍÓ¦Óü¸¸ö²¿·Ö£¬Ò²¾ÍÊÇÉÏÃæ¼Ü¹¹Í¼´ÓÏÂÍùÉÏ×ßµÄÒ»¸öÁ÷³Ì£¬¼òµ¥À´×ßÒ»ÏÂÕâ¸öÁ÷³Ì¡£
2. Êý¾ÝÖ§³Ö²ã
×îµ×ÏÂÊÇ֪ʶ»ñÈ¡¼°´æ´¢£¬»òÕß˵ÊÇÊý¾ÝÖ§³Ö²ã£¬Ê×ÏÈ´Ó²»Í¬À´Ô´¡¢²»Í¬½á¹¹µÄÊý¾ÝÖлñȡ֪ʶ£¬CN-DBpedia
µÄ֪ʶÀ´Ô´Ö÷ÒªÊÇͨ¹ýÅÀÈ¡¸÷ÖÖ°Ù¿ÆÖªÊ¶ÕâÀà°ë½á¹¹»¯Êý¾Ý¡£
ÖÁÓÚÊý¾Ý´æ´¢£¬Òª¿¼ÂǵÄÊÇѡʲôÑùµÄÊý¾Ý¿âÒÔ¼°ÔõôÉè¼Æ schema¡£Ñ¡¹ØÏµÊý¾Ý¿â»¹ÊÇ NoSQL
Êý¾Ý¿â£¿Òª²»ÒªÓÃÄÚ´æÊý¾Ý¿â£¿Òª²»ÒªÓÃͼÊý¾Ý¿â£¿ÕâЩ¶¼ÐèÒª¸ù¾ÝÊý¾Ý³¡¾°É÷ÖØÑ¡Ôñ¡£
CN-DBpedia ʵ¼ÊÉÏÊÇ»ùÓÚ mongo Êý¾Ý¿â£¬²ÎÓ뿪·¢µÄл³¿ê»Ìáµ½£¬Ò»°ãÖ»ÓÐÔÚ»ùÓÚÌØ¶¨ÁìÓò²Å¿ÉÄÜ»áÓõ½Í¼Êý¾Ý¿â£¬¾Í֪ʶͼÆ×¶øÑÔ£¬»ùÓÚ
json (bson) µÄ mongo ¾Í×ã¹»ÁË¡£Óõ½Í¼²éѯµÄÁìÓòÈçÕ÷ÐÅ£¬Ò»°ãÊÇÐèÒªÒªÕÒÁ½¸ö¹«Ë¾Ö®¼äµÄ¹ØÁª½»Ò×£¬»áÓõ½×î¶Ì·¾¶/ÉçÇø¼ÆËãµÈ¡£
schema µÄÖØÒªÐÔ²»Óöà˵£¬¸ßÖÊÁ¿¡¢±ê×¼»¯µÄ schema ÄÜÓÐЧ½µµÍÁìÓòÊý¾ÝÖ®¼ä¶Ô½ÓµÄ³É±¾¡£ÎÒÃÇÏ£Íû´ïµ½µÄЧ¹ûÊÇ£¬¶ÔÓÚÈκÎÊý¾Ý£¬½øÈë֪ʶͼÆ×ºóºóÐøÁ÷³Ì¶¼ÊÇÏàͬµÄ¡£»»ÑÔÖ®£¬¶ÔÓÚ²»Í¬¸ñʽ¡¢²»Í¬À´Ô´¡¢²»Í¬ÄÚÈݵÄÊý¾Ý£¬ÔÚ½ÓÈë֪ʶͼÆ×ʱ¶¼»á°´ÕÕÔ¤¶¨ÒåµÄ
schema ¶ÔÊý¾Ý½øÐÐת»»ºÍÇåÏ´£¬ÎÞ·ìʹÓÃÒÑÓÐÔªÊý¾ÝºÍ×ÊÔ´¡£
3. ֪ʶÈںϲã
ÎÒÃÇÖªµÀ£¬Ä¿Ç°·Ö²¼ÔÚ»¥ÁªÍøÉϵÄ֪ʶ³£³£ÒÔ·ÖÉ¢¡¢Òì¹¹¡¢×ÔÖεÄÐÎʽ´æÔÚ£¬ÁíÍ⻹¾ßÓÐÈßÓà¡¢ÔëÒô¡¢²»È·¶¨¡¢·ÇÍ걸µÄÌØµã£¬ÇåÏ´²¢²»Äܽâ¾öÕâЩÎÊÌ⣬Òò´Ë´ÓÕâЩ֪ʶ³ö·¢£¬Í¨³£ÐèÒªÈںϺÍÑéÖ¤µÄ²½Ö裬À´½«²»Í¬Ô´²»Í¬½á¹¹µÄÊý¾ÝÈںϳÉͳһµÄ֪ʶͼÆ×£¬ÒÔ±£Ö¤ÖªÊ¶µÄÒ»ÖÂÐÔ¡£
ËùÒÔÊý¾ÝÖ§³Ö²ãÍùÉÏÒ»²ãʵ¼ÊÉÏÊÇÈںϲ㣬Ö÷Òª¹¤×÷ÊǶԻñÈ¡µÄÊý¾Ý½øÐбê×¢¡¢³éÈ¡£¬µÃµ½´óÁ¿µÄÈýÔª×飬²¢¶ÔÕâЩÈýÔª×é½øÐÐÈںϣ¬È¥ÈßÓࡢȥ³åÍ»¡¢¹æ·¶»¯¡£
µÚÒ»²¿·Ö SPO ÈýÔª×é³éÈ¡£¬¶Ô²»Í¬ÖÖÀàµÄÊý¾ÝÓò»Í¬µÄ¼¼ÊõÌáÈ¡£º
´Ó½á¹¹»¯Êý¾Ý¿âÖлñȡ֪ʶ£ºD2R
Äѵ㣺¸´ÔÓ±íÊý¾ÝµÄ´¦Àí
´ÓÁ´½ÓÊý¾ÝÖлñȡ֪ʶ£ºÍ¼Ó³Éä
Äѵ㣺Êý¾Ý¶ÔÆë
´Ó°ë½á¹¹»¯£¨ÍøÕ¾£©Êý¾ÝÖлñȡ֪ʶ£ºÊ¹Óðü×°Æ÷
Äѵ㣺·½±ãµÄ°ü×°Æ÷¶¨Òå·½·¨£¬°ü×°Æ÷×Ô¶¯Éú³É¡¢¸üÐÂÓëά»¤
´ÓÎı¾Öлñȡ֪ʶ£ºÐÅÏ¢³éÈ¡
Äѵ㣺½á¹ûµÄ׼ȷÂÊÓ븲¸ÇÂÊ

ÓÈÆäÊÇ´¿Îı¾Êý¾Ý»áÉæ¼°µ½µÄʵÌåʶ±ð¡¢ÊµÌåÁ´½Ó¡¢ÊµÌå¹ØÏµÊ¶±ð¡¢¸ÅÄî³éÈ¡ µÈ£¬ÐèÒªÓõ½Ðí¶à×ÔÈ»ÓïÑÔ´¦ÀíµÄ¼¼Êõ£¬°üÀ¨µ«²»½öÏÞÓÚ·Ö´Ê¡¢´ÊÐÔ±ê×¢¡¢·Ö²¼Ê½ÓïÒå±í´ï¡¢ÆªÕÂDZÔÚÖ÷Ìâ·ÖÎö¡¢Í¬Òå´Ê¹¹½¨¡¢ÓïÒå½âÎö¡¢ÒÀ´æ¾ä·¨¡¢ÓïÒå½ÇÉ«±ê×¢¡¢ÓïÒåÏàËÆ¶È¼ÆËãµÈµÈ¡£
µÚ¶þ²¿·Ö²Åµ½Èںϣ¬Ä¿µÄÊǽ«²»Í¬Êý¾ÝÔ´»ñÈ¡µÄ֪ʶ½øÐÐÈںϹ¹½¨Êý¾ÝÖ®¼äµÄ¹ØÁª¡£°üÀ¨ÊµÌå¶ÔÆë¡¢ÊôÐÔ¶ÔÆë¡¢³åÍ»Ïû½â¡¢¹æ·¶»¯µÈ£¬ÕâÒ»²¿·ÖºÜ¶à¶¼ÊÇ
dirty work£¬¸ü¶àµÄÊÇ×öÒ»¸öÊý¾ÝµÄÓ³É䡢ʵÌåµÄÆ¥Å䣬¿ÉÄÜ»¹»áÉæ¼°µÄÊDZ¾ÌåµÄ¹¹½¨ºÍÈںϡ£×îºóÈں϶ø³ÉµÄ֪ʶ¿â´æÈëÉÏÒ»²¿·ÖÌáµ½µÄÊý¾Ý¿âÖС£ÈçÓбØÒª£¬Ò²ÐèÒªÈç
Spark µÈ´óÊý¾Ýƽ̨Ìṩ¸ßÐÔÄܼÆËãÄÜÁ¦£¬Ö§³Ö¿ìËÙÔËËã¡£
֪ʶÈںϵÄËĸöÄѵ㣺
ʵÏÖ²»Í¬À´Ô´¡¢²»Í¬ÐÎ̬Êý¾ÝµÄÈÚºÏ
º£Á¿Êý¾ÝµÄ¸ßЧÈÚºÏ
ÐÂÔö֪ʶµÄʵʱÈÚºÏ
¶àÓïÑÔµÄÈÚºÏ
4. ֪ʶÑéÖ¤
ÔÙÍùÉÏÒ»²ãÖ÷ÒªÊÇÑéÖ¤£¬·ÖΪ²¹È«¡¢¾À´í¡¢ÍâÁ´¡¢¸üи÷²¿·Ö£¬È·±£ÖªÊ¶Í¼Æ×µÄÒ»ÖÂÐÔºÍ׼ȷÐÔ¡£
Ò»¸öµäÐÍÎÊÌâÊÇ£¬ÖªÊ¶Í¼Æ×µÄ¹¹½¨²»ÊÇÒ»¸ö¾²Ì¬µÄ¹ý³Ì£¬µ±ÒýÈëÐÂ֪ʶʱ£¬ÐèÒªÅжÏÐÂ֪ʶÊÇ·ñÕýÈ·£¬ÓëÒÑÓÐ֪ʶÊÇ·ñÒ»Ö£¬Èç¹ûÐÂ֪ʶÓë¾É֪ʶ¼äÓгåÍ»£¬ÄÇôҪÅжÏÊÇÔÓеÄ֪ʶ´íÁË£¬»¹ÊÇеÄ֪ʶ²»¿¿Æ×£¿ÕâÀï¿ÉÒÔÓõ½µÄÖ¤¾Ý¿ÉÒÔÊÇȨÍþ¶È¡¢ÈßÓà¶È¡¢¶àÑùÐÔ¡¢Ò»ÖÂÐԵȡ£Èç¹ûÐÂ֪ʶÊÇÕýÈ·µÄ£¬ÄÇôҪ½øÐÐÏà¹ØÊµÌåºÍ¹ØÏµµÄ¸üС£
5. ֪ʶ¼ÆËãºÍÓ¦ÓÃ
ÕâÒ»²¿·ÖÖ÷ÒªÊÇ»ùÓÚ֪ʶͼÆ×¼ÆË㹦ÄÜÒÔ¼°ÖªÊ¶Í¼Æ×µÄÓ¦Óá£ÖªÊ¶¼ÆËãÖ÷ÒªÊǸù¾ÝͼÆ×ÌṩµÄÐÅÏ¢µÃµ½¸ü¶àÒþº¬µÄ֪ʶ£¬ÏñÊÇͨ¹ý±¾Ìå»òÕß¹æÔòÍÆÀí¼¼Êõ¿ÉÒÔ»ñÈ¡Êý¾ÝÖдæÔÚµÄÒþº¬ÖªÊ¶£»Í¨¹ýÁ´½ÓÔ¤²âÔ¤²âʵÌå¼äÒþº¬µÄ¹ØÏµ£»Í¨¹ýÉçÇø¼ÆËãÔÚÖªÊ¶ÍøÂçÉϼÆËã»ñȡ֪ʶͼÆ×ÉÏ´æÔÚµÄÉçÇø£¬Ìṩ֪ʶ¼ä¹ØÁªµÄ·¾¶¡¡Í¨¹ý֪ʶ¼ÆËã֪ʶͼÆ×¿ÉÒÔ²úÉú´óÁ¿µÄÖÇÄÜÓ¦ÓÃÈçר¼Òϵͳ¡¢ÍƼöϵͳ¡¢ÓïÒåËÑË÷¡¢ÎÊ´ðµÈ¡£
֪ʶͼÆ×Éæ¼°µ½µÄ¼¼Êõ·Ç³£¶à£¬Ã¿Ò»Ïî¼¼Êõ¶¼ÐèҪרÃÅÈ¥Ñо¿£¬¶øÇÒÒѾÓкܶàµÄÑо¿³É¹û¡£Anyway ÕâÕ²»ÊÇÀ´ÂÛÊö֪ʶͼÆ×µÄ¾ßÌå¼¼Êõ£¬¶øÊǽ²Ôõô×öÒ»¸ö
hello world ʽµÄÐÐҵ֪ʶͼÆ×¡£
ÕâÀï½²Á½¸öС demo£¬Ò»¸öÊÇÅÀ³æ+mysql+d3 µÄСÐÍ֪ʶͼÆ×£¬ÁíÒ»¸öÊÇ»ùÓÚ CN-DBpedia+ÅÀ³æ+PostgreSQL+d3
µÄ¡±ÔöÁ¿ÐÍ¡±ÖªÊ¶Í¼Æ×£¬ÒªÊµÏÖµÄÊÇijÐÐÒµÉÏÊй«Ë¾ÓëÆä¸ß¹ÜÖ®¼äµÄ¹ØÏµÍ¼Æ×¡£
6. Êý¾Ý»ñÈ¡
µÚÒ»¸öÖØÒªÎÊÌâÊÇ£¬ÎÒÃÇÐèҪʲôÑùµÄ֪ʶ£¿ÐèÒªÅÀʲôÑùµÄÊý¾Ý£¿
Ò»°ãÔÚÊý¾Ý»ñȡ֮ǰ»áÏÈ×ö¸ö֪ʶ½¨Ä££¬½¨Á¢ÖªÊ¶Í¼Æ×µÄÊý¾Ýģʽ£¬¿ÉÒÔ²ÉÓÃÁ½ÖÖ·½·¨£ºÒ»ÖÖÊÇ×Ô¶¥ÏòÏµķ½·¨£¬×¨¼ÒÊÖ¹¤±à¼ÐγÉÊý¾Ýģʽ£»ÁíÒ»ÖÖÊÇ×Ôµ×ÏòÉϵķ½·¨£¬»ùÓÚÐÐÒµÏÖÓеıê×¼½øÐÐת»»»òÕß´ÓÏÖÓеĸßÖÊÁ¿ÐÐÒµÊý¾ÝÔ´ÖнøÐÐÓ³Éä¡£Êý¾Ý½¨Ä£¶¼¹ý³ÌºÜÖØÒª£¬ÒòΪ±ê×¼»¯µÄ
schema ÄÜÓÐЧ½µµÍÁìÓòÊý¾ÝÖ®¼ä¶Ô½ÓµÄ³É±¾¡£
×÷Ϊһ¸ö¼òµ¥µÄ demo£¬ÎÒÃÇÖ»×öÉÏÊй«Ë¾ºÍ¸ß¹ÜÖ®¼äµÄ¹ØÏµÍ¼Æ×£¬ÆóÒµÐÅÏ¢¾ÍÓù«Ë¾×¢²áµÄ»ù±¾ÐÅÏ¢£¬¸ß¹ÜÐÅÏ¢¾ÍÓûù±¾µÄÐÕÃû¡¢³öÉúÄê¡¢ÐÔ±ð¡¢Ñ§ÀúÕâЩ¡£
È»ºó¿ªÊ¼Ð´ÅÀ³æ£¬ÅÀ³æ¿´×żòµ¥£¬Êµ¼ÊÓкܶàµÄ¼¼ÇÉ£¬Ôõô×öÓÅÏȼ¶µ÷¶È£¬Ôõô²¢ÐУ¬ÔõôÆÁ±Î¹æ±Ü£¬ÔõôÔÚ×ñÊØ»¥ÁªÍøÐÒéµÄ»ù´¡ÉÏ×î´ó»¯ÅÀÈ¡µÄЧÂÊ£¬ÓкܶàСµÄ
trick£¬Ö®Ç°²©¿ÍÀïҲ˵Á˺ܶ࣬¾Í²»Õ¹¿ªÁË£¬Òª×¢ÒâµÄÒ»µãÊÇ£¬¸ßÖÊÁ¿µÄÊý¾ÝÀ´Ô´Êdzɹ¦µÄÒ»°ë£¡
À´³¶Ò»³¶ÅÀÈ¡½¨Ò飺
´ÓÊý¾ÝÖÊÁ¿À´¿´£¬ÓÅÏÈ¿¼ÂÇȨÍþµÄ¡¢Îȶ¨µÄ¡¢Êý¾Ý¸ñʽ¹æÕûÇÒǰºóÒ»Ö¡¢Êý¾ÝÍêÕûµÄÍøÒ³
´ÓÅÀÈ¡³É±¾À´¿´£¬ÓÅÏÈ¿¼ÂÇÃâµÇ¼¡¢ÃâÑéÖ¤Âë¡¢ÎÞ·ÃÎÊÏÞÖÆµÄÒ³Ãæ
ÅÀÏÂÀ´µÄÊý¾ÝÎñ±Ø±£´æºÃÅÀȡʱ¼ä¡¢ÅÀÈ¡À´Ô´£¨source£©»òÍøÒ³µØÖ·£¨url£©
¿ÉÒÔÊÇÐÂÀ˲ƾÕâÀàµÄ¼òµ¥±êʶ£¬url ÔòÊÇÍøÒ³µØÖ·£¬ÕâЩÔÚºóÐøÊý¾ÝÇåÏ´ÒÔ¼°Ö®ºóµÄ¾À´í£¨È¨Íþ¶È¼ÆË㣩¡¢ÍâÁ´ºÍ¸üÐÂÖзdz£ÖØÒª
ÆóÒµÐÅÏ¢¿ÉÒÔÔÚÌìÑ۲顢ÆôÐű¦¡¢Æó²é²é¸÷ÖÖÍøÕ¾²éµ½£¬ÐÅÏ¢»¹ÂùÈ«µÄ£¬²»¹ýÓзÃÎÊÏÞÖÆ£¬ÐèҪע²áµÇ¼£¬»¹ÓÐÑéÖ¤ÂëµÄ»·½Ú£¬µ±È»¿ÉÒÔ¹ýÎ幨նÁù½«ÅÀµ½ÎÒÃÇÒªµÄÊý¾Ý£¬È»¶øÃ»Õâ¸ö±ØÒª£¬»»±ð¸öÍøÕ¾¾ÍºÃ¡£
ÍÆ¼öÁ½¸öÊý¾ÝÀ´Ô´£º ÖвÆÍøÊý¾ÝÒýÇæºÍ¾Þ³±×ÊѶ£¬ÆäÖо޳±×ÊѶ»¹¿ÉÒÔͬʱÅÀÈ¡¸ß¹ÜÒÔ¼°¹«¸æÐÅÏ¢¡£
¿´Ò»ÏÂÊý¾Ý£º
 
»»¾ä»°Ëµ£¬ÎÒÃÇÖ±½ÓÄܵõ½¹æ·¶µÄʵÌ壨¹«Ë¾¡¢ÈË£©£¬ÒÔ¼°¹æ·¶µÄ¹ØÏµ£¨¸ß¹Ü£©£¬µ±È»Ò²¿ÉÒ԰Ѹ߹ÜÕ¹¿ª£¬ÓÃÏÂÒ»²ã¹ØÏµ£¬¶Ê³¤¡¢¼àÊÂÖ®À࣬Õâ¾ÍÐèÒª×ö½øÒ»²½µÄÇåÏ´£¬Ò²¿ÉÄÜÐèÒª×ö¹ØÏµµÄ¶ÔÆë¡£
ÕâÀïÅÀ³æ¿ò¼ÜÎÒÓõÄÊÇ scrapy+redis ·Ö²¼Ê½£¬Ã¿Ìì¿ÉÒÔ¶¨Ê±ÅÀÈ¡£¬ÅÀÏÂÀ´µÄÊý¾ÝдºÃ×Ô¶¯»¯ÇåÏ´½Å±¾£¬¶¨Ê±Èë¿â¡£
7. Êý¾Ý´æ´¢
Êý¾Ý´æ´¢ÊǷdz£ÖØÒªµÄÒ»»·£¬µÚÒ»¸öÎÊÌâÊÇѡʲôÊý¾Ý¿â£¬ÕâÀï×÷Ϊ starter£¬ÓõÄÊǹØÏµÐÍÊý¾Ý¿â
MySQL¡£Éè¼ÆÁËËÄÕÅ±í£¬Á½ÕÅʵÌå±í·Ö±ð´æ¹«Ë¾£¨company£©ºÍÈËÎperson£©µÄÐÅÏ¢£¬Ò»ÕŹØÏµ±í´æ¹«Ë¾ºÍ¸ß¹ÜµÄ¶ÔÓ¦¹ØÏµ£¨management£©£¬×îºóÒ»ÕÅ
SPO ±í´æÈýÔª×é¡£
ΪʲôÅÀÏÂÀ´Á½ÕÅ±í£¬´æ´¢È´ÒªÓà 4 ÕÅ±í£¿
Ò»¸ö¿¼ÂÇÊÇ֪ʶͼÆ×ÀïµäÐ͵ÄÒ»´Ê¶àÒåÎÊÌ⣬ÏàͬʵÌåÃûµ«ÓпÉÄÜÖ¸Ïò²»Í¬µÄÒâÒ壬±ÈÈç˵ Paris ¼È¿ÉÒÔ±íʾ°ÍÀ裬Ҳ¿ÉÒÔ±íʾÈËÃû£¬Ôõô°ì£¿ÈÃ×÷ΪµØÃûµÄ
¡°Paris¡± ºÍ×÷ΪÈ赀 ¡°Paris¡± Óи÷×Ô¶ÀÒ»ÎÞ¶þµÄID¡£¡°Paris1¡±£¨°ÍÀ裩ͨ¹ýÒ»ÖÖÄÚÔÚ¹ØÏµÓë°£·Æ¶ûÌúËþÏàÁª£¬¶ø
¡°Paris2¡±£¨ÈË£©Í¨¹ýÈ¡Ïû¹ØÏµÓë¸÷ÖÖÕæÈËÐãÏàÁª¡£
ÕâÀïÒ²ÊÇÒ»ÑùµÄ³¡¾°£¬Í¬ÃûͬÐÕ²»Í¬ÈË£¬ÐèÒªÓà id ×öΨһÐÔ±êʶ£¬Ò²¾ÍÊÇ˵ÎÒÃÇÐèÒª¶ÔÔÀ´µÄÊý¾Ý¸ñʽ×öÒ»¸öת»»£¬²»Í¬µÄÕÅÈýÒª±êʶ³ÉÕÅÈý1£¬ÕÅÈý2¡
ÄÇô£¬ÓÃʲôÀ´Çø±ðÈËÄØ£¿
ÅÄÄÔ´üÏëÓÃÐÕÃû¡¢ÉúÈÕ¡¢ÐÔ±ðÀ´¶¨ÒåÒ»¸öÈË£¬Ò²¾ÍÊÇ˵ÎÒÃÇÐèÒªÒ»ÕÅÈËÎï±í£¬ÐèÒª£¨name, birth,
sex£©À´×÷ composite unique key ±íʾÿ¸öÈË¡£¹«Ë¾Ò²ÊÇÏàͬµÄµÀÀí£¬²»¹ýÕâÀïÖ»ÓÐÉÏÊй«Ë¾£¬¹ÉƱ´úÂë¾Í¿ÉÒÔ×÷ΪΨһÐÔ±êʶ¡£
Person ±íºÍ company ±íÊǶà¶Ô¶àµÄ¹ØÏµ£¬ÕâÀïÐèÒª×ö normalization£¬ÓÃ
management ÕâÕűíÀ´°Ñ¶à¶Ô¶àת»¯ÎªÁ½¸öÒ»¶Ô¶àµÄ¹ØÏµ£¬£¨person_id, company_id£©¾Í±íʾÁËÕâÖÖÓ³Éä¡£
management ºÍ spo ±í¶¼±íʾÁËÕâÖÖÓ³É䣬ΪʲôÓÃÁ½ÕűíÄØ£¿ÊdzöÓÚʵÌå¶ÔÆëµÄ¿¼ÂÇ¡£management
±£´æÁËÔʼµÄ¹ØÏµ£¬¡±¶Ê¡±¡¢¼àÊ¡±µÈ£¬¶ø spo °ÑÕâЩ¹ØÏµ¶¼Ó³Éä³É¡±¸ß¹Ü¡±£¬Ò²¾ÍÊÇ˵ management
¿ÉÄÜÐèҪͨ¹ýÓ³Éä²ÅÄܵõ½ SPO ±í£¬SPO ²ÅÊÇ×îÖÕ³ÉÐÍµÄ±í¡£
ÎÒÃÇÖªµÀ֪ʶ¿âÀïµÄ¹ØÏµÆäʵÓÐÁ½ÖÖ£¬Ò»ÖÖÊÇÊôÐÔ£¨property£©£¬Ò»ÖÖÊǹØÏµ£¨relation£©¡£ÄÇô»¹ÓÐÒ»¸öÎÊÌâÊÇ
SPO Ðè²»ÐèÒª´æ´¢ÊôÐÔ£¿
×î³õµÄÏë·¨ÊÇʵÌå¹éʵÌ壬ÊôÐÔ¹éÊôÐÔ£¬SPO Ö»´æÊµÌå¼äµÄ¹ØÏµ£¬ÊôÐÔÓÉʵÌå±í¼ìË÷µÃµ½£¬È»¶øÕâÑùµÄ»°ÐèÒª¶à±í
JOIN£¬ÊôÐÔÔö¼ÓʱÀ©Õ¹ÐÔÒ²ºÜ²î¡£Òò´Ë°ÑÊôÐÔÒ²´æµ½ SPO ±íÖС£ÔÚ SPO ±íÖжà¼ÓÒ»ÁÐ type£¬À´Çø·ÖÕâ¹ØÏµÊÇʵÌå¼ä¹ØÏµ»¹ÊÇʵÌåÓëÊôÐԵĹØÏµ£¬±ãÓÚÖ®ºóµÄ¿ÉÊÓ»¯¡£

×îºóҪעÒâµÄÒ»µãÊÇ£¬Ã¿Ìõ¼Ç¼Ҫ±£´æ´´½¨Ê±¼äÒÔ¼°×îºó¸üÐÂʱ¼ä£¬×öÒ»¸ö¼òµ¥µÄ°æ±¾¿ØÖÆ¡£
8. Êý¾Ý¿ÉÊÓ»¯
Flask ×ö server£¬d3 ×ö¿ÉÊÓ»¯£¬¿ÉÒÔ¼ìË÷¹«Ë¾Ãû/ÈËÃû»ñÈ¡ÏàÓ¦µÄͼÆ×£¬ÈçÏÂͼ¡£Ö®ºó»áÊÔןüÐÂÓÐÏòͼ°æ±¾¡£

Start from CN-DBpedia
°Ñ CN-DBpedia µÄÈýÔª×éÊý¾Ý£¬´ó¸Å 6500 ÍòÌõ£¬µ¼ÈëÊý¾Ý¿â£¬ÕâÀï³¢ÊÔÁË PostgreSQL¡£È»ºó¼ìË÷ÁË
112 ¼ÒÉÏÊй«Ë¾µÄ×¢²á¹«Ë¾Ãû³Æ£¬Ö»ÓÐ 69 ¼Ò¹«Ë¾·µ»ØÁ˽á¹û£¬ÊôÐÔ¡¢¹ØÏµ¶¼²»ÊǺÜÍêÉÆ£¬ËµÃ÷ÁËͨÓÃ֪ʶͼÆ×ÓÐÆä²»ÍêÕûÐÔ¡£
Ò²ÓпÉÄÜÐèÒªÏÈ×öÒ»´Î mention2entity£¬¿ÉÄÜËüµÄ±ê׼ʵÌå²¢²»ÊÇ×¢²áÐÅÏ¢µÄ¹«Ë¾Ãû³Æ£¬²»¹ý
API С·¶Î§ÊÔÁËϺܶàÊÇ Unknown Mention¡£
×ö·¨Ò²ºÜ¼òµ¥£¬°ÑÇ°Ãæ Start from scratch Öеõ½µÄ SPO ±í²åÈëµ½ÕâÀïµÄ SPO
±í¾ÍºÃÁË¡£Õâô¼òµ¥£¿ÒòΪÕâ¸ö³¡¾°Ï²»ÓÃ×öʵÌå¶ÔÆëºÍ¹ØÏµ¶ÔÆë¡£
9. ÍØÕ¹
ÕâÖ»ÊǸö hello world ÏîÄ¿£¬ÔÚ´Ë»ù´¡ÉÏ¿ÉÒÔ½øÐкܶàÓÐȤµÄÍØÕ¹£¬×îÏà½üµÄ±ÈÈç˵¼ÓÈëÆóÒµºÍ¹É¶«µÄ¹ØÏµ£¬¿ÉÒÔ½øÐÐÆóÒµ×îÖÕ¿ØÖÆÈ˲éѯ£¨e.g.,»ùÓÚ¹ÉȨͶ×ʹØÏµÑ°ÕҳֹɱÈÀý×î´óµÄ¹É¶«£¬×îÖÕ×·ËÝÖÁ×ÔÈ»ÈË»ò¹úÓÐ×ʲú¹ÜÀí²¿ÃÅ£©¡£ÔÙÍùºó¿ÉÒÔ×öÆóÒµÉ罻ͼÆ×²éѯ¡¢ÆóÒµÓëÆóÒµµÄ·¾¶·¢ÏÖ¡¢ÆóÒµ·çÏÕÆÀ¹À¡¢·´ÆÛÕ©µÈµÈµÈµÈ¡£
¾ßÌåÀ´Ëµ£º
ÖØÐÂÉè¼ÆÊý¾ÝÄ£ÐÍ ÒýÈ롱¸ÅÄ£¬Ðγɿɶ¯Ì¬±ä»¯µÄ¡°¸ÅÄʵÌ塪ÊôÐÔ¡ª¹ØÏµ¡±Êý¾ÝÄ£ÐÍ£¬ÊµÏÖ¸÷ÀàÊý¾ÝµÄͳһ½¨Ä££»
À©Õ¹¶àÔ´¡¢Òì¹¹Êý¾Ý£¬½áºÏʵÌå³éÈ¡¡¢¹ØÏµ³éÈ¡µÈ¼¼Êõ£¬Ìî³äÊý¾ÝÄ£ÐÍ£»
Õ¹¿ªÖªÊ¶Èںϣ¨ÊµÌåÁ´½Ó¡¢¹ØÏµÁ´½Ó¡¢³åÍ»Ïû½âµÈ£©¡¢ÑéÖ¤¹¤×÷£¨¾À´í¡¢¸üеȣ©¡£
×îºó²¹³äÒ»ÏÂÓà Neo4j ·½Ê½²úÉúµÄ¿ÉÊÓ»¯Í¼£¬ÓÐÁ½ÖÖ·½·¨¡£
Ò»ÊǰÑÉÏÃæËµµ½µÄ MySQL/PostgreSQL ÀïµÄ company ±íºÍ person ±í´æ³É
node£¬node Ö®¼äµÄ¹ØÏµÓÉ spo ±íÖÐ type == relation µÄ record
ÖвúÉú£»
¶þÊǸüÖ±½ÓµÄ£¬´Ó spo ±íÖУ¬Óöµ½ type == property ¾Í¸ø node(subject)
Ôö¼ÓÊôÐÔ ({predicate:object})£¬Óöµ½ type == relation ¾Í¸ø node
Ôö¼Ó¹ØÏµ ((Nsubject) - [r:predicate]-> node(Nobject))£¬µÃµ½ÏÂÃæµÄͼ£¬Òƶ¯Êó±êµ½ÏàӦλÖþͿÉÒÔÔÚÏ·½²é¿´µ½¹ØÏµºÍ½ÚµãµÄÊôÐÔ¡£

|