I would like to encode how an IRI of a RDF resource should be constructed, also including the literals of the resource predicates. For example take this RDF resource
<> a :Dataset ;
:published "2020-01-01"^^xsd:date ;
:name "testDataset" .
How can I specify that I want the IRI to be <some_prefix/20200101/testDataset> where the values of :published and :name are used to create the IRI?
I am interested in a method which does not involve SPARQL.
I am wondering if something like JSON-Path exists for RDF?
Or, is there an existing RDF vocabulary for declaring the structure of a string based on a RDF graph?
To give more context if needed: I am working on driving web forms with SHACL shapes. I am looking for a way of storing together with a shape the structure of the IRI that a newly generated RDF resource should have. I would like to be able to write something like the following:
:someShape a sh:NodeShape ;
sh:targetClass :someClass ;
rdfs:label "Some label" ;
sh:property
:propA ,
:propB ;
:IRIStructure "http://some/base/IRI/[:propB]/foo/[:propA]"