Welcome to the documentation of PyClause. PyClause allows you to use and learn symbolic rules (clauses) in a simple yet efficient manner by using Python. All usable options are well documented and can be stored in user defined configuration files.

Feature Overview

By exclusively using Python, with PyClause you can:

  • Learn rules with AMIE, AnyBURL, or our custom mining module Torm (clause.Learner)

  • Calculate explanations for a given triple prediction (c_clause.PredictionHandler)

  • Calculate query answering on the fly (c_clause.QAHandler)

  • Perform triple scoring/classification on the fly (c_clause.PredictionHandler)

  • Materialize input rules and calculate rule confidences/precision (c_clause.RulesHandler)

  • Calculate ranking files for knowledge graph completion (c_clause.RankingHandler)

  • Retrieve the target rules that predicted triples or candidates with c_clause.QAHandler, c_clause.PredictionHandler or c_clause.RankingHandler

  • Evaluate ranking files for knowledge graph completion

Possible workflows with PyClause allow to:

  • Load data KGs and rules solely from Python and serialize the results back to Python

  • Load data KGs and rules from disk and write back the results to disk for efficiency

  • Handle KG data and inputs as indexes, e.g., from numpy arrays, or with string names for the generation of readable examples

  • Work with and store user defined configuration files, based on a default-configuration file