001    package eu.lod2.nlp2rdf.schema.sso;
002    
003    import java.util.ArrayList;
004    import java.util.List;
005    import java.util.Iterator;
006    
007    import nl.tudelft.tbm.eeni.owl2java.model.jenautils.NullFilter;
008    
009    import org.apache.commons.logging.Log;
010    import org.apache.commons.logging.LogFactory;
011    
012    import com.hp.hpl.jena.enhanced.BuiltinPersonalities;
013    import com.hp.hpl.jena.enhanced.EnhGraph;
014    import com.hp.hpl.jena.enhanced.EnhNode;
015    import com.hp.hpl.jena.enhanced.Implementation;
016    import com.hp.hpl.jena.graph.Graph;
017    import com.hp.hpl.jena.graph.Node;
018    import com.hp.hpl.jena.ontology.Individual;
019    import com.hp.hpl.jena.ontology.OntClass;
020    import com.hp.hpl.jena.ontology.OntModel;
021    import com.hp.hpl.jena.ontology.Profile;
022    import com.hp.hpl.jena.ontology.impl.IndividualImpl;
023    import com.hp.hpl.jena.rdf.model.Resource;
024    import com.hp.hpl.jena.rdf.model.RDFNode;
025    import com.hp.hpl.jena.rdf.model.Statement;
026    import com.hp.hpl.jena.rdf.model.Literal;
027    import com.hp.hpl.jena.util.iterator.WrappedIterator;
028    import com.hp.hpl.jena.util.iterator.ExtendedIterator;
029    import com.hp.hpl.jena.util.iterator.Filter;
030    import com.hp.hpl.jena.util.iterator.Map1;
031    
032    // import interface
033    import eu.lod2.nlp2rdf.schema.sso.IPhrase;
034    
035    /**
036     * Class http://nlp2rdf.lod2.eu/schema/sso/Phrase
037     */
038    public class Phrase extends IndividualImpl implements IPhrase {
039    
040            private static Log log = LogFactory.getLog(Phrase.class);
041    
042            /**
043             * Implementation factory for Phrase
044             */
045            static final public Implementation factory = new Implementation() {
046    
047                    /**
048                     * Convert a Node into an instance of the class
049                     */
050                    public EnhNode wrap(Node n, EnhGraph eg) {
051                            if (canWrap(n, eg)) {
052                                    return new Phrase(n, eg);
053                            } else {
054                                    log.warn("Cannot convert node " + n.toString() + " to  Phrase");
055                                    return null;
056                            }
057                    }
058    
059                    /**
060                     * Return true iff the node can be converted to an instance of
061                     * this class (Phrase)
062                     */
063                    public boolean canWrap(Node n, EnhGraph eg) {
064                            Profile profile;
065                            if (eg instanceof OntModel)
066                                    profile = ((OntModel) eg).getProfile();
067                            else
068                                    return false;
069    
070                            if (!profile.isSupported(n, eg, Individual.class)) {
071                                    return false;
072                            }
073    
074                            Graph graph = eg.asGraph();
075                            return graph.contains(n, com.hp.hpl.jena.vocabulary.RDF.type.asNode(), eu.lod2.nlp2rdf.schema.tools.Vocabulary.Phrase.asNode());
076                    }
077            };
078    
079            /**
080             * Filtering support for Phrase
081             */
082            static final public Filter<Phrase> nullFilter = new NullFilter<Phrase>();
083    
084            /**
085             * Mapping support for Phrase
086             */
087            public static <From> Map1<From, Phrase> mapperFrom(Class<From> from) {
088                    return new Map1<From, Phrase>() {
089                            @Override
090                            public Phrase map1(Object x) {
091                                    if (x instanceof Statement) {
092                                            Resource r = ((Statement) x).getResource();
093                                            if (r.canAs(Phrase.class))
094                                                    return r.as(Phrase.class);
095                                    } else if (x instanceof RDFNode) {
096                                            if (((RDFNode) x).canAs(Phrase.class))
097                                                    return ((RDFNode) x).as(Phrase.class);
098                                    }
099                                    return null;
100                            }
101                    };
102            }
103    
104            // Instantiate some mappers for general use
105            static final public Map1<Statement, Phrase> statementMapper = mapperFrom(Statement.class);
106            static final public Map1<Individual, Phrase> individualMapper = mapperFrom(Individual.class);
107            static final public Map1<RDFNode, Phrase> nodeMapper = mapperFrom(RDFNode.class);
108    
109            /**
110             * Generic functions from parent class
111             */
112            public Phrase(Node n, EnhGraph g) {
113                    super(n, g);
114            }
115    
116            /**
117             * Registers all custom classes with jena
118             */
119            public static void register() {
120                    log.debug("Registering custom class Phrase with jena");
121                    BuiltinPersonalities.model.add(Phrase.class, Phrase.factory);
122                    BuiltinPersonalities.model.add(eu.lod2.nlp2rdf.schema.sso.Phrase.class, Phrase.factory);
123            }
124    
125            /**
126             * Static Functions for instance handling
127             */
128            public static Phrase get(java.lang.String uri, OntModel ontModel) {
129                    Individual individual = ontModel.getIndividual(uri);
130                    return (eu.lod2.nlp2rdf.schema.sso.Phrase) individual.as(eu.lod2.nlp2rdf.schema.sso.Phrase.class);
131            }
132    
133            public static Phrase get(java.lang.String uri) {
134                    return get(uri, eu.lod2.nlp2rdf.schema.tools.Factory.getDefaultModel());
135            }
136    
137            public static Iterator<Phrase> iterate(OntModel ontModel) {
138                    ExtendedIterator<Individual> it = ontModel.listIndividuals(eu.lod2.nlp2rdf.schema.tools.Vocabulary.Phrase);
139                    return it.mapWith(individualMapper).filterDrop(nullFilter);
140            }
141    
142            public static Iterator<Phrase> iterate() {
143                    return iterate(eu.lod2.nlp2rdf.schema.tools.Factory.getDefaultModel());
144            }
145    
146            public static List<Phrase> list(OntModel ontModel) {
147                    List<Phrase> list = new ArrayList<Phrase>();
148                    Iterator<Phrase> it = iterate(ontModel);
149                    while (it.hasNext()) {
150                            Phrase cls = it.next();
151                            list.add(cls);
152                    }
153                    return list;
154            }
155    
156            public static List<Phrase> list() {
157                    return list(eu.lod2.nlp2rdf.schema.tools.Factory.getDefaultModel());
158            }
159    
160            public static Iterator<Phrase> iterate(boolean direct, OntModel ontModel) {
161                    OntClass cls = ontModel.getOntClass("http://nlp2rdf.lod2.eu/schema/sso/Phrase");
162                    ExtendedIterator<? extends RDFNode> it = cls.listInstances(direct);
163                    ExtendedIterator<RDFNode> nodeIt = new WrappedIterator<RDFNode>(it) {
164                    };
165                    return nodeIt.mapWith(nodeMapper).filterDrop(nullFilter);
166            }
167    
168            public static Iterator<Phrase> iterate(boolean direct) {
169                    return iterate(direct, eu.lod2.nlp2rdf.schema.tools.Factory.getDefaultModel());
170            }
171    
172            public static List<Phrase> list(boolean direct, OntModel ontModel) {
173                    List<Phrase> list = new ArrayList<Phrase>();
174                    Iterator<Phrase> it = iterate(direct, ontModel);
175                    while (it.hasNext()) {
176                            Phrase cls = it.next();
177                            list.add(cls);
178                    }
179                    return list;
180            }
181    
182            public static List<Phrase> list(boolean direct) {
183                    return list(direct, eu.lod2.nlp2rdf.schema.tools.Factory.getDefaultModel());
184            }
185    
186            public static int count(OntModel ontModel) {
187                    int count = 0;
188                    Iterator<Phrase> it = iterate(ontModel);
189                    while (it.hasNext()) {
190                            it.next();
191                            count++;
192                    }
193                    return count;
194            }
195    
196            public static int count() {
197                    return count(eu.lod2.nlp2rdf.schema.tools.Factory.getDefaultModel());
198            }
199    
200            public static int count(boolean direct, OntModel ontModel) {
201                    int count = 0;
202                    Iterator<Phrase> it = iterate(direct, ontModel);
203                    while (it.hasNext()) {
204                            it.next();
205                            count++;
206                    }
207                    return count;
208            }
209    
210            public static int count(boolean direct) {
211                    return count(direct, eu.lod2.nlp2rdf.schema.tools.Factory.getDefaultModel());
212            }
213    
214            public static boolean exists(java.lang.String uri, OntModel ontModel) {
215                    Individual individual = ontModel.getIndividual(uri);
216                    if (individual != null)
217                            return true;
218                    return false;
219            }
220    
221            public static boolean exists(java.lang.String uri) {
222                    return exists(uri, eu.lod2.nlp2rdf.schema.tools.Factory.getDefaultModel());
223            }
224    
225            public static Phrase create(java.lang.String uri, OntModel ontModel) {
226                    return (Phrase) ontModel.createOntResource(Phrase.class, eu.lod2.nlp2rdf.schema.tools.Vocabulary.Phrase, uri);
227            }
228    
229            public static Phrase create(OntModel ontModel) {
230                    return create(null, ontModel);
231            }
232    
233            public static Phrase create(java.lang.String uri) {
234                    return create(uri, eu.lod2.nlp2rdf.schema.tools.Factory.getDefaultModel());
235            }
236    
237            public static Phrase create() {
238                    return create(null, eu.lod2.nlp2rdf.schema.tools.Factory.getDefaultModel());
239            }
240    
241            public static void delete(java.lang.String uri, OntModel ontModel) {
242                    eu.lod2.nlp2rdf.schema.tools.Factory.deleteInstance(uri, ontModel);
243            }
244    
245            public static void delete(java.lang.String uri) {
246                    eu.lod2.nlp2rdf.schema.tools.Factory.deleteInstance(uri);
247            }
248    
249            /**
250             * Domain property child
251             * with uri http://nlp2rdf.lod2.eu/schema/sso/child
252             */
253            public boolean existsChild() {
254                    return hasProperty(eu.lod2.nlp2rdf.schema.tools.Vocabulary.child);
255            }
256    
257            public boolean hasChild(eu.lod2.nlp2rdf.schema.IThing thingValue) {
258                    return hasProperty(eu.lod2.nlp2rdf.schema.tools.Vocabulary.child, thingValue);
259            }
260    
261            public int countChild() {
262                    int count = 0;
263                    Iterator<eu.lod2.nlp2rdf.schema.Thing> it = iterateChild();
264                    while (it.hasNext()) {
265                            it.next();
266                            count++;
267                    }
268                    return count;
269            }
270    
271            public Iterator<eu.lod2.nlp2rdf.schema.Thing> iterateChild() {
272                    ExtendedIterator<Statement> it = listProperties(eu.lod2.nlp2rdf.schema.tools.Vocabulary.child);
273                    return it.mapWith(eu.lod2.nlp2rdf.schema.Thing.statementMapper).filterDrop(eu.lod2.nlp2rdf.schema.Thing.nullFilter);
274            }
275    
276            public List<eu.lod2.nlp2rdf.schema.Thing> listChild() {
277                    List<eu.lod2.nlp2rdf.schema.Thing> list = new ArrayList<eu.lod2.nlp2rdf.schema.Thing>();
278                    Iterator<eu.lod2.nlp2rdf.schema.Thing> it = iterateChild();
279                    while (it.hasNext()) {
280                            eu.lod2.nlp2rdf.schema.Thing inst = it.next();
281                            list.add(inst);
282                    }
283                    return list;
284            }
285    
286            public void addChild(eu.lod2.nlp2rdf.schema.IThing thingValue) {
287                    addProperty(eu.lod2.nlp2rdf.schema.tools.Vocabulary.child, thingValue);
288            }
289    
290            public void addAllChild(List<? extends eu.lod2.nlp2rdf.schema.IThing> thingList) {
291                    for (eu.lod2.nlp2rdf.schema.IThing o : thingList)
292                            addChild(o);
293    
294            }
295    
296            public void removeChild(eu.lod2.nlp2rdf.schema.IThing thingValue) {
297                    removeProperty(eu.lod2.nlp2rdf.schema.tools.Vocabulary.child, thingValue);
298            }
299    
300            public void removeAllChild() {
301                    removeAll(eu.lod2.nlp2rdf.schema.tools.Vocabulary.child);
302            }
303    
304            /**
305             * Domain property superString
306             * with uri http://nlp2rdf.lod2.eu/schema/string/superString
307             */
308            public boolean existsSuperString() {
309                    return hasProperty(eu.lod2.nlp2rdf.schema.tools.Vocabulary.superString);
310            }
311    
312            public boolean hasSuperString(eu.lod2.nlp2rdf.schema.str.IString stringValue) {
313                    return hasProperty(eu.lod2.nlp2rdf.schema.tools.Vocabulary.superString, stringValue);
314            }
315    
316            public int countSuperString() {
317                    int count = 0;
318                    Iterator<eu.lod2.nlp2rdf.schema.str.String> it = iterateSuperString();
319                    while (it.hasNext()) {
320                            it.next();
321                            count++;
322                    }
323                    return count;
324            }
325    
326            public Iterator<eu.lod2.nlp2rdf.schema.str.String> iterateSuperString() {
327                    ExtendedIterator<Statement> it = listProperties(eu.lod2.nlp2rdf.schema.tools.Vocabulary.superString);
328                    return it.mapWith(eu.lod2.nlp2rdf.schema.str.String.statementMapper).filterDrop(eu.lod2.nlp2rdf.schema.str.String.nullFilter);
329            }
330    
331            public List<eu.lod2.nlp2rdf.schema.str.String> listSuperString() {
332                    List<eu.lod2.nlp2rdf.schema.str.String> list = new ArrayList<eu.lod2.nlp2rdf.schema.str.String>();
333                    Iterator<eu.lod2.nlp2rdf.schema.str.String> it = iterateSuperString();
334                    while (it.hasNext()) {
335                            eu.lod2.nlp2rdf.schema.str.String inst = it.next();
336                            list.add(inst);
337                    }
338                    return list;
339            }
340    
341            public void addSuperString(eu.lod2.nlp2rdf.schema.str.IString stringValue) {
342                    addProperty(eu.lod2.nlp2rdf.schema.tools.Vocabulary.superString, stringValue);
343            }
344    
345            public void addAllSuperString(List<? extends eu.lod2.nlp2rdf.schema.str.IString> stringList) {
346                    for (eu.lod2.nlp2rdf.schema.str.IString o : stringList)
347                            addSuperString(o);
348    
349            }
350    
351            public void removeSuperString(eu.lod2.nlp2rdf.schema.str.IString stringValue) {
352                    removeProperty(eu.lod2.nlp2rdf.schema.tools.Vocabulary.superString, stringValue);
353            }
354    
355            public void removeAllSuperString() {
356                    removeAll(eu.lod2.nlp2rdf.schema.tools.Vocabulary.superString);
357            }
358    
359            /**
360             * Domain property subString
361             * with uri http://nlp2rdf.lod2.eu/schema/string/subString
362             */
363            public boolean existsSubString() {
364                    return hasProperty(eu.lod2.nlp2rdf.schema.tools.Vocabulary.subString);
365            }
366    
367            public boolean hasSubString(eu.lod2.nlp2rdf.schema.str.IString stringValue) {
368                    return hasProperty(eu.lod2.nlp2rdf.schema.tools.Vocabulary.subString, stringValue);
369            }
370    
371            public int countSubString() {
372                    int count = 0;
373                    Iterator<eu.lod2.nlp2rdf.schema.str.String> it = iterateSubString();
374                    while (it.hasNext()) {
375                            it.next();
376                            count++;
377                    }
378                    return count;
379            }
380    
381            public Iterator<eu.lod2.nlp2rdf.schema.str.String> iterateSubString() {
382                    ExtendedIterator<Statement> it = listProperties(eu.lod2.nlp2rdf.schema.tools.Vocabulary.subString);
383                    return it.mapWith(eu.lod2.nlp2rdf.schema.str.String.statementMapper).filterDrop(eu.lod2.nlp2rdf.schema.str.String.nullFilter);
384            }
385    
386            public List<eu.lod2.nlp2rdf.schema.str.String> listSubString() {
387                    List<eu.lod2.nlp2rdf.schema.str.String> list = new ArrayList<eu.lod2.nlp2rdf.schema.str.String>();
388                    Iterator<eu.lod2.nlp2rdf.schema.str.String> it = iterateSubString();
389                    while (it.hasNext()) {
390                            eu.lod2.nlp2rdf.schema.str.String inst = it.next();
391                            list.add(inst);
392                    }
393                    return list;
394            }
395    
396            public void addSubString(eu.lod2.nlp2rdf.schema.str.IString stringValue) {
397                    addProperty(eu.lod2.nlp2rdf.schema.tools.Vocabulary.subString, stringValue);
398            }
399    
400            public void addAllSubString(List<? extends eu.lod2.nlp2rdf.schema.str.IString> stringList) {
401                    for (eu.lod2.nlp2rdf.schema.str.IString o : stringList)
402                            addSubString(o);
403    
404            }
405    
406            public void removeSubString(eu.lod2.nlp2rdf.schema.str.IString stringValue) {
407                    removeProperty(eu.lod2.nlp2rdf.schema.tools.Vocabulary.subString, stringValue);
408            }
409    
410            public void removeAllSubString() {
411                    removeAll(eu.lod2.nlp2rdf.schema.tools.Vocabulary.subString);
412            }
413    
414            /**
415             * Domain property superStringTrans
416             * with uri http://nlp2rdf.lod2.eu/schema/string/superStringTrans
417             */
418            public boolean existsSuperStringTrans() {
419                    return hasProperty(eu.lod2.nlp2rdf.schema.tools.Vocabulary.superStringTrans);
420            }
421    
422            public boolean hasSuperStringTrans(eu.lod2.nlp2rdf.schema.str.IString stringValue) {
423                    return hasProperty(eu.lod2.nlp2rdf.schema.tools.Vocabulary.superStringTrans, stringValue);
424            }
425    
426            public int countSuperStringTrans() {
427                    int count = 0;
428                    Iterator<eu.lod2.nlp2rdf.schema.str.String> it = iterateSuperStringTrans();
429                    while (it.hasNext()) {
430                            it.next();
431                            count++;
432                    }
433                    return count;
434            }
435    
436            public Iterator<eu.lod2.nlp2rdf.schema.str.String> iterateSuperStringTrans() {
437                    ExtendedIterator<Statement> it = listProperties(eu.lod2.nlp2rdf.schema.tools.Vocabulary.superStringTrans);
438                    return it.mapWith(eu.lod2.nlp2rdf.schema.str.String.statementMapper).filterDrop(eu.lod2.nlp2rdf.schema.str.String.nullFilter);
439            }
440    
441            public List<eu.lod2.nlp2rdf.schema.str.String> listSuperStringTrans() {
442                    List<eu.lod2.nlp2rdf.schema.str.String> list = new ArrayList<eu.lod2.nlp2rdf.schema.str.String>();
443                    Iterator<eu.lod2.nlp2rdf.schema.str.String> it = iterateSuperStringTrans();
444                    while (it.hasNext()) {
445                            eu.lod2.nlp2rdf.schema.str.String inst = it.next();
446                            list.add(inst);
447                    }
448                    return list;
449            }
450    
451            public void addSuperStringTrans(eu.lod2.nlp2rdf.schema.str.IString stringValue) {
452                    addProperty(eu.lod2.nlp2rdf.schema.tools.Vocabulary.superStringTrans, stringValue);
453            }
454    
455            public void addAllSuperStringTrans(List<? extends eu.lod2.nlp2rdf.schema.str.IString> stringList) {
456                    for (eu.lod2.nlp2rdf.schema.str.IString o : stringList)
457                            addSuperStringTrans(o);
458    
459            }
460    
461            public void removeSuperStringTrans(eu.lod2.nlp2rdf.schema.str.IString stringValue) {
462                    removeProperty(eu.lod2.nlp2rdf.schema.tools.Vocabulary.superStringTrans, stringValue);
463            }
464    
465            public void removeAllSuperStringTrans() {
466                    removeAll(eu.lod2.nlp2rdf.schema.tools.Vocabulary.superStringTrans);
467            }
468    
469            /**
470             * Domain property subStringTrans
471             * with uri http://nlp2rdf.lod2.eu/schema/string/subStringTrans
472             */
473            public boolean existsSubStringTrans() {
474                    return hasProperty(eu.lod2.nlp2rdf.schema.tools.Vocabulary.subStringTrans);
475            }
476    
477            public boolean hasSubStringTrans(eu.lod2.nlp2rdf.schema.str.IString stringValue) {
478                    return hasProperty(eu.lod2.nlp2rdf.schema.tools.Vocabulary.subStringTrans, stringValue);
479            }
480    
481            public int countSubStringTrans() {
482                    int count = 0;
483                    Iterator<eu.lod2.nlp2rdf.schema.str.String> it = iterateSubStringTrans();
484                    while (it.hasNext()) {
485                            it.next();
486                            count++;
487                    }
488                    return count;
489            }
490    
491            public Iterator<eu.lod2.nlp2rdf.schema.str.String> iterateSubStringTrans() {
492                    ExtendedIterator<Statement> it = listProperties(eu.lod2.nlp2rdf.schema.tools.Vocabulary.subStringTrans);
493                    return it.mapWith(eu.lod2.nlp2rdf.schema.str.String.statementMapper).filterDrop(eu.lod2.nlp2rdf.schema.str.String.nullFilter);
494            }
495    
496            public List<eu.lod2.nlp2rdf.schema.str.String> listSubStringTrans() {
497                    List<eu.lod2.nlp2rdf.schema.str.String> list = new ArrayList<eu.lod2.nlp2rdf.schema.str.String>();
498                    Iterator<eu.lod2.nlp2rdf.schema.str.String> it = iterateSubStringTrans();
499                    while (it.hasNext()) {
500                            eu.lod2.nlp2rdf.schema.str.String inst = it.next();
501                            list.add(inst);
502                    }
503                    return list;
504            }
505    
506            public void addSubStringTrans(eu.lod2.nlp2rdf.schema.str.IString stringValue) {
507                    addProperty(eu.lod2.nlp2rdf.schema.tools.Vocabulary.subStringTrans, stringValue);
508            }
509    
510            public void addAllSubStringTrans(List<? extends eu.lod2.nlp2rdf.schema.str.IString> stringList) {
511                    for (eu.lod2.nlp2rdf.schema.str.IString o : stringList)
512                            addSubStringTrans(o);
513    
514            }
515    
516            public void removeSubStringTrans(eu.lod2.nlp2rdf.schema.str.IString stringValue) {
517                    removeProperty(eu.lod2.nlp2rdf.schema.tools.Vocabulary.subStringTrans, stringValue);
518            }
519    
520            public void removeAllSubStringTrans() {
521                    removeAll(eu.lod2.nlp2rdf.schema.tools.Vocabulary.subStringTrans);
522            }
523    
524            /**
525             * Domain property anchorOf
526             * with uri http://nlp2rdf.lod2.eu/schema/string/anchorOf
527             */
528            public boolean existsAnchorOf() {
529                    return hasProperty(eu.lod2.nlp2rdf.schema.tools.Vocabulary.anchorOf);
530            }
531    
532            public boolean hasAnchorOf(java.lang.String stringValue) {
533                    return hasProperty(eu.lod2.nlp2rdf.schema.tools.Vocabulary.anchorOf);
534            }
535    
536            public java.lang.String getAnchorOf() {
537                    RDFNode n = getPropertyValue(eu.lod2.nlp2rdf.schema.tools.Vocabulary.anchorOf);
538                    if (n instanceof Literal) {
539                            Literal l = (Literal) n;
540                            return (java.lang.String) (nl.tudelft.tbm.eeni.owl2java.model.xsd.XsdUtils.getString(l));
541                    } else {
542                            log.warn("Could not convert anchorOf of " + getURI() + " (" + n + ") to type String");
543                            return null;
544                    }
545            }
546    
547            public void setAnchorOf(java.lang.String stringValue) {
548                    removeAll(eu.lod2.nlp2rdf.schema.tools.Vocabulary.anchorOf);
549                    nl.tudelft.tbm.eeni.owl2java.model.xsd.XsdUtils.createTypedLiteral((OntModel) getModel(), stringValue, "http://www.w3.org/1999/02/22-rdf-syntax-ns#XMLLiteral");
550                    Literal literal = nl.tudelft.tbm.eeni.owl2java.model.xsd.XsdUtils.createTypedLiteral((OntModel) getModel(), stringValue, "http://www.w3.org/1999/02/22-rdf-syntax-ns#XMLLiteral");
551                    setPropertyValue(eu.lod2.nlp2rdf.schema.tools.Vocabulary.anchorOf, literal);
552            }
553    
554            public void removeAnchorOf() {
555                    removeAll(eu.lod2.nlp2rdf.schema.tools.Vocabulary.anchorOf);
556            }
557    
558            /**
559             * Domain property endIndex
560             * with uri http://nlp2rdf.lod2.eu/schema/string/endIndex
561             */
562            public boolean existsEndIndex() {
563                    return hasProperty(eu.lod2.nlp2rdf.schema.tools.Vocabulary.endIndex);
564            }
565    
566            public boolean hasEndIndex(java.lang.String stringValue) {
567                    return hasProperty(eu.lod2.nlp2rdf.schema.tools.Vocabulary.endIndex);
568            }
569    
570            public int countEndIndex() {
571                    int count = 0;
572                    Iterator<java.lang.String> it = iterateEndIndex();
573                    while (it.hasNext()) {
574                            it.next();
575                            count++;
576                    }
577                    return count;
578            }
579    
580            public Iterator<java.lang.String> iterateEndIndex() {
581                    ExtendedIterator<Statement> it = listProperties(eu.lod2.nlp2rdf.schema.tools.Vocabulary.endIndex);
582                    return it.mapWith(nl.tudelft.tbm.eeni.owl2java.model.xsd.XsdUtils.objectAsStringMapper).filterDrop(new NullFilter<java.lang.String>());
583            }
584    
585            public List<java.lang.String> listEndIndex() {
586                    List<java.lang.String> list = new ArrayList<java.lang.String>();
587                    Iterator<java.lang.String> it = iterateEndIndex();
588                    while (it.hasNext()) {
589                            java.lang.String inst = it.next();
590                            list.add(inst);
591                    }
592                    return list;
593            }
594    
595            public void addEndIndex(java.lang.String stringValue) {
596                    Literal literal = nl.tudelft.tbm.eeni.owl2java.model.xsd.XsdUtils.createTypedLiteral((OntModel) getModel(), stringValue, "http://www.w3.org/1999/02/22-rdf-syntax-ns#XMLLiteral");
597                    setPropertyValue(eu.lod2.nlp2rdf.schema.tools.Vocabulary.endIndex, literal);
598            }
599    
600            public void addAllEndIndex(List<java.lang.String> stringList) {
601                    for (java.lang.String o : stringList)
602                            addEndIndex(o);
603            }
604    
605            public void removeEndIndex(java.lang.String stringValue) {
606                    Literal literal = nl.tudelft.tbm.eeni.owl2java.model.xsd.XsdUtils.createTypedLiteral((OntModel) getModel(), stringValue, "http://www.w3.org/1999/02/22-rdf-syntax-ns#XMLLiteral");
607                    removeProperty(eu.lod2.nlp2rdf.schema.tools.Vocabulary.endIndex, literal);
608            }
609    
610            public void removeAllEndIndex() {
611                    removeAll(eu.lod2.nlp2rdf.schema.tools.Vocabulary.endIndex);
612    
613            }
614    
615            /**
616             * Domain property beginIndex
617             * with uri http://nlp2rdf.lod2.eu/schema/string/beginIndex
618             */
619            public boolean existsBeginIndex() {
620                    return hasProperty(eu.lod2.nlp2rdf.schema.tools.Vocabulary.beginIndex);
621            }
622    
623            public boolean hasBeginIndex(java.lang.String stringValue) {
624                    return hasProperty(eu.lod2.nlp2rdf.schema.tools.Vocabulary.beginIndex);
625            }
626    
627            public int countBeginIndex() {
628                    int count = 0;
629                    Iterator<java.lang.String> it = iterateBeginIndex();
630                    while (it.hasNext()) {
631                            it.next();
632                            count++;
633                    }
634                    return count;
635            }
636    
637            public Iterator<java.lang.String> iterateBeginIndex() {
638                    ExtendedIterator<Statement> it = listProperties(eu.lod2.nlp2rdf.schema.tools.Vocabulary.beginIndex);
639                    return it.mapWith(nl.tudelft.tbm.eeni.owl2java.model.xsd.XsdUtils.objectAsStringMapper).filterDrop(new NullFilter<java.lang.String>());
640            }
641    
642            public List<java.lang.String> listBeginIndex() {
643                    List<java.lang.String> list = new ArrayList<java.lang.String>();
644                    Iterator<java.lang.String> it = iterateBeginIndex();
645                    while (it.hasNext()) {
646                            java.lang.String inst = it.next();
647                            list.add(inst);
648                    }
649                    return list;
650            }
651    
652            public void addBeginIndex(java.lang.String stringValue) {
653                    Literal literal = nl.tudelft.tbm.eeni.owl2java.model.xsd.XsdUtils.createTypedLiteral((OntModel) getModel(), stringValue, "http://www.w3.org/1999/02/22-rdf-syntax-ns#XMLLiteral");
654                    setPropertyValue(eu.lod2.nlp2rdf.schema.tools.Vocabulary.beginIndex, literal);
655            }
656    
657            public void addAllBeginIndex(List<java.lang.String> stringList) {
658                    for (java.lang.String o : stringList)
659                            addBeginIndex(o);
660            }
661    
662            public void removeBeginIndex(java.lang.String stringValue) {
663                    Literal literal = nl.tudelft.tbm.eeni.owl2java.model.xsd.XsdUtils.createTypedLiteral((OntModel) getModel(), stringValue, "http://www.w3.org/1999/02/22-rdf-syntax-ns#XMLLiteral");
664                    removeProperty(eu.lod2.nlp2rdf.schema.tools.Vocabulary.beginIndex, literal);
665            }
666    
667            public void removeAllBeginIndex() {
668                    removeAll(eu.lod2.nlp2rdf.schema.tools.Vocabulary.beginIndex);
669    
670            }
671    
672            /**
673             * Domain property rightContext
674             * with uri http://nlp2rdf.lod2.eu/schema/string/rightContext
675             */
676            public boolean existsRightContext() {
677                    return hasProperty(eu.lod2.nlp2rdf.schema.tools.Vocabulary.rightContext);
678            }
679    
680            public boolean hasRightContext(java.lang.String stringValue) {
681                    return hasProperty(eu.lod2.nlp2rdf.schema.tools.Vocabulary.rightContext);
682            }
683    
684            public int countRightContext() {
685                    int count = 0;
686                    Iterator<java.lang.String> it = iterateRightContext();
687                    while (it.hasNext()) {
688                            it.next();
689                            count++;
690                    }
691                    return count;
692            }
693    
694            public Iterator<java.lang.String> iterateRightContext() {
695                    ExtendedIterator<Statement> it = listProperties(eu.lod2.nlp2rdf.schema.tools.Vocabulary.rightContext);
696                    return it.mapWith(nl.tudelft.tbm.eeni.owl2java.model.xsd.XsdUtils.objectAsStringMapper).filterDrop(new NullFilter<java.lang.String>());
697            }
698    
699            public List<java.lang.String> listRightContext() {
700                    List<java.lang.String> list = new ArrayList<java.lang.String>();
701                    Iterator<java.lang.String> it = iterateRightContext();
702                    while (it.hasNext()) {
703                            java.lang.String inst = it.next();
704                            list.add(inst);
705                    }
706                    return list;
707            }
708    
709            public void addRightContext(java.lang.String stringValue) {
710                    Literal literal = nl.tudelft.tbm.eeni.owl2java.model.xsd.XsdUtils.createTypedLiteral((OntModel) getModel(), stringValue, "http://www.w3.org/1999/02/22-rdf-syntax-ns#XMLLiteral");
711                    setPropertyValue(eu.lod2.nlp2rdf.schema.tools.Vocabulary.rightContext, literal);
712            }
713    
714            public void addAllRightContext(List<java.lang.String> stringList) {
715                    for (java.lang.String o : stringList)
716                            addRightContext(o);
717            }
718    
719            public void removeRightContext(java.lang.String stringValue) {
720                    Literal literal = nl.tudelft.tbm.eeni.owl2java.model.xsd.XsdUtils.createTypedLiteral((OntModel) getModel(), stringValue, "http://www.w3.org/1999/02/22-rdf-syntax-ns#XMLLiteral");
721                    removeProperty(eu.lod2.nlp2rdf.schema.tools.Vocabulary.rightContext, literal);
722            }
723    
724            public void removeAllRightContext() {
725                    removeAll(eu.lod2.nlp2rdf.schema.tools.Vocabulary.rightContext);
726    
727            }
728    
729            /**
730             * Domain property leftContext
731             * with uri http://nlp2rdf.lod2.eu/schema/string/leftContext
732             */
733            public boolean existsLeftContext() {
734                    return hasProperty(eu.lod2.nlp2rdf.schema.tools.Vocabulary.leftContext);
735            }
736    
737            public boolean hasLeftContext(java.lang.String stringValue) {
738                    return hasProperty(eu.lod2.nlp2rdf.schema.tools.Vocabulary.leftContext);
739            }
740    
741            public int countLeftContext() {
742                    int count = 0;
743                    Iterator<java.lang.String> it = iterateLeftContext();
744                    while (it.hasNext()) {
745                            it.next();
746                            count++;
747                    }
748                    return count;
749            }
750    
751            public Iterator<java.lang.String> iterateLeftContext() {
752                    ExtendedIterator<Statement> it = listProperties(eu.lod2.nlp2rdf.schema.tools.Vocabulary.leftContext);
753                    return it.mapWith(nl.tudelft.tbm.eeni.owl2java.model.xsd.XsdUtils.objectAsStringMapper).filterDrop(new NullFilter<java.lang.String>());
754            }
755    
756            public List<java.lang.String> listLeftContext() {
757                    List<java.lang.String> list = new ArrayList<java.lang.String>();
758                    Iterator<java.lang.String> it = iterateLeftContext();
759                    while (it.hasNext()) {
760                            java.lang.String inst = it.next();
761                            list.add(inst);
762                    }
763                    return list;
764            }
765    
766            public void addLeftContext(java.lang.String stringValue) {
767                    Literal literal = nl.tudelft.tbm.eeni.owl2java.model.xsd.XsdUtils.createTypedLiteral((OntModel) getModel(), stringValue, "http://www.w3.org/1999/02/22-rdf-syntax-ns#XMLLiteral");
768                    setPropertyValue(eu.lod2.nlp2rdf.schema.tools.Vocabulary.leftContext, literal);
769            }
770    
771            public void addAllLeftContext(List<java.lang.String> stringList) {
772                    for (java.lang.String o : stringList)
773                            addLeftContext(o);
774            }
775    
776            public void removeLeftContext(java.lang.String stringValue) {
777                    Literal literal = nl.tudelft.tbm.eeni.owl2java.model.xsd.XsdUtils.createTypedLiteral((OntModel) getModel(), stringValue, "http://www.w3.org/1999/02/22-rdf-syntax-ns#XMLLiteral");
778                    removeProperty(eu.lod2.nlp2rdf.schema.tools.Vocabulary.leftContext, literal);
779            }
780    
781            public void removeAllLeftContext() {
782                    removeAll(eu.lod2.nlp2rdf.schema.tools.Vocabulary.leftContext);
783    
784            }
785    
786    }