LibreOffice
LibreOffice 6.2 SDK API Reference
Public Member Functions | List of all members
XDocumentRepository Interface Reference

extends XRepository with document-specific functionality. More...

import"XDocumentRepository.idl";

Inheritance diagram for XDocumentRepository:
XRepository

Public Member Functions

void setStatementRDFa ([in] XResource Subject, [in] sequence< XURI > Predicates, [in] XMetadatable Object, [in] string RDFaContent, [in] XURI RDFaDatatype) raises ( com::sun::star::lang::IllegalArgumentException, RepositoryException )
 update the RDFa statement(s) that correspond to an ODF element in the repository. More...
 
void removeStatementRDFa ([in] XMetadatable Element) raises ( com::sun::star::lang::IllegalArgumentException, RepositoryException )
 remove the RDFa statement(s) that correspond to an ODF element from the repository. More...
 
com::sun::star::beans::Pair< sequence< Statement >, boolean > getStatementRDFa ([in] XMetadatable Element) raises ( com::sun::star::lang::IllegalArgumentException, RepositoryException )
 find the RDFa statement(s) associated with an ODF element. More...
 
com::sun::star::container::XEnumeration getStatementsRDFa ([in] XResource Subject, [in] XURI Predicate, [in] XNode Object) raises ( RepositoryException )
 gets matching RDFa statements from the repository. More...
 
- Public Member Functions inherited from XRepository
XBlankNode createBlankNode ()
 creates a fresh unique blank node. More...
 
XNamedGraph importGraph ([in] short Format, [in] com::sun::star::io::XInputStream InStream, [in] XURI GraphName, [in] XURI BaseURI) raises ( com::sun::star::lang::IllegalArgumentException, com::sun::star::datatransfer::UnsupportedFlavorException, com::sun::star::container::ElementExistException, ParseException, RepositoryException, com::sun::star::io::IOException )
 imports a named graph into the repository. More...
 
void exportGraph ([in] short Format, [in] com::sun::star::io::XOutputStream OutStream, [in] XURI GraphName, [in] XURI BaseURI) raises ( com::sun::star::lang::IllegalArgumentException, com::sun::star::datatransfer::UnsupportedFlavorException, com::sun::star::container::NoSuchElementException, RepositoryException, com::sun::star::io::IOException )
 exports a named graph from the repository. More...
 
sequence< XURIgetGraphNames () raises ( RepositoryException )
 gets the names of all the graphs in the repository. More...
 
XNamedGraph getGraph ([in] XURI GraphName) raises ( com::sun::star::lang::IllegalArgumentException, RepositoryException )
 gets a graph by its name. More...
 
XNamedGraph createGraph ([in] XURI GraphName) raises ( com::sun::star::lang::IllegalArgumentException, com::sun::star::container::ElementExistException, RepositoryException )
 creates a graph with the given name. More...
 
void destroyGraph ([in] XURI GraphName) raises ( com::sun::star::lang::IllegalArgumentException, com::sun::star::container::NoSuchElementException, RepositoryException )
 destroys the graph with the given name, and removes it from the repository. More...
 
com::sun::star::container::XEnumeration getStatements ([in] XResource Subject, [in] XURI Predicate, [in] XNode Object) raises ( RepositoryException )
 gets matching RDF statements from the repository. More...
 
XQuerySelectResult querySelect ([in] string Query) raises ( QueryException, RepositoryException )
 executes a SPARQL "SELECT" query. More...
 
com::sun::star::container::XEnumeration queryConstruct ([in] string Query) raises ( QueryException, RepositoryException )
 executes a SPARQL "CONSTRUCT" query. More...
 
boolean queryAsk ([in] string Query) raises ( QueryException, RepositoryException )
 executes a SPARQL "ASK" query. More...
 

Detailed Description

extends XRepository with document-specific functionality.

This subclass of XRepository provides some methods which only make sense for repositories that are attached to a document. For example, the methods allow for manipulating in-content metadata, which is stored as RDFa.

Since
OOo 3.2
See also
XRepositorySupplier
XDocumentMetadataAccess

