The OPI can be integrated into academic or commercial applications in ways that comply with the above license.

Licensing

The OPI and its content is available to anyone for use under the Creative Commons Attribution 4.0 International License. This license permits anyone to share, copy and destribute the material in any medium or format, and to adapt, remix, transform and build upon the material for any purpose, even commercially.

Markup Service

The OPI website provides a markup service that visitors can use to submit text for markup with fully-qualified OPI hyperlinks. This service provides an easy way to reuse the OPI in externally hosted content. As with any external hyperlinks, users of the markup service should periodically check for deadlinks, since the OPI does undergo revision and concept names can change.

Downloads

The OPI is available for download in the W3C OWL 2 Web Ontology Language (OWL) format. New versions of the OPI will be published on this page. Early versions of the OPI are expected to change as the standards for assigning formal meanings to the concept names evolve. This evolution is driven by the variety of ways that policy writers use terminology, and how they define relationships among terms in their policies. Your feedback is welcome to help us improve this process.

Extending the Ontology

The OPI may be extended by sending ontology change requests to the OPI development website on GitHub, or by using an ontology editor. When using an ontology editor, we recommend create a second ontology to collect any extensions and then importing the OPI into this extended ontology. This approach will ease the integration with updates to the OPI without substantially impacting the extensions.

Using the Protege open-source ontology editor, for example, the OPI OWL file can be imported into a new ontology, which can then be used to extend the existing OPI concepts and relations.


Fig. Protege sub-window where ontologies can be imported.

Programming in Python

The OPI can be used in custom software that can read and reason over an ontology formatted in the OWL/XML format. In python, the Owlready2 Python Package can be used to load the OPI and answer queries using a Description Logic inference engine.

To install the Owlready2 package:

	
	  pip install owlready2
	
      

To load the OPI and answer the query, what information types are kinds of personal information?

	
	  onto = get_ontology("https://opi.cs.cmu.edu/owl/current").load()
	  with onto:
              sync_reasoner()
              print('\n'.join(onto.personal_information.subclasses()))
	
      



Carnegie Mellon University | Privacy Policy