snippetMinor
How to model references in an ontology
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
(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
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.
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 XThis 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
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:
(and then use properties that dissect the argument to represent it in a machine-readable way)
Relevant vocabularies: PROV,
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:ClaimReviewCode 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.