Member Function Documentation

com::sun::star::beans::Pair< sequence<Statement>, boolean > getStatementRDFa ( [in] XMetadatable  Element)
raises ( com::sun::star::lang::IllegalArgumentException,
RepositoryException
)

find the RDFa statement(s) associated with an ODF element.

Parameters
Elementthe ODF element for which RDFa statements should be found
Returns
  • if the element has no RDFa meta-data attributes: the empty sequence.
  • if the element has RDFa meta-data attributes:
    • a sequence with the RDFa-statements corresponding to the attributes.
    • a flag indicating whether there is a xhtml:content attribute.
Exceptions
com::sun::star::lang::IllegalArgumentExceptionif the given Element is NULL, or of a type that can not have RDFa metadata attached.
RepositoryExceptionif an error occurs when accessing the repository.
See also
Statement
com::sun::star::container::XEnumeration getStatementsRDFa ( [in] XResource  Subject,
[in] XURI  Predicate,
[in] XNode  Object 
)
raises (RepositoryException
)

gets matching RDFa statements from the repository.

This method exists because RDFa statements are not part of any named graph, and thus they cannot be enumerated with XNamedGraph::getStatements().

Any parameter may be NULL, which acts as a wildcard. For example, to get all statements about myURI: getStatementsRDFa(myURI, null, null)

Parameters
Subjectthe subject of the RDF triple.
Predicatethe predicate of the RDF triple.
Objectthe object of the RDF triple.
Returns
an iterator over all RDFa statements in the repository that match the parameters, represented as an enumeration of Statement
Exceptions
RepositoryExceptionif an error occurs when accessing the repository.
See also
Statement
XRepository::getStatements
XNamedGraph::getStatements
void removeStatementRDFa ( [in] XMetadatable  Element)
raises ( com::sun::star::lang::IllegalArgumentException,
RepositoryException
)

remove the RDFa statement(s) that correspond to an ODF element from the repository.

RDFa statements are handled specially because they are not logically part of any graph.

Parameters
Elementthe element whose RDFa statement(s) should be removed
Exceptions
com::sun::star::lang::IllegalArgumentExceptionif the given Element is NULL, or of a type that can not have RDFa metadata attached.
RepositoryExceptionif an error occurs when accessing the repository.
void setStatementRDFa ( [in] XResource  Subject,
[in] sequence< XURI Predicates,
[in] XMetadatable  Object,
[in] string  RDFaContent,
[in] XURI  RDFaDatatype 
)
raises ( com::sun::star::lang::IllegalArgumentException,
RepositoryException
)

update the RDFa statement(s) that correspond to an ODF element in the repository.

This method will do the following steps:

  1. Remove all previously set RDFa statements for the Object parameter from the repository
  2. If the RDFaContent parameter is the empty string, for every Predicate in the given list of Predicates, add the following RDF statement to an unspecified named graph:
    • Subject Predicate XLiteral(Object->getText()^^RDFaDatatype)
  3. If the RDFaContent parameter is not the empty string, for every Predicate in the given list of Predicates, add the following RDF statement to an unspecified named graph:
    • Subject Predicate XLiteral(RDFaContent^^RDFaDatatype)

RDFa statements are handled specially because they are not logically part of any named graph in the repository. Also, they have rather unusual semantics; just using XNamedGraph::addStatement() would be ambiguous: if the object is a XMetadatable, do we insert the object itself (URI) or its literal content (RDFa)?

Parameters
Subjectthe subject of the RDF triple(s).
Predicatesthe predicates of the RDF triple(s).
Objectthe object of the RDF triple(s) is the text content of this parameter.
RDFaContentthe rdfa:content attribute (may be the empty string).
RDFaDatatypethe rdfa:datatype attribute (may be NULL)
Exceptions
com::sun::star::lang::IllegalArgumentExceptionif any parameter is NULL, Predicates is empty, or Object is of a type that can not have RDFa metadata attached.
RepositoryExceptionif an error occurs when accessing the repository.

The documentation for this interface was generated from the following file: