Skip to Content

"So, this one time, at vocamp..." -- guessing at an Inference Confidence ontology

0

0So, last weekend, I went to VoCamp-DC. Was great to meet twitter-friends Lin and Kendall and see the very cool digs of Clark & Parsia. More importantly, I got to be in some long and intense conversations about ontology development. The mix of experience, knowledge, backgrounds, and perspectives was a huge part of what made the event such as success for me, personally. I learned an awful lot about things that had long been very fuzzy in my brain. Having all those practitioners together helped me start to get a handle on the things that I'd learned from Semantic Web for the Working Ontologist. It will be well worth it for me to now go back and reread lots of it.

0This post was actually intended to be the second of two posts about the experience. The post I intended first was going to be about some details about what I learned, how I'm rethinking vocabularies and/versus ontologies, and the like. But, as all writing teachers know, writing is also an act of learning about the topic, and I find that each time I start to write it, I'm learning more and having to redo and rethink the entire post anew. So I hope that one will be coming soon.

0The upshot was that that intended first post was going to build up to the potential messiness of linked open data, especially in light of the open world assumption, and how that relates to curating linked open data for a particular use. I'd like to know in advance how 'clean' a dataset is against the vocabularies in which the data is expressed. And so I'm trying to exercise a little of what I learned by taking a stab at an ontology to do that.

0I should say that, so far, I've really done very little with worrying about consistency and inference on datasets, so I might be completely off my rocker with this. If so, I hope someone will whack me on the nose with the newspaper of enlightenment. But fear of exposing my ignorance hasn't stopped me before, so here goes: an Inference Confidence Ontology. It defines 3 classes, 5 properties, and 2 Individuals

Classes

InferenceConfidence
A description of the results of applying a reasoner to a dataset and ontology.
ConfidenceLevel
A statement of how confident you are about the results of such an inference.
Reasoner
A reasoner or inference engine.

Properties

confidenceLevel
The ConfidenceLevel for the subject InferenceConfidence
dataset
The dataset for the subject InferenceConfidence
reasoner
The reasoner for the subject InferenceConfidence
schema
The schema for the subject InferenceConfidence
statement
A human-readable statement about the subject InferenceConfidence

Individuals of ConfidenceLevel

Consistent
It works
NotConsistent
I don't work

