Cooking with Python and KBpedia
The ‘Cooking with Python and KBpedia‘ series consists of 75 installments that discuss how to pick tools and then use Python for using and manipulating the KBpedia knowledge graph. KBpedia is a unique knowledge system that intertwines seven ‘core’ public knowledge bases — Wikipedia, Wikidata, schema.org, DBpedia, GeoNames, OpenCyc, and standard UNSPSC products and services — for the explicit purpose of providing a computable scaffolding and design for data interoperability and knowledge-based artificial intelligence (KBAI).
The first installments in the CWPK series begin with choices regarding tools and design. Later installations embed working code into interactive Jupyter Notebooks. To use these interactive notebooks, you have the choice of an online interactive file or to directly download the file for local use. As installments get published, the ongoing index below will capture the scope and coverage of this ambitious series.
Table of Installments
Part I: The Baseline System
- CWPK #3: Clojure v R v Python
- CWPK #4: The Baseline Architecture
- CWPK #5: Overview and Installation of Protégé
- CWPK #6: Initial KBpedia Inspection
- CWPK #7: Getting Familiar with KBpedia Files
- CWPK #8: Getting Familiar with the KBpedia Structure
- CWPK #9: Installing Python
- CWPK #10: Installing a Project Notebook
- CWPK #11: Installing a Python IDE
- CWPK #12: A Brief Pause to Learn Some Python
- CWPK #13: Managing Python Packages and Environments
- CWPK #14: Markdown and Anatomy of a Notebook File
- CWPK #15: Using Notebooks for CWPK Documentation
Part II: Beginning The Efforts
- CWPK #16: Planning the Project
- CWPK #17: Choosing and Installing an OWL API
- CWPK #18: Basic Terminology and Load KBpedia
- CWPK #19: Exploring the API to OWL
- CWPK #20: Basic Knowledge Graph Management – I
- CWPK #21: Some Accumulated Tips
- CWPK #22: Basic Knowledge Graph Management – II
- CWPK #23: Text Searching KBpedia
- CWPK #24: Introduction to RDFLib
- CWPK #25: Querying KBpedia with SPARQL
- CWPK #26: Introduction to Knowledge Graph Reasoners
Part III: Basic Extraction and Module Routines
- CWPK #27: A ‘Roundtrip’ Philosophy
- CWPK #28: Extracting Structure for Typologies
- CWPK #29: Extracting Object and Data Properties
- CWPK #30: Extracting Annotations
- CWPK #31: Reading and Writing Files
- CWPK #32: Iterating Over a Full Extraction
- CWPK #33: A Python Package, Part I: The Annotation Extractor
- CWPK #34: A Python Module, Part II: Packaging and The Structure Extractor
- CWPK #35: A Python Module, Part III: Custom Extractions and Finish Packaging
- CWPK #36: Bulk Modification Techniques
Part IV: Building from Scratch
- CWPK #37: Organizing the Code Base
- CWPK #38: Stubs and Starting Files
- CWPK #39: I/O and Structural Ingest
- CWPK #40: Looping and Multiple Structure File Ingest
- CWPK #41: Optimizations and Property Structure Ingest
- CWPK #42: Other Structural Considerations
- CWPK #43: Logic Testing of the Knowledge Graph Structure
- CWPK #44: Annotation Ingest
- CWPK #45: Cleaning and File Pre-checks
- CWPK #46: Creating the cowpoke Package and Unit Tests
- CWPK #47: Summary of the Extract-Build Roundtrip
- CWPK #48: Case Study: A Sweeping Refactoring
Part V: Mapping, Stats, and Other Tools
- CWPK #49: Mapping External Sources
- CWPK #50: Querying External Sources
- CWPK #51: Distributed Interactions via Web Widgets – I
- CWPK #52: Distributed Interactions via Web Widgets – II
- CWPK #53: Intro to Other Tools
- CWPK #54: Statistics and Logging
- CWPK #55: Charting
- CWPK #56: Graph Visualization and Extraction
- CWPK #57: Publishing Interactive Notebooks
- CWPK #58: Setting Up a Remote Instance and Web Page Server
- CWPK #59: Adding a SPARQL Endpoint – Part I
- CWPK #60: Adding a SPARQL Endpoint – Part II
Part VI: Applications and Machine Learning
- CWPK #61: NLP, Machine Learning and Analysis
- CWPK #62: Network and Graph Analysis
- CWPK #63: Staging Data Sci Resources and Preprocessing
- CWPK #64: Embeddings, Summarization and Entity Recognition
- CWPK #65: scikit-learn Basics and Initial Encoding