Because of how we construct the RDF that we read from Virtuoso (see sparql templates), the title is always a literal.
More metadata for the catalogue based on the minimal metadata (https://docs.google.com/spreadsheets/d/1JAvI9AYP4yn6Lj-ABvzA3xqm4CpOulEeuHXmPTrs6so/edit#gid=1550301525)
Added constants for PARTHENOS_BASE_URL
crm prefix was unknown, let's use the full URI names fro the types we want to skip
Let's exclude E55_Type and E41_Appellation, not all entities whose type is not in the parthenos namespace
Enrich the values to add to a resource in the catalogue
I think we must use an InfModel to process the rdf before registering it
Because of https://support.d4science.org/issues/11466, let's not throw exception, but let's try to continue, if possible.Purge method implemented and tested
do not log the response from the catalogue
Fixed parsing of error information in cataloague response
Ensure the ckan name is lowercase
throws exception whenever needed
throws exception
Checking POST response status code before accessing the response body
Debugging for unexpected NPE
Extract the rdf block from the record submitted for registration
No need to go through jena Model before delivering the response in the output stream
it sounds like we are passing wrong data to the register method...let's see
No need to log the endpoint every time
Can't use jena Query because does not support inference rule, can't use jena HttpEngine because it does not support long queryif we do not use Query: hence let's query with handmade post request to the sparql endpoint.
Getting unexpected 406 because of wrong sparql query..some debug logs might help
Fixed freemarker configuration setting
Using an infModel
just todo comment
No need to infer in memory: we can have the inference rule run directly on virtuoso
Re-order switch cases
refactoring
compilation error solved
Fixed class name: guys..."Resource" is a very unlucky name...
tostring method
implemented findInRegistry method
ByPass QueryBuilder, otherwise the virtuoso pragma are not parsable
Playing with inference rules on the remote sparql endpoint
Additional methods needed by the JRR publishing workflow
Refactoring and deprecation for registration on catalogue and registry
For almost every graph we used to return also "concept URLs" like "http://parthenos.d4science.org/handle/Parthenos/REG/Concept/datasettype/metadata"...let's try to avoid them skipping non URL resources and resources whose type is not in the parthenos namespace.
Back with no inference, otherwise we are passing all triples in CIDOC-CRM, DIG and PE, which is not what we want.
Add inferred info after getting sparql result.
Back to simple construct
using lambdas
Let's try using a VirtGraph
We should be able to use DEFINE if we use Virtuoso specific classes, see https://www.openlinksw.com/vos/main/Main/VirtJenaSPARQLExample12
it seems 406 really depends on the DEFINE construct to use inf rules...
Test: 406 error if I use the inference rules?
log debug unpublish info
Removed duplicate creation of rel
No Exception to be declared
Use inference rules
Let's try to get only the triples where the known resource is subject
Let's throw exceptions!
Serialize in XML RDF PLAIN and not ABBREV
cleanup
DESCRIBE query does not work: we do not know what Virtuoso can return. Now we explicitely ask for all triples where a resource is involved as subject or object
API that read from Virtuoso
Removed Async annotation
As George said, let's skip resources with no http URI as they are relevant to give info about another resource, not as a resource itself.
Passing needed args
Fixed json format
Reordering methods
CRM RDFS schema changed URL.
Creating json for the CKAN Catalogue
getter/setter
Let's skip empty records
Moved to common package
Added client for CKAN Catlaogue and refactoring
log idMap
logs
Comment with TODO
let's be super sure we are giving UTF-8 encoded string to the registry
Fixed iteration
Handle the cases when the target of P1_is_identified_by is a string and not a resource
Handle cases when title is not in a resource but is a string
Trying again the sync publishing
Tring another response code
But I am not ready yet to change the return status code
trying to debug the mistry of missing exception logs
testing with a controller that logs the exception
Better close the Jena Model to ensure resources are released.
Check problems with rel registration
Also check for nul source in rels
Scaffolding for the dropRegistry method
code formatting
Registration of curation plans
check for null targets
Escaping ' which seems not to be automatically escaped as expected
Let's log the json that fails
jackson writeString handles escaping on its own and matching IsoControl chars did not help
Trying to explicitely set the UTF-8 encoding
Async implementation of the controller
Ensure we do not process services with type PE1_Service only because that's marked as abstract in the registry and we cannot register
Process E55_Types
Let's remove the control chars as well
Quote quotes when writing descriptions and labels
Modified getSpecificType: jena refuses to choose one when there is more than one possibility
log typo fixed
Fixed virtuoso drop and added test
The missing break that caused me an headache
Log and exceptions
cleanup commented code