Class SKOS
java.lang.Object
it.uniroma2.art.semanticturkey.services.STServiceAdapter
it.uniroma2.art.semanticturkey.services.core.SKOS
- All Implemented Interfaces:
NewerNewStyleService
,STService
This class provides services for manipulating SKOS constructs.
- Author:
- Manuel Fiorelli, Andrea Turbati
-
Nested Class Summary
Nested Classes -
Field Summary
Fields inherited from class it.uniroma2.art.semanticturkey.services.STServiceAdapter
applicationEventPublisher, cfManager, exptManager, stServiceContext
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
addAltLabel
(org.eclipse.rdf4j.model.IRI concept, @LanguageTaggedString org.eclipse.rdf4j.model.Literal literal) void
addBroaderConcept
(org.eclipse.rdf4j.model.IRI concept, org.eclipse.rdf4j.model.IRI broaderConcept, org.eclipse.rdf4j.model.IRI broaderProp) void
addConceptToScheme
(org.eclipse.rdf4j.model.IRI concept, org.eclipse.rdf4j.model.IRI scheme) void
addFirstToOrderedCollection
(org.eclipse.rdf4j.model.Resource collection, org.eclipse.rdf4j.model.Resource element) protected void
addFirstToOrderedCollection
(org.eclipse.rdf4j.model.Resource element, org.eclipse.rdf4j.model.Resource collection, org.eclipse.rdf4j.repository.RepositoryConnection repoConnection, org.eclipse.rdf4j.model.Model modelAdditions, org.eclipse.rdf4j.model.Model modelRemovals) void
addHiddenLabel
(org.eclipse.rdf4j.model.IRI concept, @LanguageTaggedString org.eclipse.rdf4j.model.Literal literal) void
addInPositionToOrderedCollection
(org.eclipse.rdf4j.model.Resource collection, org.eclipse.rdf4j.model.Resource element, @jakarta.validation.constraints.Min(1L) int index) protected void
addInPositionToSKOSOrderedCollection
(org.eclipse.rdf4j.model.Resource list, org.eclipse.rdf4j.model.Resource element, org.eclipse.rdf4j.repository.RepositoryConnection repoConnection, int pos, org.eclipse.rdf4j.model.Model modelAdditions, org.eclipse.rdf4j.model.Model modelRemovals) void
addLastToOrderedCollection
(org.eclipse.rdf4j.model.Resource collection, org.eclipse.rdf4j.model.Resource element) void
addMultipleConceptsToScheme
(org.eclipse.rdf4j.model.IRI rootConcept, org.eclipse.rdf4j.model.IRI scheme, org.eclipse.rdf4j.model.IRI inSchemeProp, boolean includeSubProperties, List<org.eclipse.rdf4j.model.IRI> broaderProps, List<org.eclipse.rdf4j.model.IRI> narrowerProps, List<org.eclipse.rdf4j.model.IRI> filterSchemes, boolean setTopConcept) void
addNote
(org.eclipse.rdf4j.model.Resource resource, org.eclipse.rdf4j.model.IRI predicate, SpecialValue value) Allows the addition of a note (plain or reified)void
addToCollection
(org.eclipse.rdf4j.model.Resource collection, org.eclipse.rdf4j.model.Resource element) this service adds an element to a (unordered) collection.void
addTopConcept
(org.eclipse.rdf4j.model.IRI concept, org.eclipse.rdf4j.model.IRI scheme, org.eclipse.rdf4j.model.IRI topConceptProp) static void
checkIfAddAltLabelIsPossible
(org.eclipse.rdf4j.repository.RepositoryConnection repoConnection, org.eclipse.rdf4j.model.Literal newLabel, org.eclipse.rdf4j.model.Resource resource) static void
checkIfAddPrefLabelIsPossible
(org.eclipse.rdf4j.repository.RepositoryConnection repoConnection, org.eclipse.rdf4j.model.Literal newLabel, boolean newResource, List<org.eclipse.rdf4j.model.IRI> conceptSchemes, RDFResourceRole rdfResourceRole) static void
checkIfPrefAltLabelClash
(org.eclipse.rdf4j.repository.RepositoryConnection repoConnection, org.eclipse.rdf4j.model.Literal newLabel, RDFResourceRole rdfResourceRole) static String
combinePathWithVarOrIri
(String var, String superVar, String propertyPath, boolean transitiveClosure) static String
combinePathWithVarOrIri
(String var, org.eclipse.rdf4j.model.IRI superIri, String propertyPath, boolean transitiveClosure) static String
combinePathWithVarOrIri
(org.eclipse.rdf4j.model.IRI iri, String superVar, String propertyPath, boolean transitiveClosure) static String
combinePathWithVarOrIri
(org.eclipse.rdf4j.model.IRI iri, org.eclipse.rdf4j.model.IRI superIri, String propertyPath, boolean transitiveClosure) countTopConcepts
(List<org.eclipse.rdf4j.model.IRI> schemes, String schemeFilter, List<org.eclipse.rdf4j.model.IRI> broaderProps, List<org.eclipse.rdf4j.model.IRI> narrowerProps, boolean includeSubProperties) AnnotatedValue<org.eclipse.rdf4j.model.Resource>
createCollection
(org.eclipse.rdf4j.model.IRI collectionType, org.eclipse.rdf4j.model.IRI newCollection, @LanguageTaggedString org.eclipse.rdf4j.model.Literal label, org.eclipse.rdf4j.model.IRI containingCollection, org.eclipse.rdf4j.model.IRI collectionCls, boolean bnodeCreationMode, CustomFormValue customFormValue, boolean checkExistingAltLabel) AnnotatedValue<org.eclipse.rdf4j.model.IRI>
createConcept
(org.eclipse.rdf4j.model.IRI newConcept, @LanguageTaggedString org.eclipse.rdf4j.model.Literal label, org.eclipse.rdf4j.model.Resource broaderConcept, List<org.eclipse.rdf4j.model.IRI> conceptSchemes, org.eclipse.rdf4j.model.IRI conceptCls, CustomFormValue customFormValue, boolean checkExistingAltLabel, org.eclipse.rdf4j.model.IRI broaderProp, boolean checkExistingPrefLabel) AnnotatedValue<org.eclipse.rdf4j.model.IRI>
createConceptScheme
(org.eclipse.rdf4j.model.IRI newScheme, @LanguageTaggedString org.eclipse.rdf4j.model.Literal label, org.eclipse.rdf4j.model.IRI schemeCls, CustomFormValue customFormValue, boolean checkExistingAltLabel) protected org.eclipse.rdf4j.model.BNode
createElementInList
(org.eclipse.rdf4j.model.Value first, org.eclipse.rdf4j.model.Resource next, org.eclipse.rdf4j.repository.RepositoryConnection repoConnection, org.eclipse.rdf4j.model.Model modelAdditions) static String
createTypeFilterPart
(RDFResourceRole rdfResourceRole, String variableName) void
deleteCollection
(org.eclipse.rdf4j.model.Resource collection) void
deleteConcept
(org.eclipse.rdf4j.model.IRI concept) Deletes a Conceptvoid
deleteConceptScheme
(org.eclipse.rdf4j.model.IRI scheme) Deletes a ConceptSchemevoid
deleteOrderedCollection
(org.eclipse.rdf4j.model.Resource collection) void
protected void
fixOrderedCollectionIfHasNoMemberList
(org.eclipse.rdf4j.model.Resource collection, org.eclipse.rdf4j.repository.RepositoryConnection repoConnection) org.eclipse.rdf4j.model.IRI
generateCollectionURI
(org.eclipse.rdf4j.model.Literal label) Generates a new URI for a SKOS collection, optionally given its accompanying preferred label.org.eclipse.rdf4j.model.IRI
generateConceptIRI
(org.eclipse.rdf4j.model.Literal label, List<org.eclipse.rdf4j.model.IRI> schemes) Generates a new URI for a SKOS concept, optionally given its accompanying preferred label and concept scheme.org.eclipse.rdf4j.model.IRI
generateConceptSchemeURI
(org.eclipse.rdf4j.model.Literal label) Generates a new URI for a SKOS concept scheme, optionally given its accompanying preferred label.org.eclipse.rdf4j.model.IRI
generateXLabelIRI
(org.eclipse.rdf4j.model.Resource lexicalizedResource, org.eclipse.rdf4j.model.Literal lexicalForm, org.eclipse.rdf4j.model.IRI lexicalizationProperty) Generates a new URI for a SKOSXL Label, based on the provided mandatory parameters.Collection<AnnotatedValue<org.eclipse.rdf4j.model.Resource>>
static List<org.eclipse.rdf4j.model.IRI>
getAllSchemesForConcept
(org.eclipse.rdf4j.model.IRI concept, org.eclipse.rdf4j.repository.RepositoryConnection repoConnection) Collection<AnnotatedValue<org.eclipse.rdf4j.model.Literal>>
getAltLabels
(org.eclipse.rdf4j.model.IRI concept) Collection<AnnotatedValue<org.eclipse.rdf4j.model.Resource>>
getBroaderConcepts
(org.eclipse.rdf4j.model.Resource concept, List<org.eclipse.rdf4j.model.IRI> schemes, String schemeFilter, List<org.eclipse.rdf4j.model.IRI> broaderProps, List<org.eclipse.rdf4j.model.IRI> narrowerProps, boolean includeSubProperties) Returns the list of broader conceptsgetCollectionsForConcept
(org.eclipse.rdf4j.model.Resource concept) protected org.eclipse.rdf4j.model.Resource
getFirstElemOfOrderedCollection
(org.eclipse.rdf4j.model.Resource collection, org.eclipse.rdf4j.repository.RepositoryConnection repoConnection) static org.eclipse.rdf4j.model.IRI
getHierachicalProp
(org.eclipse.rdf4j.model.IRI broaderProps) static List<org.eclipse.rdf4j.model.IRI>
getHierachicalProps
(List<org.eclipse.rdf4j.model.IRI> broaderProps, List<org.eclipse.rdf4j.model.IRI> narrowerProps) static List<org.eclipse.rdf4j.model.IRI>
getInverseOfHierachicalProp
(List<org.eclipse.rdf4j.model.IRI> broaderProps, List<org.eclipse.rdf4j.model.IRI> narrowerProps) return the inverse of the input broaderProp or null if it ha no inverseprotected org.eclipse.rdf4j.model.Resource
getLastElemInList
(org.eclipse.rdf4j.model.Resource list, org.eclipse.rdf4j.repository.RepositoryConnection repoConnection) Collection<AnnotatedValue<org.eclipse.rdf4j.model.Resource>>
getNarrowerConcepts
(org.eclipse.rdf4j.model.Resource concept, String schemeFilter, List<org.eclipse.rdf4j.model.IRI> schemes, List<org.eclipse.rdf4j.model.IRI> broaderProps, List<org.eclipse.rdf4j.model.IRI> narrowerProps, boolean includeSubProperties) Returns the list of narrower conceptsCollection<AnnotatedValue<org.eclipse.rdf4j.model.Resource>>
getNestedCollections
(org.eclipse.rdf4j.model.Resource container) protected org.eclipse.rdf4j.model.Resource
getPrevElem
(org.eclipse.rdf4j.model.Resource list, org.eclipse.rdf4j.model.Resource element, org.eclipse.rdf4j.repository.RepositoryConnection repoConnection) Collection<AnnotatedValue<org.eclipse.rdf4j.model.Resource>>
Collection<AnnotatedValue<org.eclipse.rdf4j.model.Resource>>
getSchemesMatrixPerConcept
(org.eclipse.rdf4j.model.Resource concept) static List<org.eclipse.rdf4j.model.IRI>
getSubClassesOfConcept
(org.eclipse.rdf4j.repository.RepositoryConnection conn) Collection<AnnotatedValue<org.eclipse.rdf4j.model.Resource>>
getSuperCollections
(org.eclipse.rdf4j.model.Resource collection) Collection<AnnotatedValue<org.eclipse.rdf4j.model.Resource>>
getTopConcepts
(List<org.eclipse.rdf4j.model.IRI> schemes, String schemeFilter, List<org.eclipse.rdf4j.model.IRI> broaderProps, List<org.eclipse.rdf4j.model.IRI> narrowerProps, boolean includeSubProperties) Returns the list of top conceptsprotected boolean
hasElementInList
(org.eclipse.rdf4j.model.Resource list, org.eclipse.rdf4j.model.Resource element, org.eclipse.rdf4j.repository.RepositoryConnection repoConnection) isSchemeEmpty
(org.eclipse.rdf4j.model.IRI scheme) Checks if a ConceptScheme is empty.static void
static String
preparePropPathForHierarchicalForQuery
(List<org.eclipse.rdf4j.model.IRI> broaderProps, List<org.eclipse.rdf4j.model.IRI> inverseHierachicalProps, org.eclipse.rdf4j.repository.RepositoryConnection repoConnection, boolean includeSubProperties) void
removeAltLabel
(org.eclipse.rdf4j.model.IRI concept, org.eclipse.rdf4j.model.Literal literal) void
removeBroaderConcept
(org.eclipse.rdf4j.model.IRI concept, org.eclipse.rdf4j.model.IRI broaderConcept, List<org.eclipse.rdf4j.model.IRI> broaderProps, List<org.eclipse.rdf4j.model.IRI> narrowerProps) void
removeConceptFromScheme
(org.eclipse.rdf4j.model.IRI concept, org.eclipse.rdf4j.model.IRI scheme) void
removeFromCollection
(org.eclipse.rdf4j.model.Resource element, org.eclipse.rdf4j.model.Resource collection) void
removeFromOrderedCollection
(org.eclipse.rdf4j.model.Resource element, org.eclipse.rdf4j.model.Resource collection) void
removeHiddenLabel
(org.eclipse.rdf4j.model.IRI concept, org.eclipse.rdf4j.model.Literal literal) void
removeNote
(org.eclipse.rdf4j.model.Resource resource, org.eclipse.rdf4j.model.IRI predicate, org.eclipse.rdf4j.model.Value value) Allows the deletion of a note (plain or reified)void
removePrefLabel
(org.eclipse.rdf4j.model.IRI concept, org.eclipse.rdf4j.model.Literal literal) void
removeTopConcept
(org.eclipse.rdf4j.model.IRI concept, org.eclipse.rdf4j.model.IRI scheme) void
setPrefLabel
(org.eclipse.rdf4j.model.IRI concept, @LanguageTaggedString org.eclipse.rdf4j.model.Literal literal, boolean checkExistingAltLabel, boolean checkExistingPrefLabel) void
updateNote
(org.eclipse.rdf4j.model.Resource resource, org.eclipse.rdf4j.model.IRI predicate, org.eclipse.rdf4j.model.Value value, org.eclipse.rdf4j.model.Value newValue) Allows the update of note (not reified through CustomForm)void
updateNoteProperty
(org.eclipse.rdf4j.model.Resource resource, org.eclipse.rdf4j.model.IRI property, org.eclipse.rdf4j.model.IRI newProperty, org.eclipse.rdf4j.model.Value value) Methods inherited from class it.uniroma2.art.semanticturkey.services.STServiceAdapter
addValue, checkNotLocallyDefined, createQueryBuilder, generateIRI, generateNatureSPARQLSelectPart, generateNatureSPARQLWherePart, generateResourceWithCustomConstructor, getCodaLexModeForSearchFromLexicalizationModel, getDeleteGraph, getGraphFromNature, getInitializedCodaCore, getManagedConnection, getMetadataGraph, getOptionalProject, getPlatformTransactionManager, getProject, getRepository, getRoleFromNature, getUserNamedGraphs, getWorkingGraph, instantiateSearchStrategy, instantiateSearchStrategy, parseReference, publishResourceDeleted, publishResourceDeleted, removeReifiedValue, retrieveResources, shutDownCodaCore, updateTriplePredicate
-
Constructor Details
-
SKOS
public SKOS()
-
-
Method Details
-
getTopConcepts
@STServiceOperation @Read @PreAuthorize("@auth.isAuthorized(\'rdf(concept, taxonomy)\', \'R\')") public Collection<AnnotatedValue<org.eclipse.rdf4j.model.Resource>> getTopConcepts(@Optional @LocallyDefinedResources List<org.eclipse.rdf4j.model.IRI> schemes, @Optional(defaultValue="or") String schemeFilter, @Optional @LocallyDefinedResources List<org.eclipse.rdf4j.model.IRI> broaderProps, @Optional @LocallyDefinedResources List<org.eclipse.rdf4j.model.IRI> narrowerProps, @Optional(defaultValue="true") boolean includeSubProperties) Returns the list of top concepts- Parameters:
schemes
- an optional list of schemes. When passed, only concept being topConcept of one of the passed schemes will be returned. When not passed, all concepts not having a broader concept will be returnedschemeFilter
- how the scheme(s) should be considered, in 'or' or in 'and' ('or' is the default value)broaderProps
- an optional list of properties used as broader. When not passed, skos:broader will be usednarrowerProps
- an optional list of properties used as narrower. if skos:broader is passed as broaderProp and narrowerProp is null, then narrowerProp will have the value skos:narrowerincludeSubProperties
- if null or true, then all subProperty of broaderProp and narrowerProp will be used in the concept hierarchy- Returns:
-
countTopConcepts
@STServiceOperation @Read @PreAuthorize("@auth.isAuthorized(\'rdf(concept, taxonomy)\', \'R\')") public Integer countTopConcepts(@Optional @LocallyDefinedResources List<org.eclipse.rdf4j.model.IRI> schemes, @Optional(defaultValue="or") String schemeFilter, @Optional @LocallyDefinedResources List<org.eclipse.rdf4j.model.IRI> broaderProps, @Optional @LocallyDefinedResources List<org.eclipse.rdf4j.model.IRI> narrowerProps, @Optional(defaultValue="true") boolean includeSubProperties) -
getNarrowerConcepts
@STServiceOperation @Read @PreAuthorize("@auth.isAuthorized(\'rdf(concept, taxonomy)\', \'R\')") public Collection<AnnotatedValue<org.eclipse.rdf4j.model.Resource>> getNarrowerConcepts(@LocallyDefined org.eclipse.rdf4j.model.Resource concept, @Optional(defaultValue="or") String schemeFilter, @Optional @LocallyDefinedResources List<org.eclipse.rdf4j.model.IRI> schemes, @Optional @LocallyDefinedResources List<org.eclipse.rdf4j.model.IRI> broaderProps, @Optional @LocallyDefinedResources List<org.eclipse.rdf4j.model.IRI> narrowerProps, @Optional(defaultValue="true") boolean includeSubProperties) Returns the list of narrower concepts- Parameters:
concept
- the concept to which the returned concepts are the narrower ofschemes
- an optional list of schemes. When passed, only narrower concepts belonging to of one of the passed schemes will be returned. When not passed, all narrower concepts will be returnedschemeFilter
- how the scheme(s) should be considered, in 'or' or in 'and' ('or' is the default value)broaderProps
- an optional list of properties used as broader. When not passed, skos:broader will be usednarrowerProps
- an optional list of properties used as narrower. If skos:broader is passed as broaderProp and narrowerProp is null, then narrowerProp will have the value skos:narrowerincludeSubProperties
- if null or true, then all subProperty of broaderProp and narrowerProp will be used in the concept hierarchy- Returns:
-
getBroaderConcepts
@STServiceOperation @Read @PreAuthorize("@auth.isAuthorized(\'rdf(concept, taxonomy)\', \'R\')") public Collection<AnnotatedValue<org.eclipse.rdf4j.model.Resource>> getBroaderConcepts(@LocallyDefined org.eclipse.rdf4j.model.Resource concept, @Optional @LocallyDefinedResources List<org.eclipse.rdf4j.model.IRI> schemes, @Optional(defaultValue="or") String schemeFilter, @Optional @LocallyDefinedResources List<org.eclipse.rdf4j.model.IRI> broaderProps, @Optional @LocallyDefinedResources List<org.eclipse.rdf4j.model.IRI> narrowerProps, @Optional(defaultValue="true") boolean includeSubProperties) Returns the list of broader concepts- Parameters:
concept
- the concept to which the returned concepts are the broader ofschemes
- an optional list of schemes. When passed, only broader concepts belonging to of one of the passed schemes will be returned. When not passed, all broader concepts will be returnedschemeFilter
- how the scheme(s) should be considered, in 'or' or in 'and' ('or' is the default value)broaderProps
- an optional list of properties used as broader. When not passed, skos:broader will be usednarrowerProps
- an optional list of properties used as narrower. If skos:broader is passed as broaderProp and narrowerProp is null, then narrowerProp will have the value skos:narrowerincludeSubProperties
- if null or true, then all subProperty of broaderProp and narrowerProp will be used in the concept hierarchy- Returns:
-
getAllSchemes
@STServiceOperation @Read @PreAuthorize("@auth.isAuthorized(\'rdf(conceptScheme)\', \'R\')") public Collection<AnnotatedValue<org.eclipse.rdf4j.model.Resource>> getAllSchemes() -
getSchemesMatrixPerConcept
@STServiceOperation @Read @PreAuthorize("@auth.isAuthorized(\'rdf(concept, schemes)\', \'R\')") public Collection<AnnotatedValue<org.eclipse.rdf4j.model.Resource>> getSchemesMatrixPerConcept(@LocallyDefined org.eclipse.rdf4j.model.Resource concept) -
getCollectionsForConcept
@STServiceOperation @Read @PreAuthorize("@auth.isAuthorized(\'rdf(concept, skosCollection)\', \'R\')") public PredicateObjectsList getCollectionsForConcept(@LocallyDefined org.eclipse.rdf4j.model.Resource concept) -
getRootCollections
@STServiceOperation @Read @PreAuthorize("@auth.isAuthorized(\'rdf(skosCollection, taxonomy)\', \'R\')") public Collection<AnnotatedValue<org.eclipse.rdf4j.model.Resource>> getRootCollections() -
getNestedCollections
@STServiceOperation @Read @PreAuthorize("@auth.isAuthorized(\'rdf(skosCollection, taxonomy)\', \'R\')") public Collection<AnnotatedValue<org.eclipse.rdf4j.model.Resource>> getNestedCollections(@LocallyDefined org.eclipse.rdf4j.model.Resource container) -
getSuperCollections
@STServiceOperation @Read @PreAuthorize("@auth.isAuthorized(\'rdf(skosCollection, taxonomy)\', \'R\')") public Collection<AnnotatedValue<org.eclipse.rdf4j.model.Resource>> getSuperCollections(@LocallyDefined org.eclipse.rdf4j.model.Resource collection) -
failingReadServiceContainingUpdate
-
createConcept
@STServiceOperation(method=POST) @Write @PreAuthorize("@auth.isAuthorized(\'rdf(concept)\', \'{lang: \'\'\' +@auth.langof(#label)+ \'\'\'}\', \'C\')") @TermCreation(label="label", facet=NEW_CONCEPT) public AnnotatedValue<org.eclipse.rdf4j.model.IRI> createConcept(@Optional @NotLocallyDefined org.eclipse.rdf4j.model.IRI newConcept, @Optional @LanguageTaggedString @LanguageTaggedString org.eclipse.rdf4j.model.Literal label, @Optional @LocallyDefined @Selection org.eclipse.rdf4j.model.Resource broaderConcept, @LocallyDefinedResources @SchemeAssignment List<org.eclipse.rdf4j.model.IRI> conceptSchemes, @Optional @LocallyDefined @SubClassOf(superClassIRI="http://www.w3.org/2004/02/skos/core#Concept") org.eclipse.rdf4j.model.IRI conceptCls, @Optional CustomFormValue customFormValue, @Optional(defaultValue="true") boolean checkExistingAltLabel, @Optional @LocallyDefined org.eclipse.rdf4j.model.IRI broaderProp, @Optional(defaultValue="true") boolean checkExistingPrefLabel) throws URIGenerationException, CustomFormException, CODAException, UnsupportedLexicalizationModelException, PrefPrefLabelClashException, PrefAltLabelClashException - Parameters:
newConcept
- IRI of the new created concept. If not provided a random IRI is generated.label
- preferred label of the conceptbroaderConcept
- broader of the new created concept. If not provided the new concept will be a top conceptconceptSchemes
- concept schemes where the concept belongsconceptCls
- class type of the new created concept. It must be a subClassOf skos:Concept. If not provided the new concept will be simply a skos:ConceptbroaderProp
-checkExistingAltLabel
-customFormValue
-- Returns:
- Throws:
URIGenerationException
CustomFormException
CODAException
UnsupportedLexicalizationModelException
PrefPrefLabelClashException
PrefAltLabelClashException
-
createConceptScheme
@STServiceOperation(method=POST) @Write @PreAuthorize("@auth.isAuthorized(\'rdf(conceptScheme)\', \'{lang: \'\'\' +@auth.langof(#label)+ \'\'\'}\', \'C\')") public AnnotatedValue<org.eclipse.rdf4j.model.IRI> createConceptScheme(@Optional @NotLocallyDefined org.eclipse.rdf4j.model.IRI newScheme, @Optional @LanguageTaggedString @LanguageTaggedString org.eclipse.rdf4j.model.Literal label, @Optional @LocallyDefined @SubClassOf(superClassIRI="http://www.w3.org/2004/02/skos/core#ConceptScheme") org.eclipse.rdf4j.model.IRI schemeCls, @Optional CustomFormValue customFormValue, @Optional(defaultValue="true") boolean checkExistingAltLabel) throws URIGenerationException, CustomFormException, CODAException, UnsupportedLexicalizationModelException, PrefPrefLabelClashException, PrefAltLabelClashException -
setPrefLabel
@STServiceOperation(method=POST) @Write @PreAuthorize("@auth.isAuthorized(\'rdf(\' +@auth.typeof(#concept)+ \', lexicalization)\', \'{lang: \'\'\' +@auth.langof(#literal)+ \'\'\'}\', \'C\')") @DisplayName("set preferred label") @TermCreation(label="literal", concept="concept", facet=PREF_LABEL) public void setPrefLabel(@LocallyDefined @Modified org.eclipse.rdf4j.model.IRI concept, @LanguageTaggedString @LanguageTaggedString org.eclipse.rdf4j.model.Literal literal, @Optional(defaultValue="true") boolean checkExistingAltLabel, @Optional(defaultValue="true") boolean checkExistingPrefLabel) throws PrefPrefLabelClashException, PrefAltLabelClashException -
getAllSchemesForConcept
public static List<org.eclipse.rdf4j.model.IRI> getAllSchemesForConcept(org.eclipse.rdf4j.model.IRI concept, org.eclipse.rdf4j.repository.RepositoryConnection repoConnection) -
addAltLabel
@STServiceOperation(method=POST) @Write @PreAuthorize("@auth.isAuthorized(\'rdf(\' +@auth.typeof(#concept)+ \', lexicalization)\', \'{lang: \'\'\' +@auth.langof(#literal)+ \'\'\'}\', \'C\')") @DisplayName("add alternative label") @TermCreation(label="literal", concept="concept", facet=ALT_LABEL) public void addAltLabel(@LocallyDefined @Modified org.eclipse.rdf4j.model.IRI concept, @LanguageTaggedString @LanguageTaggedString org.eclipse.rdf4j.model.Literal literal) throws AltPrefLabelClashException - Throws:
AltPrefLabelClashException
-
addHiddenLabel
@STServiceOperation(method=POST) @Write @PreAuthorize("@auth.isAuthorized(\'rdf(\' +@auth.typeof(#concept)+ \', lexicalization)\', \'{lang: \'\'\' +@auth.langof(#literal)+ \'\'\'}\', \'C\')") @DisplayName("add hidden label") @TermCreation(label="literal", concept="concept", facet=HIDDEN_LABEL) public void addHiddenLabel(@LocallyDefined @Modified org.eclipse.rdf4j.model.IRI concept, @LanguageTaggedString @LanguageTaggedString org.eclipse.rdf4j.model.Literal literal) -
addBroaderConcept
@STServiceOperation(method=POST) @Write @PreAuthorize("@auth.isAuthorized(\'rdf(concept, taxonomy)\', \'C\')") public void addBroaderConcept(@LocallyDefined @Modified(role=concept) org.eclipse.rdf4j.model.IRI concept, @LocallyDefined org.eclipse.rdf4j.model.IRI broaderConcept, @Optional @LocallyDefined @SubPropertyOf(superPropertyIRI="http://www.w3.org/2004/02/skos/core#broader") org.eclipse.rdf4j.model.IRI broaderProp) -
addConceptToScheme
@STServiceOperation(method=POST) @Write @PreAuthorize("@auth.isAuthorized(\'rdf(concept, schemes)\', \'C\')") public void addConceptToScheme(@LocallyDefined @Modified(role=concept) org.eclipse.rdf4j.model.IRI concept, @LocallyDefined @SchemeAssignment org.eclipse.rdf4j.model.IRI scheme) -
addMultipleConceptsToScheme
@STServiceOperation(method=POST) @Write @PreAuthorize("@auth.isAuthorized(\'rdf(concept, schemes)\', \'C\')") public void addMultipleConceptsToScheme(@Optional @LocallyDefined org.eclipse.rdf4j.model.IRI rootConcept, @LocallyDefined @SchemeAssignment org.eclipse.rdf4j.model.IRI scheme, @Optional org.eclipse.rdf4j.model.IRI inSchemeProp, @Optional(defaultValue="true") boolean includeSubProperties, @Optional @LocallyDefinedResources List<org.eclipse.rdf4j.model.IRI> broaderProps, @Optional @LocallyDefinedResources List<org.eclipse.rdf4j.model.IRI> narrowerProps, @Optional @LocallyDefinedResources List<org.eclipse.rdf4j.model.IRI> filterSchemes, @Optional(defaultValue="true") boolean setTopConcept) -
addTopConcept
@STServiceOperation(method=POST) @Write @PreAuthorize("@auth.isAuthorized(\'rdf(concept, schemes)\', \'C\')") public void addTopConcept(@Modified(role=concept) org.eclipse.rdf4j.model.IRI concept, @LocallyDefined @SchemeAssignment org.eclipse.rdf4j.model.IRI scheme, @Optional @LocallyDefined @SubPropertyOf(superPropertyIRI="http://www.w3.org/2004/02/skos/core#topConceptOf") org.eclipse.rdf4j.model.IRI topConceptProp) -
addToCollection
@STServiceOperation(method=POST) @Write @PreAuthorize("@auth.isAuthorized(\'rdf(skosCollection)\', \'U\')") public void addToCollection(@LocallyDefined @Modified(role=skosCollection) org.eclipse.rdf4j.model.Resource collection, @LocallyDefined org.eclipse.rdf4j.model.Resource element) throws DeniedOperationException this service adds an element to a (unordered) collection.- Throws:
DeniedOperationException
-
addFirstToOrderedCollection
@STServiceOperation(method=POST) @Write @PreAuthorize("@auth.isAuthorized(\'rdf(skosCollection)\', \'U\')") public void addFirstToOrderedCollection(@LocallyDefined @Modified(role=skosCollection) org.eclipse.rdf4j.model.Resource collection, @LocallyDefined org.eclipse.rdf4j.model.Resource element) throws DeniedOperationException - Throws:
DeniedOperationException
-
addInPositionToOrderedCollection
@STServiceOperation(method=POST) @Write @PreAuthorize("@auth.isAuthorized(\'rdf(skosCollection)\', \'U\')") public void addInPositionToOrderedCollection(@LocallyDefined @Modified(role=skosCollection) org.eclipse.rdf4j.model.Resource collection, @LocallyDefined org.eclipse.rdf4j.model.Resource element, @Min(1L) @jakarta.validation.constraints.Min(1L) int index) throws DeniedOperationException - Throws:
DeniedOperationException
-
addLastToOrderedCollection
@STServiceOperation(method=POST) @Write @PreAuthorize("@auth.isAuthorized(\'rdf(skosCollection)\', \'U\')") public void addLastToOrderedCollection(@LocallyDefined @Modified(role=skosCollection) org.eclipse.rdf4j.model.Resource collection, @LocallyDefined org.eclipse.rdf4j.model.Resource element) throws DeniedOperationException - Throws:
DeniedOperationException
-
getFirstElemOfOrderedCollection
protected org.eclipse.rdf4j.model.Resource getFirstElemOfOrderedCollection(org.eclipse.rdf4j.model.Resource collection, org.eclipse.rdf4j.repository.RepositoryConnection repoConnection) -
fixOrderedCollectionIfHasNoMemberList
protected void fixOrderedCollectionIfHasNoMemberList(org.eclipse.rdf4j.model.Resource collection, org.eclipse.rdf4j.repository.RepositoryConnection repoConnection) -
hasElementInList
protected boolean hasElementInList(org.eclipse.rdf4j.model.Resource list, org.eclipse.rdf4j.model.Resource element, org.eclipse.rdf4j.repository.RepositoryConnection repoConnection) -
addFirstToOrderedCollection
protected void addFirstToOrderedCollection(org.eclipse.rdf4j.model.Resource element, org.eclipse.rdf4j.model.Resource collection, org.eclipse.rdf4j.repository.RepositoryConnection repoConnection, org.eclipse.rdf4j.model.Model modelAdditions, org.eclipse.rdf4j.model.Model modelRemovals) -
addInPositionToSKOSOrderedCollection
protected void addInPositionToSKOSOrderedCollection(org.eclipse.rdf4j.model.Resource list, org.eclipse.rdf4j.model.Resource element, org.eclipse.rdf4j.repository.RepositoryConnection repoConnection, int pos, org.eclipse.rdf4j.model.Model modelAdditions, org.eclipse.rdf4j.model.Model modelRemovals) -
createElementInList
protected org.eclipse.rdf4j.model.BNode createElementInList(org.eclipse.rdf4j.model.Value first, org.eclipse.rdf4j.model.Resource next, org.eclipse.rdf4j.repository.RepositoryConnection repoConnection, org.eclipse.rdf4j.model.Model modelAdditions) -
getLastElemInList
protected org.eclipse.rdf4j.model.Resource getLastElemInList(org.eclipse.rdf4j.model.Resource list, org.eclipse.rdf4j.repository.RepositoryConnection repoConnection) -
getPrevElem
protected org.eclipse.rdf4j.model.Resource getPrevElem(org.eclipse.rdf4j.model.Resource list, org.eclipse.rdf4j.model.Resource element, org.eclipse.rdf4j.repository.RepositoryConnection repoConnection) -
removeConceptFromScheme
@STServiceOperation(method=POST) @Write @PreAuthorize("@auth.isAuthorized(\'rdf(concept, schemes)\', \'D\')") public void removeConceptFromScheme(@LocallyDefined @Modified(role=concept) org.eclipse.rdf4j.model.IRI concept, org.eclipse.rdf4j.model.IRI scheme) -
removeTopConcept
@STServiceOperation(method=POST) @Write @PreAuthorize("@auth.isAuthorized(\'rdf(concept, schemes)\', \'D\')") public void removeTopConcept(@LocallyDefined @Modified(role=concept) org.eclipse.rdf4j.model.IRI concept, org.eclipse.rdf4j.model.IRI scheme) -
removePrefLabel
@STServiceOperation(method=POST) @Write @PreAuthorize("@auth.isAuthorized(\'rdf(\' +@auth.typeof(#concept)+ \', lexicalization)\', \'{lang: \'\'\' +@auth.langof(#literal)+ \'\'\'}\', \'D\')") public void removePrefLabel(@LocallyDefined @Modified org.eclipse.rdf4j.model.IRI concept, org.eclipse.rdf4j.model.Literal literal) -
removeAltLabel
@STServiceOperation(method=POST) @Write @PreAuthorize("@auth.isAuthorized(\'rdf(\' +@auth.typeof(#concept)+ \', lexicalization)\', \'{lang: \'\'\' +@auth.langof(#literal)+ \'\'\'}\', \'D\')") public void removeAltLabel(@LocallyDefined @Modified org.eclipse.rdf4j.model.IRI concept, org.eclipse.rdf4j.model.Literal literal) -
getAltLabels
@STServiceOperation @Read @PreAuthorize("@auth.isAuthorized(\'rdf(\' +@auth.typeof(#concept)+ \', lexicalization)\', \'R\')") public Collection<AnnotatedValue<org.eclipse.rdf4j.model.Literal>> getAltLabels(@LocallyDefined org.eclipse.rdf4j.model.IRI concept) -
removeBroaderConcept
@STServiceOperation(method=POST) @Write @PreAuthorize("@auth.isAuthorized(\'rdf(concept, taxonomy)\', \'D\')") public void removeBroaderConcept(@LocallyDefined @Modified(role=concept) org.eclipse.rdf4j.model.IRI concept, org.eclipse.rdf4j.model.IRI broaderConcept, @Optional @LocallyDefinedResources List<org.eclipse.rdf4j.model.IRI> broaderProps, @Optional @LocallyDefinedResources List<org.eclipse.rdf4j.model.IRI> narrowerProps) -
removeHiddenLabel
@STServiceOperation(method=POST) @Write @PreAuthorize("@auth.isAuthorized(\'rdf(\' +@auth.typeof(#concept)+ \', lexicalization)\', \'D\')") public void removeHiddenLabel(@LocallyDefined @Modified org.eclipse.rdf4j.model.IRI concept, org.eclipse.rdf4j.model.Literal literal) -
isSchemeEmpty
@STServiceOperation @Read @PreAuthorize("@auth.isAuthorized(\'rdf(conceptScheme)\', \'R\')") public Boolean isSchemeEmpty(@LocallyDefined org.eclipse.rdf4j.model.IRI scheme) Checks if a ConceptScheme is empty. Useful before deleting a ConceptScheme.- Parameters:
scheme
-- Returns:
-
deleteConceptScheme
@STServiceOperation(method=POST) @Write @PreAuthorize("@auth.isAuthorized(\'rdf(conceptScheme)\', \'D\')") public void deleteConceptScheme(@LocallyDefined @SchemeAssignment @Deleted org.eclipse.rdf4j.model.IRI scheme) Deletes a ConceptScheme- Parameters:
scheme
-
-
deleteConcept
@STServiceOperation(method=POST) @Write @PreAuthorize("@auth.isAuthorized(\'rdf(concept)\', \'D\')") public void deleteConcept(@LocallyDefined @Deleted org.eclipse.rdf4j.model.IRI concept) throws DeniedOperationException Deletes a Concept- Parameters:
concept
- the concept to be deleted- Throws:
DeniedOperationException
-
createCollection
@STServiceOperation(method=POST) @Write @PreAuthorize("@auth.isAuthorized(\'rdf(skosCollection)\', \'{lang: \'\'\' +@auth.langof(#label)+ \'\'\'}\', \'C\')") public AnnotatedValue<org.eclipse.rdf4j.model.Resource> createCollection(org.eclipse.rdf4j.model.IRI collectionType, @Optional @NotLocallyDefined org.eclipse.rdf4j.model.IRI newCollection, @Optional @LanguageTaggedString @LanguageTaggedString org.eclipse.rdf4j.model.Literal label, @Optional @LocallyDefined org.eclipse.rdf4j.model.IRI containingCollection, @Optional @LocallyDefined @SubClassOf(superClassIRI="http://www.w3.org/2004/02/skos/core#Collection") org.eclipse.rdf4j.model.IRI collectionCls, @Optional(defaultValue="false") boolean bnodeCreationMode, @Optional CustomFormValue customFormValue, @Optional(defaultValue="true") boolean checkExistingAltLabel) throws URIGenerationException, CustomFormException, CODAException, IllegalAccessException, UnsupportedLexicalizationModelException, PrefPrefLabelClashException, PrefAltLabelClashException -
deleteCollection
@STServiceOperation(method=POST) @Write @PreAuthorize("@auth.isAuthorized(\'rdf(skosCollection)\', \'D\')") public void deleteCollection(@LocallyDefined @Deleted org.eclipse.rdf4j.model.Resource collection) throws DeniedOperationException - Throws:
DeniedOperationException
-
deleteOrderedCollection
@STServiceOperation(method=POST) @Write @PreAuthorize("@auth.isAuthorized(\'rdf(skosCollection)\', \'D\')") public void deleteOrderedCollection(@LocallyDefined @Deleted org.eclipse.rdf4j.model.Resource collection) throws DeniedOperationException - Throws:
DeniedOperationException
-
removeFromCollection
@STServiceOperation(method=POST) @Write @PreAuthorize("@auth.isAuthorized(\'rdf(skosCollection)\', \'U\')") public void removeFromCollection(@LocallyDefined org.eclipse.rdf4j.model.Resource element, @Modified(role=skosCollection) @LocallyDefined org.eclipse.rdf4j.model.Resource collection) throws DeniedOperationException - Throws:
DeniedOperationException
-
removeFromOrderedCollection
@STServiceOperation(method=POST) @Write @PreAuthorize("@auth.isAuthorized(\'rdf(skosCollection)\', \'U\')") public void removeFromOrderedCollection(@LocallyDefined org.eclipse.rdf4j.model.Resource element, @Modified(role=skosCollection) @LocallyDefined org.eclipse.rdf4j.model.Resource collection) throws DeniedOperationException - Throws:
DeniedOperationException
-
addNote
@STServiceOperation(method=POST) @Write @PreAuthorize("@auth.isAuthorized(\'rdf(\' +@auth.typeof(#resource)+ \', notes)\', \'{lang: \'\'\' +@auth.langof(#value)+ \'\'\'}\',\'C\')") public void addNote(@LocallyDefined @Modified org.eclipse.rdf4j.model.Resource resource, @Optional @LocallyDefined @SubPropertyOf(superPropertyIRI="http://www.w3.org/2004/02/skos/core#note") org.eclipse.rdf4j.model.IRI predicate, SpecialValue value) throws CODAException Allows the addition of a note (plain or reified)- Parameters:
resource
-predicate
-value
-- Throws:
CODAException
-
removeNote
@STServiceOperation(method=POST) @Write @PreAuthorize("@auth.isAuthorized(\'rdf(\' +@auth.typeof(#resource)+ \', notes)\', \'{lang: \'\'\' +@auth.langof(#value)+ \'\'\'}\',\'D\')") public void removeNote(@LocallyDefined @Modified org.eclipse.rdf4j.model.Resource resource, @Optional @LocallyDefined @SubPropertyOf(superPropertyIRI="http://www.w3.org/2004/02/skos/core#note") org.eclipse.rdf4j.model.IRI predicate, @Deleted org.eclipse.rdf4j.model.Value value) throws it.uniroma2.art.coda.exception.parserexception.PRParserException Allows the deletion of a note (plain or reified)- Parameters:
resource
-predicate
-value
-- Throws:
it.uniroma2.art.coda.exception.parserexception.PRParserException
-
updateNote
@STServiceOperation(method=POST) @Write @PreAuthorize("@auth.isAuthorized(\'rdf(\' +@auth.typeof(#resource)+ \', notes)\', \'{lang: [\'\'\' +@auth.langof(#value)+ \'\'\', \'\'\' +@auth.langof(#newValue)+ \'\'\']}\',\'U\')") public void updateNote(@LocallyDefined @Modified org.eclipse.rdf4j.model.Resource resource, @Optional @LocallyDefined @SubPropertyOf(superPropertyIRI="http://www.w3.org/2004/02/skos/core#note") org.eclipse.rdf4j.model.IRI predicate, org.eclipse.rdf4j.model.Value value, org.eclipse.rdf4j.model.Value newValue) Allows the update of note (not reified through CustomForm)- Parameters:
resource
-predicate
-value
-newValue
-- Throws:
it.uniroma2.art.coda.exception.parserexception.PRParserException
-
updateNoteProperty
@STServiceOperation(method=POST) @Write @PreAuthorize("@auth.isAuthorized(\'rdf(\' +@auth.typeof(#resource)+ \', notes)\', \'{lang: \'\'\' +@auth.langof(#value)+ \'\'\'}\',\'U\')") public void updateNoteProperty(@LocallyDefined @Modified org.eclipse.rdf4j.model.Resource resource, @SubPropertyOf(superPropertyIRI="http://www.w3.org/2004/02/skos/core#note") org.eclipse.rdf4j.model.IRI property, @SubPropertyOf(superPropertyIRI="http://www.w3.org/2004/02/skos/core#note") org.eclipse.rdf4j.model.IRI newProperty, org.eclipse.rdf4j.model.Value value) -
generateConceptIRI
public org.eclipse.rdf4j.model.IRI generateConceptIRI(org.eclipse.rdf4j.model.Literal label, List<org.eclipse.rdf4j.model.IRI> schemes) throws URIGenerationException Generates a new URI for a SKOS concept, optionally given its accompanying preferred label and concept scheme. The actual generation of the URI is delegated toSTServiceAdapter.generateIRI(String, Map)
, which in turn invokes the current binding for the extension pointURIGenerator
. In the end, the URI generator will be provided with the following:concept
as thexRole
- a map of additional parameters consisting of
label
andscheme
(each, if notnull
)
- Parameters:
label
- the preferred label accompanying the concept (can benull
)schemes
- the schemes to which the concept is being attached at the moment of its creation (can benull
)- Returns:
- Throws:
URIGenerationException
-
generateConceptSchemeURI
public org.eclipse.rdf4j.model.IRI generateConceptSchemeURI(org.eclipse.rdf4j.model.Literal label) throws URIGenerationException Generates a new URI for a SKOS concept scheme, optionally given its accompanying preferred label.- Parameters:
label
- the preferred label accompanying the concept scheme (can benull
)- Returns:
- Throws:
URIGenerationException
-
generateCollectionURI
public org.eclipse.rdf4j.model.IRI generateCollectionURI(org.eclipse.rdf4j.model.Literal label) throws URIGenerationException Generates a new URI for a SKOS collection, optionally given its accompanying preferred label.- Parameters:
label
- the preferred label accompanying the collection (can benull
)- Returns:
- Throws:
URIGenerationException
-
generateXLabelIRI
public org.eclipse.rdf4j.model.IRI generateXLabelIRI(org.eclipse.rdf4j.model.Resource lexicalizedResource, org.eclipse.rdf4j.model.Literal lexicalForm, org.eclipse.rdf4j.model.IRI lexicalizationProperty) throws URIGenerationException Generates a new URI for a SKOSXL Label, based on the provided mandatory parameters. The actual generation of the URI is delegated toSTServiceAdapter.generateIRI(String, Map)
, which in turn invokes the current binding for the extension pointURIGenerator
. In the end, the URI generator will be provided with the following:xLabel
as thexRole
- a map of additional parameters consisting of
lexicalForm
,lexicalizedResource
andtype
(each, if notnull
)
All arguments should be not
null
, but in the end is the specific implementation of the extension point that would complain about the absence of one of these theoretically mandatory parameters.- Parameters:
lexicalForm
- the textual content of the labellexicalizedResource
- the resource to which the label will be attached tolexicalizationProperty
- the property used for attaching the label- Returns:
- Throws:
URIGenerationException
-
checkIfAddPrefLabelIsPossible
public static void checkIfAddPrefLabelIsPossible(org.eclipse.rdf4j.repository.RepositoryConnection repoConnection, org.eclipse.rdf4j.model.Literal newLabel, boolean newResource, List<org.eclipse.rdf4j.model.IRI> conceptSchemes, RDFResourceRole rdfResourceRole) throws PrefPrefLabelClashException - Throws:
PrefPrefLabelClashException
-
createTypeFilterPart
-
checkIfPrefAltLabelClash
public static void checkIfPrefAltLabelClash(org.eclipse.rdf4j.repository.RepositoryConnection repoConnection, org.eclipse.rdf4j.model.Literal newLabel, RDFResourceRole rdfResourceRole) throws PrefAltLabelClashException - Throws:
PrefAltLabelClashException
-
checkIfAddAltLabelIsPossible
public static void checkIfAddAltLabelIsPossible(org.eclipse.rdf4j.repository.RepositoryConnection repoConnection, org.eclipse.rdf4j.model.Literal newLabel, org.eclipse.rdf4j.model.Resource resource) throws AltPrefLabelClashException - Throws:
AltPrefLabelClashException
-
getHierachicalProps
-
getHierachicalProp
public static org.eclipse.rdf4j.model.IRI getHierachicalProp(org.eclipse.rdf4j.model.IRI broaderProps) -
getInverseOfHierachicalProp
public static List<org.eclipse.rdf4j.model.IRI> getInverseOfHierachicalProp(List<org.eclipse.rdf4j.model.IRI> broaderProps, List<org.eclipse.rdf4j.model.IRI> narrowerProps) return the inverse of the input broaderProp or null if it ha no inverse -
combinePathWithVarOrIri
-
combinePathWithVarOrIri
-
combinePathWithVarOrIri
-
combinePathWithVarOrIri
-
getSubClassesOfConcept
public static List<org.eclipse.rdf4j.model.IRI> getSubClassesOfConcept(org.eclipse.rdf4j.repository.RepositoryConnection conn) -
preparePropPathForHierarchicalForQuery
-
main
-