0Here it is in turtle, with some quick examples. You can download the OWL below.

         
         
         #################################################################
         #
         #    Object Properties
         #
         #################################################################
         
         
         ###  http://www.ravendesk.org/inference#confidenceLevel
         
         :confidenceLevel rdf:type owl:ObjectProperty ;
         
         rdfs:label "confidenceLevel" ;
         
         rdfs:comment "A level of confidence about the results of pushing the subject's dataset and schema through the reasoner" ; 
         
         rdfs:domain [ rdf:type owl:Restriction ;
                             owl:onProperty :confidenceLevel ;
                             owl:onClass :InferenceConfidence ;
                             owl:cardinality "1"^^xsd:nonNegativeInteger
                             ] ;
         
         rdfs:range [ rdf:type owl:Restriction ;
                           owl:onProperty :confidenceLevel ;
                           owl:onClass :ConfidenceLevel ;
                           owl:cardinality "1"^^xsd:nonNegativeInteger
                         ] .
         
         
         
         ###  http://www.ravendesk.org/inference#dataset
         
         :dataset rdf:type owl:ObjectProperty ;
         
             rdfs:label "dataset" ;
         
             rdfs:comment "The dataset of the subject InferenceConfidence." ; 
         
             rdfs:domain [ rdf:type owl:Restriction ;
                                 owl:onProperty :dataset ;
                                 owl:onClass :InferenceConfidence ;
                                 owl:cardinality "1"^^xsd:nonNegativeInteger
                                 ] ;
         
             rdfs:range [ rdf:type owl:Restriction ;
                                 owl:onProperty :dataset ;
                                 owl:onClass void:Dataset ;
                                 owl:cardinality "1"^^xsd:nonNegativeInteger
                             ] .
         
         
         
         ###  http://www.ravendesk.org/inference#reasoner
         
         :reasoner rdf:type owl:ObjectProperty ;
         
             rdfs:label "reasoner" ;
         
             rdfs:comment "The reasoner of the subject InferenceConfidence" ; 
         
             rdfs:domain [ rdf:type owl:Restriction ;
                                 owl:onProperty :reasoner ;
                                 owl:onClass :InferenceConfidence ;
                                 owl:cardinality "1"^^xsd:nonNegativeInteger
                                 ] ;
         
             rdfs:range [ rdf:type owl:Restriction ;
                                 owl:onProperty :reasoner ;
                                 owl:onClass :Reasoner ;
                                 owl:cardinality "1"^^xsd:nonNegativeInteger
                             ] .
         
         
         
         ###  http://www.ravendesk.org/inference#schema
         
         :schema rdf:type owl:ObjectProperty ;
         
             rdfs:label "schema/vocabulary/ontology" ;
         
             rdfs:comment "The schema or vocabulary or ontology of the subject InferenceConfidence";
         
             rdfs:domain [ rdf:type owl:Restriction ;
                                 owl:onProperty :schema ;
                                 owl:onClass :InferenceConfidence ;
                                 owl:cardinality "1"^^xsd:nonNegativeInteger
                                 ] ;
         
             rdfs:range [ rdf:type owl:Restriction ;
                                 owl:onProperty :schema ;
                                 owl:onClass owl:Ontology ;
                                 owl:cardinality "1"^^xsd:nonNegativeInteger
                             ] .
         
         
         
         
         
         #################################################################
         #
         #    Data properties
         #
         #################################################################
         
         
         ###  http://www.ravendesk.org/inference#statement
         
         :statement rdf:type owl:DatatypeProperty ;
         
             rdfs:label "statement" ;
         
             rdfs:comment "A human readable statement describing the results of doing the inference. Especially useful for describing the nature of failures, if any." ; 
         
             rdfs:domain :InferenceConfidence ;
         
             rdfs:range xsd:string .
         
         
         
         
         
         #################################################################
         #
         #    Classes
         #
         #################################################################
         
         
         
         
         ###  http://www.ravendesk.org/inference#ConfidenceLevel
         
         :ConfidenceLevel rdf:type owl:Class ;
         
             rdfs:label "ConfidenceLevel" ;
         
             rdfs:subClassOf owl:Thing .
         
         
         
         ###  http://www.ravendesk.org/inference#InferenceConfidence
         
         :InferenceConfidence rdf:type owl:Class ;
         
             rdfs:comment "A statement about the confidence in the results of applying a reasoner to a dataset and a schema, vocabulary, or ontology"; 
         
             rdfs:label "InferenceConfidence" ;
         
             rdfs:subClassOf owl:Thing .
         
         
         
         ###  http://www.ravendesk.org/inference#Reasoner
         
         :Reasoner rdf:type owl:Class ;
         
             rdfs:comment "A reasoner or inference engine."; 
         
             rdfs:label "Reasoner" ;
         
             rdfs:subClassOf owl:Thing .
         
         
         
         
         
         
         
         #################################################################
         #
         #    Individuals
         #
         #################################################################
         
         
         ###  http://www.ravendesk.org/inference#Consistent
         
         :Consistent rdf:type :ConfidenceLevel ;
         
             rdfs:comment "The reasoner reports the dataset and ontology are consistent";
         
             rdfs:label "Consistent" .
         
         
         
         ###  http://www.ravendesk.org/inference#NotConsistent
         
         :NotConsistent rdf:type :ConfidenceLevel ;
         
             rdfs:comment "The reasoner reports inconsistency";
         
             rdfs:label "notConsistent" .
         
         
         
         
         
         #################################################################
         #
         #    General axioms
         #
         #################################################################
         
         
         [ rdf:type owl:AllDifferent ;
             owl:distinctMembers ( :NotConsistent
                                             :Consistent
                                             )
         ] .
         
         
         
         
         ###  Generated by the OWL API (version 2.2.1.962) http://owlapi.sourceforge.net


## Basic example 1

ex:data a void:Dataset .

<http://clarkparsia.com/pellet#this> a inf:Reasoner ;
foaf:page <http://clarkparsia.com/pellet> . 
     
     ex:dataReport a inf:InferenceConfidence ; 
     dcterms:creator ex:me ; 
     dcterms:date "2009-05-01";
     inf:dataset ex:data ; 
     inf:schema foaf: ; 
     inf:reasoner <http://clarkparsia.com/pellet#this> ;
         inf:statement "All good in the hood!" ; 
         inf:confidenceLevel inf:Consistent .
         
## Basic example 2

ex:data a void:Dataset .

<http://clarkparsia.com/pellet#this> a inf:Reasoner ;
foaf:page <http://clarkparsia.com/pellet> . 
     
     ex:dataReport a inf:InferenceConfidence ; 
     dcterms:creator ex:me ; 
     dcterms:date "2009-05-01";
     inf:dataset ex:data ; 
     inf:schema sioc: ; 
     inf:reasoner <http://clarkparsia.com/pellet#this> ;
         inf:statement "It looks like the dataset has misused the sioc:User class where it should have foaf:Agent." ; 
         inf:confidenceLevel inf:NotConsistent .
         
         

## creating a new inf:ConfidenceLevel

myvocab:EpicFail a inf:ConfidenceLevel ;
rdfs:label "Epic Fail!";
rdfs:comment "You have to try really hard to screw up a data set this badly!" . 


                
     
AttachmentSize
inference.owl7.17 KB

Comments

Post new comment

The content of this field is kept private and will not be shown publicly.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Lines and paragraphs break automatically.

More information about formatting options

By submitting this form, you accept the Mollom privacy policy.