/******************************************************************************* * Copyright (c) 2011 Guillaume Hillairet. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * Guillaume Hillairet - initial API and implementation *******************************************************************************/ package com.emf4sw.rdf; import org.eclipse.emf.common.util.EList; import org.eclipse.emf.ecore.util.FeatureMap; /** * <!-- begin-user-doc --> * A representation of the model object '<em><b>Graph</b></em>'. * <!-- end-user-doc --> * * <p> * The following features are supported: * <ul> * <li>{@link com.emf4sw.rdf.RDFGraph#getNodes <em>Nodes</em>}</li> * <li>{@link com.emf4sw.rdf.RDFGraph#getResources <em>Resources</em>}</li> * <li>{@link com.emf4sw.rdf.RDFGraph#getProperties <em>Properties</em>}</li> * <li>{@link com.emf4sw.rdf.RDFGraph#getBlankNodes <em>Blank Nodes</em>}</li> * <li>{@link com.emf4sw.rdf.RDFGraph#getDatatypes <em>Datatypes</em>}</li> * <li>{@link com.emf4sw.rdf.RDFGraph#getLiterals <em>Literals</em>}</li> * <li>{@link com.emf4sw.rdf.RDFGraph#getTriples <em>Triples</em>}</li> * </ul> * </p> * * @see com.emf4sw.rdf.RDFPackage#getRDFGraph() * @model abstract="true" * @generated */ public interface RDFGraph extends URIElement { /** * Returns the value of the '<em><b>Nodes</b></em>' attribute list. * The list contents are of type {@link org.eclipse.emf.ecore.util.FeatureMap.Entry}. * <!-- begin-user-doc --> * <p> * If the meaning of the '<em>Nodes</em>' containment reference list isn't clear, * there really should be more of a description here... * </p> * <!-- end-user-doc --> * @return the value of the '<em>Nodes</em>' attribute list. * @see com.emf4sw.rdf.RDFPackage#getRDFGraph_Nodes() * @model dataType="org.eclipse.emf.ecore.EFeatureMapEntry" many="true" * extendedMetaData="kind='group'" * @generated */ FeatureMap getNodes(); /** * Returns the value of the '<em><b>Resources</b></em>' containment reference list. * The list contents are of type {@link com.emf4sw.rdf.Resource}. * It is bidirectional and its opposite is '{@link com.emf4sw.rdf.Resource#getGraph <em>Graph</em>}'. * <!-- begin-user-doc --> * <p> * If the meaning of the '<em>Resources</em>' containment reference list isn't clear, * there really should be more of a description here... * </p> * <!-- end-user-doc --> * @return the value of the '<em>Resources</em>' containment reference list. * @see com.emf4sw.rdf.RDFPackage#getRDFGraph_Resources() * @see com.emf4sw.rdf.Resource#getGraph * @model opposite="graph" containment="true" transient="true" volatile="true" derived="true" * extendedMetaData="group='#nodes'" * @generated */ EList<Resource> getResources(); /** * Returns the value of the '<em><b>Properties</b></em>' containment reference list. * The list contents are of type {@link com.emf4sw.rdf.Property}. * <!-- begin-user-doc --> * <p> * If the meaning of the '<em>Properties</em>' containment reference list isn't clear, * there really should be more of a description here... * </p> * <!-- end-user-doc --> * @return the value of the '<em>Properties</em>' containment reference list. * @see com.emf4sw.rdf.RDFPackage#getRDFGraph_Properties() * @model containment="true" transient="true" volatile="true" derived="true" * extendedMetaData="group='#nodes'" * @generated */ EList<Property> getProperties(); /** * Returns the value of the '<em><b>Blank Nodes</b></em>' containment reference list. * The list contents are of type {@link com.emf4sw.rdf.BlankNode}. * It is bidirectional and its opposite is '{@link com.emf4sw.rdf.BlankNode#getGraph <em>Graph</em>}'. * <!-- begin-user-doc --> * <p> * If the meaning of the '<em>Blank Nodes</em>' containment reference list isn't clear, * there really should be more of a description here... * </p> * <!-- end-user-doc --> * @return the value of the '<em>Blank Nodes</em>' containment reference list. * @see com.emf4sw.rdf.RDFPackage#getRDFGraph_BlankNodes() * @see com.emf4sw.rdf.BlankNode#getGraph * @model opposite="graph" containment="true" transient="true" volatile="true" derived="true" * extendedMetaData="group='#nodes'" * @generated */ EList<BlankNode> getBlankNodes(); /** * Returns the value of the '<em><b>Datatypes</b></em>' containment reference list. * The list contents are of type {@link com.emf4sw.rdf.Datatype}. * <!-- begin-user-doc --> * <p> * If the meaning of the '<em>Datatypes</em>' containment reference list isn't clear, * there really should be more of a description here... * </p> * <!-- end-user-doc --> * @return the value of the '<em>Datatypes</em>' containment reference list. * @see com.emf4sw.rdf.RDFPackage#getRDFGraph_Datatypes() * @model containment="true" transient="true" volatile="true" derived="true" * extendedMetaData="group='#nodes'" * @generated */ EList<Datatype> getDatatypes(); /** * Returns the value of the '<em><b>Literals</b></em>' containment reference list. * The list contents are of type {@link com.emf4sw.rdf.Literal}. * It is bidirectional and its opposite is '{@link com.emf4sw.rdf.Literal#getGraph <em>Graph</em>}'. * <!-- begin-user-doc --> * <p> * If the meaning of the '<em>Literals</em>' containment reference list isn't clear, * there really should be more of a description here... * </p> * <!-- end-user-doc --> * @return the value of the '<em>Literals</em>' containment reference list. * @see com.emf4sw.rdf.RDFPackage#getRDFGraph_Literals() * @see com.emf4sw.rdf.Literal#getGraph * @model opposite="graph" containment="true" transient="true" volatile="true" derived="true" * extendedMetaData="group='#nodes'" * @generated */ EList<Literal> getLiterals(); /** * Returns the value of the '<em><b>Triples</b></em>' containment reference list. * The list contents are of type {@link com.emf4sw.rdf.Triple}. * It is bidirectional and its opposite is '{@link com.emf4sw.rdf.Triple#getGraph <em>Graph</em>}'. * <!-- begin-user-doc --> * <p> * If the meaning of the '<em>Triples</em>' containment reference list isn't clear, * there really should be more of a description here... * </p> * <!-- end-user-doc --> * @return the value of the '<em>Triples</em>' containment reference list. * @see com.emf4sw.rdf.RDFPackage#getRDFGraph_Triples() * @see com.emf4sw.rdf.Triple#getGraph * @model opposite="graph" containment="true" * @generated */ EList<Triple> getTriples(); /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @model * @generated */ boolean isEquivalentTo(RDFGraph graph); /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @model * @generated */ void add(RDFGraph graph); /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @model * @generated */ RDFGraph union(RDFGraph graph); /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @model * @generated */ RDFGraph diff(RDFGraph graph); /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @model * @generated */ Triple addTriple(Node subject, Property property, Node object); /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @model * @generated */ EList<SubjectNode> listSubjectsWithProperty(Property property); /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @model * @generated */ EList<SubjectNode> listSubjectsWithPropertyValue(Property property, Node object); /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @model * @generated */ EList<Triple> listAllTriples(); /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @model * @generated */ EList<Resource> listAllResources(); /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @model * @generated */ EList<Property> listAllProperties(); /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @model * @generated */ EList<SubjectNode> listSubjects(); /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @model * @generated */ Resource getResource(String uri); /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @model * @generated */ Property getProperty(String uri); /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @model * @generated */ Datatype getDatatype(String uri); /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @model * @generated */ BlankNode getBlankNode(String nodeID); } // RDFGraph