From: Timothy R. <tre...@st...> - 2012-07-30 14:30:24
|
Matthew's diagnosis was correct. You need to setup the OWLEntityChecker correctly. I was struck by the fact that this works in Protege 4 so it seemed a bit less likely that this was an OWL api bug. I made a test (attached) and it parsed your expression without any trouble. -Timothy On 07/30/2012 02:13 AM, Dani Welter wrote: > Query that works in Protege but not in code: 'GWAS study' and > has_publication_date some dateTime[< > "2009-01-01T00:00:00+00:00"^^dateTime] > > Query that works in both cases: chromosome and has_part value > band_10p15.1 > > Exception for first query: > org.semanticweb.owlapi.expression.ParserException: Encountered 'GWAS > study' at line 1 column 1. Expected one of: > Class name > Object property name > Data property name > not > inverse > ( > { > > at > org.coode.owlapi.manchesterowlsyntax.ManchesterOWLSyntaxEditorParser.createException(ManchesterOWLSyntaxEditorParser.java:2969) > at > org.coode.owlapi.manchesterowlsyntax.ManchesterOWLSyntaxEditorParser.parseNonNaryClassExpression(ManchesterOWLSyntaxEditorParser.java:801) > at > org.coode.owlapi.manchesterowlsyntax.ManchesterOWLSyntaxEditorParser.parseUnion(ManchesterOWLSyntaxEditorParser.java:687) > at > org.coode.owlapi.manchesterowlsyntax.ManchesterOWLSyntaxEditorParser.parseIntersection(ManchesterOWLSyntaxEditorParser.java:662) > at > org.coode.owlapi.manchesterowlsyntax.ManchesterOWLSyntaxEditorParser.parseClassExpression(ManchesterOWLSyntaxEditorParser.java:649) > at > org.coode.owlapi.manchesterowlsyntax.ManchesterOWLSyntaxClassExpressionParser.parse(ManchesterOWLSyntaxClassExpressionParser.java:72) > at > uk.ac.ebi.fgpt.StuffTester.DLQueryTester.main(DLQueryTester.java:134) > > > Code used for the parser: > > List<OWLAnnotationProperty> properties = Arrays.asList(df.getRDFSLabel()); > AnnotationValueShortFormProvider annoSFP = new > AnnotationValueShortFormProvider( > properties, new HashMap<OWLAnnotationProperty, > List<String>>(), manager); > ShortFormEntityChecker checker = new ShortFormEntityChecker(new > BidirectionalShortFormProviderAdapter(manager, > manager.getOntologies(), annoSFP)); > ManchesterOWLSyntaxClassExpressionParser parser = new > ManchesterOWLSyntaxClassExpressionParser(df, checker); > String query1 = "'GWAS study' and has_publication_date some > dateTime[< \"2009-01-01T00:00:00+00:00\"^^dateTime]"; > OWLClassExpression pre2009 = parser.parse(query1); > > > Thanks > Dani > > > On 27/07/12 19:30, Ignazio Palmisano wrote: >> >> >> On Jul 27, 2012 3:01 PM, "Dani Welter" <dw...@eb... >> <mailto:dw...@eb...>> wrote: >> > >> > Hi, >> > >> > I'm trying to parse DL queries in Manchester syntax into class >> > expressions using the ManchesterOWLSyntaxClassExpressionParser but fail >> > at the following problem: most of my class labels have a space in them >> > (e.g. 'GWAS study', 'cytogenetic band' etc). In the DL query tab in >> > Protege, this is easily solved by surrounding the name with single >> > quotes but in my program, for some reason, this is interpreted as the >> > label starting with a single quote, which throws a ParserException. >> I've >> > tried various combinations of double quotes and + or %20 to replace >> > space etc but no success. The rest of the code is definitely correct as >> > the query parser works fine if the query starts with a single-word >> class >> > name. >> > >> > Any suggestions for fixes/work-arounds (other than manually build the >> > query)? >> >> It's clearly a bug with that parser. I'm not sure if there is another >> parser that you can use to work around the issue. Can you post an >> example query that works in protégé and gives you troubles in code? >> It makes it easier to write junit tests. >> >> I. >> >> > >> > Thanks >> > Dani >> > >> > >> ------------------------------------------------------------------------------ >> > Live Security Virtual Conference >> > Exclusive live event will cover all the ways today's security and >> > threat landscape has changed and how IT managers can respond. >> Discussions >> > will include endpoint security, mobile security and the latest in >> malware >> > threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ >> > _______________________________________________ >> > Owlapi-developer mailing list >> > Owl...@li... >> <mailto:Owl...@li...> >> > https://lists.sourceforge.net/lists/listinfo/owlapi-developer >> >> >> >> ------------------------------------------------------------------------------ >> Live Security Virtual Conference >> Exclusive live event will cover all the ways today's security and >> threat landscape has changed and how IT managers can respond. Discussions >> will include endpoint security, mobile security and the latest in malware >> threats.http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ >> >> >> _______________________________________________ >> Owlapi-developer mailing list >> Owl...@li... >> https://lists.sourceforge.net/lists/listinfo/owlapi-developer > > > > ------------------------------------------------------------------------------ > Live Security Virtual Conference > Exclusive live event will cover all the ways today's security and > threat landscape has changed and how IT managers can respond. Discussions > will include endpoint security, mobile security and the latest in malware > threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ > > > _______________________________________________ > Owlapi-developer mailing list > Owl...@li... > https://lists.sourceforge.net/lists/listinfo/owlapi-developer |