Skip to content

Latest commit

 

History

History
56 lines (37 loc) · 4.45 KB

README.md

File metadata and controls

56 lines (37 loc) · 4.45 KB

COPAAL

Maven Build Codacy Badge

Paper

This repository contains code (service and demo) for the paper and demo titled "Unsupervised Discovery of Corroborative Paths for FactValidation" and "COPAAL – An Interface for Explaining Facts usingCorroborative Paths" respectively, accepted at International Semantic Web Conference (ISWC-2019).

Description

COPAAL is an unsupervised fact validation approach for RDF knowledge graphs which identifies paths that support a given fact (s,p,o). This approach is based on the insight that the predicate p (e.g.,nationality) carries mutual information with a set of other paths (e.g., paths pertaining to birthPlace and country) in the background knowledge graph G. Hence,the presence of certain sets of paths in G that begin in s and end in o can be regarded as evidence which corroborates the veracity of (s,p,o). For example, we would have good reasons to believe that BarackObama is a citizen of the USA given that BarackObama was born in Hawaii and Hawaii is located in the USA (see figure below).

A subgraph of DBpedia version 10-2016.

Usage Instructions

COPAAL uses infomation from a given background knowledge graph G hosted on a sparql end-point. Currently, COPAAL supports knowledge graphs that contains ontology information. An example of a KG that defines type information is DBpedia. In our experiments, we used DBpedia and the usage instructions are for the same.

  • Prepare a sparql end-point of your choice and index the following dumps of DBpedia version 10-2016: ontology,instance types,mapping-based objects and infobox properties.
  • Clone the repository from https://github.com/dice-group/COPAAL. The repository contains two components namely the service and demo (ui-service).

Service

To use the service do the following:

COPAAL service can be deployed

  1. using IDE
  2. packaged application
  3. using maven plugin

Running from an IDE

You can run COPAAL service from your IDE as a simple Java application. To do this simply import the maven project in your IDE of choice and run https://github.com/dice-group/COPAAL/blob/master/service/src/main/java/org/dice/FactCheck/Application.java.

Running as a Packaged Application

To run COPAAL as packaged application, open a terminal and navigate to the target sub-directory inside service folder. Issue the command java -jar Corraborative-0.0.1-SNAPSHOT.jar

Using the Maven Plugin

The Spring Boot Maven plugin includes a run goal that can be used to quickly compile and run applications. To run COPAAL service using this option, navigate to the service folder and issue the command mvn spring-boot:run.

Using one or more options above, COPAAL service will be deployed. The running service can be verified by issuing the following example GET request from a browser

http://localhost:8080/validate?subject=http://dbpedia.org/resource/Barack_Obama&object=http://dbpedia.org/resource/United_States&property=http://dbpedia.org/ontology/nationality&pathlength=2

Demo (UI-Service)

In addition to the COPAAL service, one can deploy a UI-service in order to query and validate facts using a web interface. The demo was developed using Angular CLI version 7.0.3.

Build

To build the demo navigate to the ui-service folder and run ng build. The build artifacts will be stored in the dist/ directory.

Deploy

Run ng serve to deploy the demo. To use the demo navigate to http://localhost:4200/. You should see the web-page as shown in the figure below.

Demo web page.