1*b1cdbd2cSJim Jagielski/************************************************************** 2*b1cdbd2cSJim Jagielski * 3*b1cdbd2cSJim Jagielski * Licensed to the Apache Software Foundation (ASF) under one 4*b1cdbd2cSJim Jagielski * or more contributor license agreements. See the NOTICE file 5*b1cdbd2cSJim Jagielski * distributed with this work for additional information 6*b1cdbd2cSJim Jagielski * regarding copyright ownership. The ASF licenses this file 7*b1cdbd2cSJim Jagielski * to you under the Apache License, Version 2.0 (the 8*b1cdbd2cSJim Jagielski * "License"); you may not use this file except in compliance 9*b1cdbd2cSJim Jagielski * with the License. You may obtain a copy of the License at 10*b1cdbd2cSJim Jagielski * 11*b1cdbd2cSJim Jagielski * http://www.apache.org/licenses/LICENSE-2.0 12*b1cdbd2cSJim Jagielski * 13*b1cdbd2cSJim Jagielski * Unless required by applicable law or agreed to in writing, 14*b1cdbd2cSJim Jagielski * software distributed under the License is distributed on an 15*b1cdbd2cSJim Jagielski * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16*b1cdbd2cSJim Jagielski * KIND, either express or implied. See the License for the 17*b1cdbd2cSJim Jagielski * specific language governing permissions and limitations 18*b1cdbd2cSJim Jagielski * under the License. 19*b1cdbd2cSJim Jagielski * 20*b1cdbd2cSJim Jagielski *************************************************************/ 21*b1cdbd2cSJim Jagielski 22*b1cdbd2cSJim Jagielski 23*b1cdbd2cSJim Jagielski 24*b1cdbd2cSJim Jagielski#ifndef __com_sun_star_rdf_XRepository_idl__ 25*b1cdbd2cSJim Jagielski#define __com_sun_star_rdf_XRepository_idl__ 26*b1cdbd2cSJim Jagielski 27*b1cdbd2cSJim Jagielski#ifndef __com_sun_star_lang_IllegalArgumentException_idl__ 28*b1cdbd2cSJim Jagielski#include <com/sun/star/lang/IllegalArgumentException.idl> 29*b1cdbd2cSJim Jagielski#endif 30*b1cdbd2cSJim Jagielski 31*b1cdbd2cSJim Jagielski#ifndef __com_sun_star_container_ElementExistException_idl__ 32*b1cdbd2cSJim Jagielski#include <com/sun/star/container/ElementExistException.idl> 33*b1cdbd2cSJim Jagielski#endif 34*b1cdbd2cSJim Jagielski 35*b1cdbd2cSJim Jagielski#ifndef __com_sun_star_container_NoSuchElementException_idl__ 36*b1cdbd2cSJim Jagielski#include <com/sun/star/container/NoSuchElementException.idl> 37*b1cdbd2cSJim Jagielski#endif 38*b1cdbd2cSJim Jagielski 39*b1cdbd2cSJim Jagielski#ifndef __com_sun_star_container_XEnumeration_idl__ 40*b1cdbd2cSJim Jagielski#include <com/sun/star/container/XEnumeration.idl> 41*b1cdbd2cSJim Jagielski#endif 42*b1cdbd2cSJim Jagielski 43*b1cdbd2cSJim Jagielski#ifndef __com_sun_star_io_IOException_idl__ 44*b1cdbd2cSJim Jagielski#include <com/sun/star/io/IOException.idl> 45*b1cdbd2cSJim Jagielski#endif 46*b1cdbd2cSJim Jagielski 47*b1cdbd2cSJim Jagielski#ifndef __com_sun_star_io_XInputStream_idl__ 48*b1cdbd2cSJim Jagielski#include <com/sun/star/io/XInputStream.idl> 49*b1cdbd2cSJim Jagielski#endif 50*b1cdbd2cSJim Jagielski 51*b1cdbd2cSJim Jagielski#ifndef __com_sun_star_io_XOutputStream_idl__ 52*b1cdbd2cSJim Jagielski#include <com/sun/star/io/XOutputStream.idl> 53*b1cdbd2cSJim Jagielski#endif 54*b1cdbd2cSJim Jagielski 55*b1cdbd2cSJim Jagielski#ifndef __com_sun_star_datatransfer_UnsupportedFlavorException_idl__ 56*b1cdbd2cSJim Jagielski#include <com/sun/star/datatransfer/UnsupportedFlavorException.idl> 57*b1cdbd2cSJim Jagielski#endif 58*b1cdbd2cSJim Jagielski 59*b1cdbd2cSJim Jagielski#ifndef __com_sun_star_rdf_FileFormat_idl__ 60*b1cdbd2cSJim Jagielski#include <com/sun/star/rdf/FileFormat.idl> 61*b1cdbd2cSJim Jagielski#endif 62*b1cdbd2cSJim Jagielski 63*b1cdbd2cSJim Jagielski#ifndef __com_sun_star_rdf_ParseException_idl__ 64*b1cdbd2cSJim Jagielski#include <com/sun/star/rdf/ParseException.idl> 65*b1cdbd2cSJim Jagielski#endif 66*b1cdbd2cSJim Jagielski 67*b1cdbd2cSJim Jagielski#ifndef __com_sun_star_rdf_QueryException_idl__ 68*b1cdbd2cSJim Jagielski#include <com/sun/star/rdf/QueryException.idl> 69*b1cdbd2cSJim Jagielski#endif 70*b1cdbd2cSJim Jagielski 71*b1cdbd2cSJim Jagielski#ifndef __com_sun_star_rdf_RepositoryException_idl__ 72*b1cdbd2cSJim Jagielski#include <com/sun/star/rdf/RepositoryException.idl> 73*b1cdbd2cSJim Jagielski#endif 74*b1cdbd2cSJim Jagielski 75*b1cdbd2cSJim Jagielski#ifndef __com_sun_star_rdf_XBlankNode_idl__ 76*b1cdbd2cSJim Jagielski#include <com/sun/star/rdf/XBlankNode.idl> 77*b1cdbd2cSJim Jagielski#endif 78*b1cdbd2cSJim Jagielski 79*b1cdbd2cSJim Jagielski#ifndef __com_sun_star_rdf_XURI_idl__ 80*b1cdbd2cSJim Jagielski#include <com/sun/star/rdf/XURI.idl> 81*b1cdbd2cSJim Jagielski#endif 82*b1cdbd2cSJim Jagielski 83*b1cdbd2cSJim Jagielski#ifndef __com_sun_star_rdf_Statement_idl__ 84*b1cdbd2cSJim Jagielski#include <com/sun/star/rdf/Statement.idl> 85*b1cdbd2cSJim Jagielski#endif 86*b1cdbd2cSJim Jagielski 87*b1cdbd2cSJim Jagielski#ifndef __com_sun_star_rdf_XQuerySelectResult_idl__ 88*b1cdbd2cSJim Jagielski#include <com/sun/star/rdf/XQuerySelectResult.idl> 89*b1cdbd2cSJim Jagielski#endif 90*b1cdbd2cSJim Jagielski 91*b1cdbd2cSJim Jagielski#ifndef __com_sun_star_rdf_XNamedGraph_idl__ 92*b1cdbd2cSJim Jagielski#include <com/sun/star/rdf/XNamedGraph.idl> 93*b1cdbd2cSJim Jagielski#endif 94*b1cdbd2cSJim Jagielski 95*b1cdbd2cSJim Jagielski 96*b1cdbd2cSJim Jagielski//============================================================================= 97*b1cdbd2cSJim Jagielski 98*b1cdbd2cSJim Jagielskimodule com { module sun { module star { module rdf { 99*b1cdbd2cSJim Jagielski 100*b1cdbd2cSJim Jagielski//============================================================================= 101*b1cdbd2cSJim Jagielski/** provides access to a set of named RDF graphs. 102*b1cdbd2cSJim Jagielski 103*b1cdbd2cSJim Jagielski <p> 104*b1cdbd2cSJim Jagielski A repository for storing information according to the data model of the 105*b1cdbd2cSJim Jagielski <a href="http://www.w3.org/RDF/">Resource Description Framework</a>. 106*b1cdbd2cSJim Jagielski This interface may be used e.g. for repositories that correspond to a 107*b1cdbd2cSJim Jagielski loaded ODF document, or for repositories that are backed by some kind of 108*b1cdbd2cSJim Jagielski database. 109*b1cdbd2cSJim Jagielski </p> 110*b1cdbd2cSJim Jagielski <p> 111*b1cdbd2cSJim Jagielski The RDF triples are stored as a set of named RDF graphs. 112*b1cdbd2cSJim Jagielski Importing and exporting files in the 113*b1cdbd2cSJim Jagielski <a href="http://www.w3.org/TR/rdf-syntax-grammar/">RDF/XML</a> 114*b1cdbd2cSJim Jagielski format is supported. 115*b1cdbd2cSJim Jagielski Support for other file formats is optional. 116*b1cdbd2cSJim Jagielski Support for querying the repository with the 117*b1cdbd2cSJim Jagielski <a href="http://www.w3.org/TR/rdf-sparql-query/">SPARQL</a> 118*b1cdbd2cSJim Jagielski query language is provided. 119*b1cdbd2cSJim Jagielski </p> 120*b1cdbd2cSJim Jagielski 121*b1cdbd2cSJim Jagielski 122*b1cdbd2cSJim Jagielski @since OpenOffice 3.2 123*b1cdbd2cSJim Jagielski 124*b1cdbd2cSJim Jagielski @see XRepositorySupplier 125*b1cdbd2cSJim Jagielski @see XDocumentRepository 126*b1cdbd2cSJim Jagielski */ 127*b1cdbd2cSJim Jagielskiinterface XRepository 128*b1cdbd2cSJim Jagielski{ 129*b1cdbd2cSJim Jagielski 130*b1cdbd2cSJim Jagielski //------------------------------------------------------------------------- 131*b1cdbd2cSJim Jagielski /** creates a fresh unique blank node. 132*b1cdbd2cSJim Jagielski 133*b1cdbd2cSJim Jagielski @returns 134*b1cdbd2cSJim Jagielski a newly generated blank node which is unique in this repository 135*b1cdbd2cSJim Jagielski */ 136*b1cdbd2cSJim Jagielski XBlankNode createBlankNode(); 137*b1cdbd2cSJim Jagielski 138*b1cdbd2cSJim Jagielski 139*b1cdbd2cSJim Jagielski //------------------------------------------------------------------------- 140*b1cdbd2cSJim Jagielski /** imports a named graph into the repository. 141*b1cdbd2cSJim Jagielski 142*b1cdbd2cSJim Jagielski <p> 143*b1cdbd2cSJim Jagielski Implementations must support RDF/XML format. 144*b1cdbd2cSJim Jagielski Support for other RDF formats is optional. 145*b1cdbd2cSJim Jagielski If the format is not supported by the implementation, an 146*b1cdbd2cSJim Jagielski <type scope="com::sun::star::datatransfer">UnsupportedFlavorException 147*b1cdbd2cSJim Jagielski </type> is raised. 148*b1cdbd2cSJim Jagielski If the format requires use of a BaseURI, but none is given, an 149*b1cdbd2cSJim Jagielski <type scope="com::sun::star::lang">IllegalArgumentException</type> 150*b1cdbd2cSJim Jagielski is raised. 151*b1cdbd2cSJim Jagielski </p> 152*b1cdbd2cSJim Jagielski 153*b1cdbd2cSJim Jagielski @param Format 154*b1cdbd2cSJim Jagielski the format of the input file 155*b1cdbd2cSJim Jagielski 156*b1cdbd2cSJim Jagielski @param InStream 157*b1cdbd2cSJim Jagielski the input stream, containing an RDF file in the specified format 158*b1cdbd2cSJim Jagielski 159*b1cdbd2cSJim Jagielski @param GraphName 160*b1cdbd2cSJim Jagielski the name of the graph that is imported 161*b1cdbd2cSJim Jagielski 162*b1cdbd2cSJim Jagielski @param BaseURI 163*b1cdbd2cSJim Jagielski a base URI to resolve relative URI references 164*b1cdbd2cSJim Jagielski 165*b1cdbd2cSJim Jagielski @returns 166*b1cdbd2cSJim Jagielski the imported graph 167*b1cdbd2cSJim Jagielski 168*b1cdbd2cSJim Jagielski @throws com::sun::star::lang::IllegalArgumentException 169*b1cdbd2cSJim Jagielski if the given stream or the GraphName is <NULL/>, 170*b1cdbd2cSJim Jagielski or BaseURI is <NULL/> and the format requires use of a base URI 171*b1cdbd2cSJim Jagielski 172*b1cdbd2cSJim Jagielski @throws com::sun::star::datatransfer::UnsupportedFlavorException 173*b1cdbd2cSJim Jagielski if the format requested is unknown or not supported 174*b1cdbd2cSJim Jagielski 175*b1cdbd2cSJim Jagielski @throws com::sun::star::container::ElementExistException 176*b1cdbd2cSJim Jagielski if a graph with the given GraphName already exists in the 177*b1cdbd2cSJim Jagielski repository 178*b1cdbd2cSJim Jagielski 179*b1cdbd2cSJim Jagielski @throws ParseException 180*b1cdbd2cSJim Jagielski if the input does not conform to the specified file format. 181*b1cdbd2cSJim Jagielski 182*b1cdbd2cSJim Jagielski @throws RepositoryException 183*b1cdbd2cSJim Jagielski if an error occurs when accessing the repository. 184*b1cdbd2cSJim Jagielski 185*b1cdbd2cSJim Jagielski @throws com::sun::star::io::IOException 186*b1cdbd2cSJim Jagielski if an I/O error occurs. 187*b1cdbd2cSJim Jagielski 188*b1cdbd2cSJim Jagielski @see FileFormat 189*b1cdbd2cSJim Jagielski */ 190*b1cdbd2cSJim Jagielski XNamedGraph importGraph([in] /*FileFormat*/ short Format, 191*b1cdbd2cSJim Jagielski [in] com::sun::star::io::XInputStream InStream, 192*b1cdbd2cSJim Jagielski [in] XURI GraphName, [in] XURI BaseURI) 193*b1cdbd2cSJim Jagielski raises( com::sun::star::lang::IllegalArgumentException, 194*b1cdbd2cSJim Jagielski com::sun::star::datatransfer::UnsupportedFlavorException, 195*b1cdbd2cSJim Jagielski com::sun::star::container::ElementExistException, 196*b1cdbd2cSJim Jagielski ParseException, 197*b1cdbd2cSJim Jagielski RepositoryException, 198*b1cdbd2cSJim Jagielski com::sun::star::io::IOException ); 199*b1cdbd2cSJim Jagielski 200*b1cdbd2cSJim Jagielski //------------------------------------------------------------------------- 201*b1cdbd2cSJim Jagielski /** exports a named graph from the repository. 202*b1cdbd2cSJim Jagielski 203*b1cdbd2cSJim Jagielski <p> 204*b1cdbd2cSJim Jagielski Implementations must support RDF/XML format. 205*b1cdbd2cSJim Jagielski Support for other RDF formats is optional. 206*b1cdbd2cSJim Jagielski If the format is not supported by the implementation, an 207*b1cdbd2cSJim Jagielski <type scope="com::sun::star::datatransfer">UnsupportedFlavorException 208*b1cdbd2cSJim Jagielski </type> is raised. 209*b1cdbd2cSJim Jagielski </p> 210*b1cdbd2cSJim Jagielski 211*b1cdbd2cSJim Jagielski @param Format 212*b1cdbd2cSJim Jagielski the format of the output file 213*b1cdbd2cSJim Jagielski 214*b1cdbd2cSJim Jagielski @param OutStream 215*b1cdbd2cSJim Jagielski the target output stream 216*b1cdbd2cSJim Jagielski 217*b1cdbd2cSJim Jagielski @param GraphName 218*b1cdbd2cSJim Jagielski the name of the graph that is to be exported 219*b1cdbd2cSJim Jagielski 220*b1cdbd2cSJim Jagielski @param BaseURI 221*b1cdbd2cSJim Jagielski a base URI to resolve relative URI references 222*b1cdbd2cSJim Jagielski 223*b1cdbd2cSJim Jagielski @throws com::sun::star::lang::IllegalArgumentException 224*b1cdbd2cSJim Jagielski if the given stream or the GraphName is <NULL/>, 225*b1cdbd2cSJim Jagielski or BaseURI is <NULL/> and the format requires use of a base URI 226*b1cdbd2cSJim Jagielski 227*b1cdbd2cSJim Jagielski @throws com::sun::star::datatransfer::UnsupportedFlavorException 228*b1cdbd2cSJim Jagielski if the format requested is unknown or not supported 229*b1cdbd2cSJim Jagielski 230*b1cdbd2cSJim Jagielski @throws com::sun::star::container::NoSuchElementException 231*b1cdbd2cSJim Jagielski if a graph with the given GraphName does not exist 232*b1cdbd2cSJim Jagielski 233*b1cdbd2cSJim Jagielski @throws RepositoryException 234*b1cdbd2cSJim Jagielski if an error occurs when accessing the repository. 235*b1cdbd2cSJim Jagielski 236*b1cdbd2cSJim Jagielski @throws com::sun::star::io::IOException 237*b1cdbd2cSJim Jagielski if an I/O error occurs. 238*b1cdbd2cSJim Jagielski 239*b1cdbd2cSJim Jagielski @see FileFormat 240*b1cdbd2cSJim Jagielski */ 241*b1cdbd2cSJim Jagielski void exportGraph([in] /*FileFormat*/ short Format, 242*b1cdbd2cSJim Jagielski [in] com::sun::star::io::XOutputStream OutStream, 243*b1cdbd2cSJim Jagielski [in] XURI GraphName, [in] XURI BaseURI) 244*b1cdbd2cSJim Jagielski raises( com::sun::star::lang::IllegalArgumentException, 245*b1cdbd2cSJim Jagielski com::sun::star::datatransfer::UnsupportedFlavorException, 246*b1cdbd2cSJim Jagielski com::sun::star::container::NoSuchElementException, 247*b1cdbd2cSJim Jagielski RepositoryException, 248*b1cdbd2cSJim Jagielski com::sun::star::io::IOException ); 249*b1cdbd2cSJim Jagielski 250*b1cdbd2cSJim Jagielski //------------------------------------------------------------------------- 251*b1cdbd2cSJim Jagielski /** gets the names of all the graphs in the repository. 252*b1cdbd2cSJim Jagielski 253*b1cdbd2cSJim Jagielski @returns 254*b1cdbd2cSJim Jagielski a list containing the names of the graphs in the repository 255*b1cdbd2cSJim Jagielski 256*b1cdbd2cSJim Jagielski @throws RepositoryException 257*b1cdbd2cSJim Jagielski if an error occurs when accessing the repository. 258*b1cdbd2cSJim Jagielski */ 259*b1cdbd2cSJim Jagielski sequence<XURI> getGraphNames() 260*b1cdbd2cSJim Jagielski raises( RepositoryException ); 261*b1cdbd2cSJim Jagielski 262*b1cdbd2cSJim Jagielski //------------------------------------------------------------------------- 263*b1cdbd2cSJim Jagielski /** gets a graph by its name. 264*b1cdbd2cSJim Jagielski 265*b1cdbd2cSJim Jagielski @param GraphName 266*b1cdbd2cSJim Jagielski the name of the graph that is to be returned 267*b1cdbd2cSJim Jagielski 268*b1cdbd2cSJim Jagielski @returns 269*b1cdbd2cSJim Jagielski the graph with the given name if it exists, else <NULL/> 270*b1cdbd2cSJim Jagielski 271*b1cdbd2cSJim Jagielski @throws com::sun::star::lang::IllegalArgumentException 272*b1cdbd2cSJim Jagielski if the given GraphName is invalid 273*b1cdbd2cSJim Jagielski 274*b1cdbd2cSJim Jagielski @throws RepositoryException 275*b1cdbd2cSJim Jagielski if an error occurs when accessing the repository. 276*b1cdbd2cSJim Jagielski */ 277*b1cdbd2cSJim Jagielski XNamedGraph getGraph([in] XURI GraphName) 278*b1cdbd2cSJim Jagielski raises( com::sun::star::lang::IllegalArgumentException, 279*b1cdbd2cSJim Jagielski RepositoryException ); 280*b1cdbd2cSJim Jagielski 281*b1cdbd2cSJim Jagielski //------------------------------------------------------------------------- 282*b1cdbd2cSJim Jagielski /** creates a graph with the given name. 283*b1cdbd2cSJim Jagielski 284*b1cdbd2cSJim Jagielski <p> 285*b1cdbd2cSJim Jagielski The name must be unique within the repository. 286*b1cdbd2cSJim Jagielski </p> 287*b1cdbd2cSJim Jagielski 288*b1cdbd2cSJim Jagielski @param GraphName 289*b1cdbd2cSJim Jagielski the name of the graph that is to be created 290*b1cdbd2cSJim Jagielski 291*b1cdbd2cSJim Jagielski @returns 292*b1cdbd2cSJim Jagielski the graph with the given name 293*b1cdbd2cSJim Jagielski 294*b1cdbd2cSJim Jagielski @throws com::sun::star::lang::IllegalArgumentException 295*b1cdbd2cSJim Jagielski if the given GraphName is invalid 296*b1cdbd2cSJim Jagielski 297*b1cdbd2cSJim Jagielski @throws com::sun::star::container::ElementExistException 298*b1cdbd2cSJim Jagielski if a graph with the given GraphName already exists 299*b1cdbd2cSJim Jagielski 300*b1cdbd2cSJim Jagielski @throws RepositoryException 301*b1cdbd2cSJim Jagielski if an error occurs when accessing the repository. 302*b1cdbd2cSJim Jagielski */ 303*b1cdbd2cSJim Jagielski XNamedGraph createGraph([in] XURI GraphName) 304*b1cdbd2cSJim Jagielski raises( com::sun::star::lang::IllegalArgumentException, 305*b1cdbd2cSJim Jagielski com::sun::star::container::ElementExistException, 306*b1cdbd2cSJim Jagielski RepositoryException ); 307*b1cdbd2cSJim Jagielski 308*b1cdbd2cSJim Jagielski //------------------------------------------------------------------------- 309*b1cdbd2cSJim Jagielski /** destroys the graph with the given name, and removes it from the 310*b1cdbd2cSJim Jagielski repository. 311*b1cdbd2cSJim Jagielski 312*b1cdbd2cSJim Jagielski <p> 313*b1cdbd2cSJim Jagielski This invalidates any instances of <type>XNamedGraph</type> 314*b1cdbd2cSJim Jagielski for the argument. 315*b1cdbd2cSJim Jagielski </p> 316*b1cdbd2cSJim Jagielski 317*b1cdbd2cSJim Jagielski @param GraphName 318*b1cdbd2cSJim Jagielski the name of the graph that is to be destroyed 319*b1cdbd2cSJim Jagielski 320*b1cdbd2cSJim Jagielski @throws com::sun::star::lang::IllegalArgumentException 321*b1cdbd2cSJim Jagielski if the given GraphName is invalid 322*b1cdbd2cSJim Jagielski 323*b1cdbd2cSJim Jagielski @throws com::sun::star::container::NoSuchElementException 324*b1cdbd2cSJim Jagielski if a graph with the given GraphName does not exist 325*b1cdbd2cSJim Jagielski 326*b1cdbd2cSJim Jagielski @throws RepositoryException 327*b1cdbd2cSJim Jagielski if an error occurs when accessing the repository. 328*b1cdbd2cSJim Jagielski */ 329*b1cdbd2cSJim Jagielski void destroyGraph([in] XURI GraphName) 330*b1cdbd2cSJim Jagielski raises( com::sun::star::lang::IllegalArgumentException, 331*b1cdbd2cSJim Jagielski com::sun::star::container::NoSuchElementException, 332*b1cdbd2cSJim Jagielski RepositoryException ); 333*b1cdbd2cSJim Jagielski 334*b1cdbd2cSJim Jagielski //------------------------------------------------------------------------- 335*b1cdbd2cSJim Jagielski /** gets matching RDF statements from the repository. 336*b1cdbd2cSJim Jagielski 337*b1cdbd2cSJim Jagielski <p> 338*b1cdbd2cSJim Jagielski Any parameter may be <NULL/>, which acts as a wildcard. 339*b1cdbd2cSJim Jagielski For example, to get all statements about myURI: 340*b1cdbd2cSJim Jagielski <code>getStatements(myURI, null, null)</code> 341*b1cdbd2cSJim Jagielski </p> 342*b1cdbd2cSJim Jagielski 343*b1cdbd2cSJim Jagielski @param Subject 344*b1cdbd2cSJim Jagielski the subject of the RDF triple. 345*b1cdbd2cSJim Jagielski 346*b1cdbd2cSJim Jagielski @param Predicate 347*b1cdbd2cSJim Jagielski the predicate of the RDF triple. 348*b1cdbd2cSJim Jagielski 349*b1cdbd2cSJim Jagielski @param Object 350*b1cdbd2cSJim Jagielski the object of the RDF triple. 351*b1cdbd2cSJim Jagielski 352*b1cdbd2cSJim Jagielski @returns 353*b1cdbd2cSJim Jagielski an iterator over all RDF statements in the repository that match 354*b1cdbd2cSJim Jagielski the parameters, represented as an 355*b1cdbd2cSJim Jagielski enumeration of <type>Statement</type> 356*b1cdbd2cSJim Jagielski 357*b1cdbd2cSJim Jagielski @throws RepositoryException 358*b1cdbd2cSJim Jagielski if an error occurs when accessing the repository. 359*b1cdbd2cSJim Jagielski 360*b1cdbd2cSJim Jagielski @see Statement 361*b1cdbd2cSJim Jagielski @see XNamedGraph::getStatements 362*b1cdbd2cSJim Jagielski */ 363*b1cdbd2cSJim Jagielski com::sun::star::container::XEnumeration/*<Statement>*/ getStatements( 364*b1cdbd2cSJim Jagielski [in] XResource Subject, 365*b1cdbd2cSJim Jagielski [in] XURI Predicate, 366*b1cdbd2cSJim Jagielski [in] XNode Object) 367*b1cdbd2cSJim Jagielski raises( RepositoryException ); 368*b1cdbd2cSJim Jagielski 369*b1cdbd2cSJim Jagielski 370*b1cdbd2cSJim Jagielski //------------------------------------------------------------------------- 371*b1cdbd2cSJim Jagielski /** executes a SPARQL "SELECT" query. 372*b1cdbd2cSJim Jagielski 373*b1cdbd2cSJim Jagielski <p> 374*b1cdbd2cSJim Jagielski This method runs a SPARQL query that returns a list of variable 375*b1cdbd2cSJim Jagielski bindings, i.e., a query beginning with "SELECT". 376*b1cdbd2cSJim Jagielski The result is basically a (rectangular) table with labeled columns, 377*b1cdbd2cSJim Jagielski where individual cells may be <NULL/>. 378*b1cdbd2cSJim Jagielski </p> 379*b1cdbd2cSJim Jagielski 380*b1cdbd2cSJim Jagielski @param Query 381*b1cdbd2cSJim Jagielski the SPARQL query <atom>string</atom> 382*b1cdbd2cSJim Jagielski 383*b1cdbd2cSJim Jagielski @returns 384*b1cdbd2cSJim Jagielski an enumeration, containing 385*b1cdbd2cSJim Jagielski <ol> 386*b1cdbd2cSJim Jagielski <li>a list of query variable names (column labels)</li> 387*b1cdbd2cSJim Jagielski <li>the query results (rows), 388*b1cdbd2cSJim Jagielski each being a list of bindings for the above variables</li> 389*b1cdbd2cSJim Jagielski </ol> 390*b1cdbd2cSJim Jagielski 391*b1cdbd2cSJim Jagielski @throws QueryException 392*b1cdbd2cSJim Jagielski if the query is malformed, or evaluation fails 393*b1cdbd2cSJim Jagielski 394*b1cdbd2cSJim Jagielski @throws RepositoryException 395*b1cdbd2cSJim Jagielski if an error occurs when accessing the repository. 396*b1cdbd2cSJim Jagielski 397*b1cdbd2cSJim Jagielski @see XQuerySelectResult 398*b1cdbd2cSJim Jagielski */ 399*b1cdbd2cSJim Jagielski XQuerySelectResult querySelect([in] string Query) 400*b1cdbd2cSJim Jagielski raises( QueryException, 401*b1cdbd2cSJim Jagielski RepositoryException ); 402*b1cdbd2cSJim Jagielski 403*b1cdbd2cSJim Jagielski //------------------------------------------------------------------------- 404*b1cdbd2cSJim Jagielski /** executes a SPARQL "CONSTRUCT" query. 405*b1cdbd2cSJim Jagielski 406*b1cdbd2cSJim Jagielski <p> 407*b1cdbd2cSJim Jagielski This method runs a SPARQL query that constructs a result graph, 408*b1cdbd2cSJim Jagielski i.e., a query beginning with "CONSTRUCT". 409*b1cdbd2cSJim Jagielski </p> 410*b1cdbd2cSJim Jagielski 411*b1cdbd2cSJim Jagielski @param Query 412*b1cdbd2cSJim Jagielski the SPARQL query <atom>string</atom> 413*b1cdbd2cSJim Jagielski 414*b1cdbd2cSJim Jagielski @returns 415*b1cdbd2cSJim Jagielski an iterator over the query result graph, represented as an 416*b1cdbd2cSJim Jagielski enumeration of <type>Statement</type> 417*b1cdbd2cSJim Jagielski 418*b1cdbd2cSJim Jagielski @throws QueryException 419*b1cdbd2cSJim Jagielski if the query is malformed, or evaluation fails 420*b1cdbd2cSJim Jagielski 421*b1cdbd2cSJim Jagielski @throws RepositoryException 422*b1cdbd2cSJim Jagielski if an error occurs when accessing the repository. 423*b1cdbd2cSJim Jagielski 424*b1cdbd2cSJim Jagielski @see Statement 425*b1cdbd2cSJim Jagielski */ 426*b1cdbd2cSJim Jagielski com::sun::star::container::XEnumeration/*<Statement>*/ queryConstruct( 427*b1cdbd2cSJim Jagielski [in] string Query) 428*b1cdbd2cSJim Jagielski raises( QueryException, 429*b1cdbd2cSJim Jagielski RepositoryException ); 430*b1cdbd2cSJim Jagielski 431*b1cdbd2cSJim Jagielski //------------------------------------------------------------------------- 432*b1cdbd2cSJim Jagielski /** executes a SPARQL "ASK" query. 433*b1cdbd2cSJim Jagielski 434*b1cdbd2cSJim Jagielski <p> 435*b1cdbd2cSJim Jagielski This method runs a SPARQL query that computes a boolean, 436*b1cdbd2cSJim Jagielski i.e., a query beginning with "ASK". 437*b1cdbd2cSJim Jagielski </p> 438*b1cdbd2cSJim Jagielski 439*b1cdbd2cSJim Jagielski @param Query 440*b1cdbd2cSJim Jagielski the SPARQL query <atom>string</atom> 441*b1cdbd2cSJim Jagielski 442*b1cdbd2cSJim Jagielski @returns 443*b1cdbd2cSJim Jagielski the boolean query result 444*b1cdbd2cSJim Jagielski 445*b1cdbd2cSJim Jagielski @throws QueryException 446*b1cdbd2cSJim Jagielski if the query is malformed, or evaluation fails 447*b1cdbd2cSJim Jagielski 448*b1cdbd2cSJim Jagielski @throws RepositoryException 449*b1cdbd2cSJim Jagielski if an error occurs when accessing the repository. 450*b1cdbd2cSJim Jagielski */ 451*b1cdbd2cSJim Jagielski boolean queryAsk([in] string Query) 452*b1cdbd2cSJim Jagielski raises( QueryException, 453*b1cdbd2cSJim Jagielski RepositoryException ); 454*b1cdbd2cSJim Jagielski 455*b1cdbd2cSJim Jagielski}; 456*b1cdbd2cSJim Jagielski 457*b1cdbd2cSJim Jagielski//============================================================================= 458*b1cdbd2cSJim Jagielski 459*b1cdbd2cSJim Jagielski}; }; }; }; 460*b1cdbd2cSJim Jagielski 461*b1cdbd2cSJim Jagielski#endif 462