I recently learned something about the ontology. I have encountered many problems and therefore turned to the Internet. However, I found that there are many people who asked questions and few who answered correctly, in addition, I have not found any article that comprehensively combs the ontology learning methods and development process. Therefore, I will make a brief summary of my recent learning experiences for reference by Ontology Learning enthusiasts.
(1) concepts of Ontology
Ontology is one of the hottest words in the computer field in recent years. It involves AI, Knowledge Engineering, semantic network, information modeling, and many other fields. It was originally a term in philosophy and then introduced into the computer field. Ontology has many definitions, but the simplest statement is that it is a set of basic concepts and their relationships. In more detail, ontology is a set of minimum concepts, through the organic combination and reasoning of ontology, more concepts can be obtained and knowledge can be learned automatically, the core of the ontology is the formal and explicit concepts recognized by people and the relationship between them (the above section of merceon is my own generalization, for official definitions, refer to Baidu encyclopedia and Wikipedia ). To learn more about the definition of the ontology and its related concepts, seeBaidu encyclopediaHttp://baike.baidu.com/view/29987.htm andWikipedia(Http://zh.wikipedia.org/wiki/ontology _ (Information Science )). Although it is very long, we strongly recommend that you read these concepts. Understanding these concepts will be the basis for us to deeply understand the ontology in the future.
After reading the two encyclopedias, I believe you have a preliminary understanding of the ontology, but you are only familiar with the concepts of these ontology. As I did at the time, you probably fell into the vortex of the complicated concepts of the ontology and did not find the right direction. At this time, we recommend that you take a look at what Deng Zhihong and others from the computer department of Peking University published in the Journal of Peking University.Ontology
Research OverviewIn this section, we provide a detailed description of ontology research and application.
(2) owl and RDF
If the ontology is to be applied, a proper description language is required. There are many ontology description languages. The most famous one is probably the W3C-recommended Owl (the Web Ontology Language), which is based on the RDF (s, it also has a semantic extension. Instead, it is short for the Resource Description Framework and uses a Uniform Resource Identifier (URI ). In fact, whether it is owl or RDF, their old ancestor is XML, so their design ideas are consistent with XML, but they only have their own unique expression syntax in specific fields. In terms of learning owl and RDF, it is recognized that the Learning Guide is from the University of Manchester.An
Introduction to RDF (s) and a quick tour of owlAlmost all the introductions on the Internet translate or adapt it.
(3) ontology Development Process
We strongly recommend that a student from Wuhan UniversityThe csdn blog "Learn from the world, practice and temper the arts"(Http://blog.csdn.net/MinistoneNap? Viewmode = contents), which has several excellent blog posts to introduce the process of ontology development, as shown below:
1. In the blogOntology, taxonomy, Tag, TAG set, folksonomy, Tag Cloud analysis(Http://blog.csdn.net/ministonenap/article/details/1574874), the author analyzes several Ontology-related confusing concepts.
2. In the blogIntroduction to ontology Development(Http://blog.csdn.net/MinistoneNap/article/details/1464343), the author introduces the basic concepts of ontology and briefly describes the development method.
3. In the blogOntology development issues and naming rules(Http://blog.csdn.net/MinistoneNap/article/details/1464812), the author introduces the naming rules of ontology development. In fact, there are no strict naming rules for the ontology, as long as it is not the ontology keywords used in the software, but follow good naming rules, especially the naming consistency principle, it is good for our development.
4. In the blogOntology Development Method(Http://blog.csdn.net/MinistoneNap/article/details/1467947), the author introduced is not a development method or development steps, but a design idea.
Through communication with the teacher, I also summarized the development process of the ontology, which is summarized as follows:
1. First of all, with the help of relevant field experts, the use of ontology development software to build the library, such as the Stanford University Development and Design of the Ontology Editor prot égé (http://protege.stanford.edu/download/registered.html ).
2. Use Programming Method to automatically build the library, Here commonly used Jena (http://sourceforge.net/projects/jena/files/Jena/Jena-2.6.4/jena-2.6.4.zip/download) and other APIs to achieve automatic building.
3. Store the built ontology in the database, such as MySQL (http://dev.mysql.com/downloads/mysql ).
4. query using SPARQL. SPARQL is the query language of Semantic Web. It supports owl and has changed from traditional SQL, mainly because it integrates the RDF format. SPARQL is not complete yet. It can only be queried and cannot be modified.
5. If MySQL is used as the database for storing the local database, it will face many problems, mainly because of its low efficiency and large data volumes. Allegrograph is better, supporting hundreds of millions of data, it was originally a cloud computing software (http://blog.sina.com.cn/s/blog_4afee0940100txwt.html ).
(4) Recommendation
The above is the basic process of ontology development. Below I will share some of the better blog posts and materials I have encountered during my learning process with you. What I have mentioned above will not be described here:
1. China XML forum in the ontology section: http://blogger.org.cn/list.asp? Boardid = 2
2. prot é Gé learning:
(1) Learning prot é Gé 3 please refer to: http://blogger.org.cn/dispbbs.asp? Boolean id = 2 & id = 50311
(2) Learning prot é Gé 4 Please refer to: http://owl.cs.manchester.ac.uk/tutorials/protegeowltutorial/
3. Owl and RDF learning:
(1) owl Web Ontology Language guide: http://zh.transwiki.org/cn/owlguide.htm
(2) RDF entry Recommendation Standard: http://zh.transwiki.org/cn/rdfprimer.htm
(3) owl Web Ontology Language Overview: http://www.w3.org/TR/owl-features/
4. Ontology Learning:
(1) semantic web Ontology part: http://semanticweb.org/wiki/Ontology
(2) A good Ontology Learning blog-Haha A: http://www.crabone.com/index.php/category/%E8%AF%AD%E4%B9%89%E7%BD%91%E5%9F%BA%E7%A1%80
(3) download of semantic learning materials: http://lyle.smu.edu /~ Coyle/cse7392.semweb/handouts/
(4) Semantic Net correlation: http://blog.donews.com/dont/archive/category/uncategorized/page/6
5. Jena learning:
(1) An Introduction to RDF and the Jena rdf api: http://jena.sourceforge.net/tutorial/RDF_API/index.html
(2) Jena-a semantic web framework for Java: http://jena.sourceforge.net/index.html
(3) The previous blog titled "learning from the world, practicing and training the technology of Shi Yi" also has the author's study notes on Jena, it is a pity that only a few pieces of data have been written and will not continue, but you can still take a look at it for reference.
6. SPARQL learning:
(1) SPARQL query language for RDF: http://www.w3.org/TR/rdf-sparql-query/
(2) Use SPARQL to search for RDF data: http://www.ibm.com/developerworks/cn/java/j-sparql/
Sparqler: http://sparql.org/
The road is long, and I will try again and again! I would like to share with you!
For more information, visit my personal blog: Coffee Hut http://warmcafe.info