better error logging
Added crm:P2_has_type for all sparql query templates
Yes, let's use union everywhere
Looks like using UNION is much more performant than using OPTIONAL. See http://www.snee.com/bobdc.blog/2014/10/dropping-optional-blocks-from.html
removed todo, because I did it
Using specific queries for Software and Dataset: the one for DigitalObject has been deleted as it could not be executed because of timeout exception during tests. I do not want to run such heavy query on the production virtuoso
Removed deprecated classes
logging
handle httpstatus properly
Added method to delete a resource by uuid
added missing namespace
removed wrong } in service sparql template
Getting the item title from the label if a proper title cannot be found
Isolate the registration on the catalogue temporarly
better regex to have alphanumeric item and group names for the catalogue
Basic implementation for E55 and E29 to the catalogue
Added TODO to remember in the near future about the error handling
Let's try to get the providers for all types of resources
provider must come with at least the title
Let's get also the maintaining RI as provider (so they will also be added as groups)
Registering providers as catalogue groups
Better try using InputStream...
Debugging "org.apache.jena.riot.RiotNotFoundException: Not found" and related(?) parsing issue
Added missing dots in sparql templates
fixed sparql template
Let's not log all queries, just the template name
fixed commas
Better to set the title and ensure the group name complies with the catalogue requirements
Ensure the provider names are already registered as catalogue groups
Resolved TODOs in sparql query templates
removed duplicate line and re-order for haspart rels
curation plan in sparql template
subjects and coverages in sparql template
provided service
actor members
has_maintaining_team with optional contact points
PP1 currently offers
Curates relationships
curation relationships
Fixed hosted_by
formatting
re-using getLabel method
Thanks to sprql template activitytype can be accessed as literal
Thanks to sparql template service competence can be accessed as a simple label
Optional rdfs:label in sparql templates
optional description in sparql templates
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
resolved TODOs
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
sparql queries are now freemarker templates where the subjectURL can be injected
Comments in sparql are identified by #, not //
Added declaration to use inference rules
No need to infer in memory: we can have the inference rule run directly on virtuoso
logging jena package
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
Can't find a way to use the DEFINE virtuoso pragma using the jena connector.
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
SPARQL queries
SPARQL queries that will be used to get the info for the JRR and catalogue
Removed duplicate creation of rel