0

As far as I know RDF describes a graph where the nodes are the subjects and predicates and the edges are the statements about them. A statement is described with RDF triples of subjects predicates and objects, e.g.

#chiwawa rdfs:subClassOf #dog

What I need is adding more properties to a statement or in other words, to an edge on the graph. For example I could add a possibility and a link to the proof property to the statement:

{
    subject: "#chiwawa",
    predicate: "rdfs:subClassOf",
    object: "#dog",
    possibility: "certain",
    proof: "https://en.wikipedia.org/wiki/Chihuahua_%28dog%29"
}

Or in Neo4j Cypther it would look something like this:

CREATE
    (subject {id: '#chiwawa', name:'Chiwawa'})
    -[statement {
        predicate: 'rdfs:subClassOf',
        possibility: 'certain',
        proof: 'https://en.wikipedia.org/wiki/Chihuahua_%28dog%29'
    }]->
    (object {id: '#dog', name:'Dog'})

Is there a way to model such a thing in RDF somehow? What is the proper way to deal with this problem? It appears to be something general, so I assume there is a best practice...

inf3rno
  • 24,976
  • 11
  • 115
  • 197
  • 2
    See closely related question http://stackoverflow.com/questions/32923213/how-can-i-express-in-a-rdf-triplet-as-it-evolves-in-time/33619395#33619395 for a couple of good solutions. – Jeen Broekstra Nov 18 '15 at 00:12
  • @JeenBroekstra Thanks! I'll check it tomorrow. – inf3rno Nov 18 '15 at 00:17
  • 1
    You may also find these two questions helpful: http://stackoverflow.com/a/28793308/1103498 http://stackoverflow.com/questions/24064643/ – Tomasz Pluskiewicz Nov 18 '15 at 11:29
  • 1
    You might find [Defining N-ary Relations on the Semantic Web](http://www.w3.org/TR/swbp-n-aryRelations/) helpful. – Joshua Taylor Nov 18 '15 at 14:32
  • 1
    @JeenBroekstra It appears to be a dupe, thanks for the solutions! I'll probably use the "Representing the relation as an object". – inf3rno Nov 18 '15 at 17:26

0 Answers0