HiveBrain v1.2.0
Get Started
← Back to all entries
snippetMinor

How to model references in an ontology

Submitted by: @import:stackexchange-cs··
0
Viewed 0 times
referencesmodelontologyhow

Problem

I am interested in creating an ontology which will model arguments (among other things). For example, a triple in the ontology might be

Vaccination -> can lead to -> Autism

(not that I necessarily believe this, just a good example of an argument).
I would like to attach sources to any disputed statement. So ideally, the above example would be stored as

Vaccination -> can lead to -> Autism -> according to -> Article X

This cannot easily be represented as a triple in a standard ontology. What are the accepted ways of modeling this type of data?

I see that on WikiData, all relations can have sources attached to them (e.g. see https://www.wikidata.org/wiki/Q23 for sources on when George Washington was born). It could be that WikiData doesn't store their data as triples.

Solution

If you want to say something about an RDF triple (i.e., an rdf:Statement), you can use reification:

@prefix rdf:  .
@prefix voc:  .
@prefix :     .

:Triple42   rdf:type        rdf:Statement .
:Triple42   rdf:subject     :Vaccination . 
:Triple42   rdf:predicate   voc:canLeadTo . 
:Triple42   rdf:object      :Autism .
:Triple42   voc:publishedIn  .


But you would probably want to say something about the argument, not about the RDF statement expressing the argument. You can use n-ary relations for this, e.g., by introducing an instance that represents the argument:

@prefix voc:  .
@prefix :     .

:Argument1 a voc:Argument .
:Argument1 voc:publishedIn  .
:Argument1 voc:textualRepresentation "Vaccination can lead to autism!" .


(and then use properties that dissect the argument to represent it in a machine-readable way)

Relevant vocabularies: PROV, schema:ClaimReview

Code Snippets

@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix voc: <https://example.com/vocabulary#> .
@prefix :    <https://example.com/instances#> .

:Triple42   rdf:type        rdf:Statement .
:Triple42   rdf:subject     :Vaccination . 
:Triple42   rdf:predicate   voc:canLeadTo . 
:Triple42   rdf:object      :Autism .
:Triple42   voc:publishedIn <https://example.com/articles/vaccination-and-autism> .
@prefix voc: <https://example.com/vocabulary#> .
@prefix :    <https://example.com/instances#> .

:Argument1 a voc:Argument .
:Argument1 voc:publishedIn <https://example.com/articles/vaccination-and-autism> .
:Argument1 voc:textualRepresentation "Vaccination can lead to autism!" .

Context

StackExchange Computer Science Q#105988, answer score: 3

Revisions (0)

No revisions yet.