Forum Stats

  • 3,839,230 Users
  • 2,262,468 Discussions
  • 7,900,908 Comments

Discussions

Blank node reuse in RDF data

bouchra
bouchra Member Posts: 4 Green Ribbon
Hi, 


The Oracle 19c technical documentation claims that "when inserting triples involving blank nodes into a model, you

must use the SDO_RDF_TRIPLE_S constructor that supports reuse of blank nodes"

However, with the procedure SEM_APIS.UPDATE_MODEL, the ID is reused among different insertions, in different graphs. I can also request the BN and getting the same ID. So my question is this procedure perform a call to the constructor ?


--first insertion 


BEGIN


SEM_APIS.UPDATE_MODEL('articles',


 'PREFIX  e: <http://event.example.com/>


  INSERT DATA {


_:event1 rdf:type e:conference.


}


--second insertion


BEGIN


SEM_APIS.UPDATE_MODEL('articles',


   'PREFIX  a: <http://article.example.com/>


e: <http://event.example.com/>


  INSERT DATA {


a:article rdf:type rdfs:Class.


a:event rdf:type owl:ObjectProperty ;


 rdfs:domain a:article;


  rdfs:range  e:event .


  


a:artile1 rdf:type a:article.


a:article1 a:event _:event1 .


}






--query


SELECT s$rdfterm s


FROM TABLE(SEM_MATCH(


'PREFIX a:<http://article.example.com/>


SELECT ?s 


WHERE {?s a:event _:nor22 .}'


, SEM_MODELS('articles')


, null, null, null, null


, ' PLUS_RDFT=VC '


, null, null


, 'RDFUSER', 'NET1'));