|
View:
New views
4 Messages
—
Rating Filter:
Alert me
|
|
|
log:conjunction and named graphsI don't seem to be able to get the tests for log:conjunction to work
when altered to use the names of graphs. ------------ $ cat test2.n3 @prefix log: <http://www.w3.org/2000/10/swap/log#>. @prefix owl: <http://www.w3.org/2002/07/owl#>. @prefix : <#> . # This gives the correct conclusions #{ ( { :sky :color :blue } { :grass :color :green } ) log:conjunction ?F } # => { :rest :is ?F } . #but this does not :g = { :sky :color :blue } . :h = { :grass :color :green } . { ( :g :h ) log:conjunction ?F } => { :rest :is ?F } . ------------ If I then run cwm test2.n3 --think --apply=/Users/hjs/Programming/w3.org/swap/test/ owl/owl-rules.n3 --think I don't get the rest is { :sky color :blue . :grass :color :green . } result I was expecting. Any ideas? Henry |
|
|
Re: log:conjunction and named graphsHenry,
You are using owl:sameAs. cwm does not do owl:sameAs processing by default. It is an RDF processor, so it must be able to handle and input and output owl:sameAs graphs without processing There is some optional owl:sameAs processing with --closure=e which does some smushing -- not much. This will not, however, smush a names node onto a literal including a literal graph. It doesn't do = inference in backward chaining in the antecedent of a query. Tim $ cwm --help Command line RDF/N3 tool <command> <options> <steps> [--with <more args> ] options: --pipe Don't store, just pipe out * steps, in order left to right: --rdf Input & Output ** in RDF/XML insead of n3 from now on --n3 Input & Output in N3 from now on. (Default) --rdf=flags Input & Output ** in RDF and set given RDF flags --n3=flags Input & Output in N3 and set N3 flags --ntriples Input & Output in NTriples (equiv --n3=usbpartane -bySubject -quiet) --language=x Input & Output in "x" (rdf, n3, etc) --rdf same as: --language=rdf --languageOptions=y --n3=sp same as: --language=n3 --languageOptions=sp --ugly Store input and regurgitate, data only, fastest * --bySubject Store input and regurgitate in subject order * --no No output * (default is to store and pretty print with anonymous nodes) * --base=<uri> Set the base URI. Input or output is done as though theis were the document URI. --closure=flags Control automatic lookup of identifiers (see below) <uri> Load document. URI may be relative to current directory. --apply=foo Read rules from foo, apply to store, adding conclusions to store --patch=foo Read patches from foo, applying insertions and deletions to store --filter=foo Read rules from foo, apply to store, REPLACING store with conclusions --query=foo Read a N3QL query from foo, apply it to the store, and replace the store with its conclusions --sparql=foo Read a SPARQL query from foo, apply it to the store, and replace the store with its conclusions --rules Apply rules in store to store, adding conclusions to store --think as -rules but continue until no more rule matches (or forever!) --engine=otter use otter (in your $PATH) instead of llyn for linking, etc --why Replace the store with an explanation of its contents --why=u proof tries to be shorter --mode=flags Set modus operandi for inference (see below) --reify Replace the statements in the store with statements describing them. --dereify Undo the effects of --reify --flatten Reify only nested subexpressions (not top level) so that no {} remain. --unflatten Undo the effects of --flatten --think=foo as -apply=foo but continue until no more rule matches (or forever!) --purge Remove from store any triple involving anything in class log:Chaff --data Remove all except plain RDF triples (formulae, forAll, etc) --strings Dump :s to stdout ordered by :k whereever { :k log:outputString :s } --crypto Enable processing of crypto builtin functions. Requires python crypto. --help print this message --revision print CVS revision numbers of major modules --chatty=50 Verbose debugging output of questionable use, range 0-99 --sparqlServer instead of outputting, start a SPARQL server on port 8000 of the store --sparqlResults After sparql query, print in sparqlResults format instead of rdf finally: --with Pass any further arguments to the N3 store as os:argv values * mutually exclusive ** doesn't work for complex cases :-/ Examples: cwm --rdf foo.rdf --n3 --pipe Convert from rdf/xml to rdf/n3 cwm foo.n3 bar.n3 --think Combine data and find all deductions cwm foo.n3 --flat --n3=spart Mode flags affect inference extedning to the web: r Needed to enable any remote stuff. a When reading schema, also load rules pointed to by schema (requires r, s) E Errors loading schemas of definitive documents are ignored m Schemas and definitive documents laoded are merged into the meta knowledge (otherwise they are consulted independently) s Read the schema for any predicate in a query. u Generate unique ids using a run-specific Closure flags are set to cause the working formula to be automatically exapnded to the closure under the operation of looking up: s the subject of a statement added p the predicate of a statement added o the object of a statement added t the object of an rdf:type statement added i any owl:imports documents r any doc:rules documents E errors are ignored --- This is independant of --mode=E n Normalize IRIs to URIs e Smush together any nodes which are = (owl:sameAs) See http://www.w3.org/2000/10/swap/doc/cwm for more documentation. Setting the environment variable CWM_RDFLIB to 1 maked Cwm use rdflib to parse rdf/xml files. Note that this requires rdflib. Flags for N3 output are as follows:- a Anonymous nodes should be output using the _: convention (p flag or not). d Don't use default namespace (empty prefix) e escape literals --- use \u notation i Use identifiers from store - don't regen on output l List syntax suppression. Don't use (..) n No numeric syntax - use strings typed with ^^ syntax p Prefix suppression - don't use them, always URIs in <> instead of qnames. q Quiet - don't output comments about version and base URI used. r Relative URI suppression. Always use absolute URIs. s Subject must be explicit for every statement. Don't use ";" shorthand. t "this" and "()" special syntax should be suppresed. u Use \u for unicode escaping in URIs instead of utf-8 %XX v Use "this log:forAll" for @forAll, and "this log:forAll" for "@forSome". / If namespace has no # in it, assume it ends at the last slash if outputting. Flags for N3 input: B Turn any blank node into a existentially qualified explicitly named node. Flags to control RDF/XML output (after --rdf=) areas follows: b - Don't use nodeIDs for Bnodes c - Don't use elements as class names d - Default namespace supressed. l - Don't use RDF collection syntax for lists r - Relative URI suppression. Always use absolute URIs. z - Allow relative URIs for namespaces Flags to control RDF/XML INPUT (after --rdf=) follow: S - Strict spec. Unknown parse type treated as Literal instead of error. T - take foreign XML as transparent and parse any RDF in it (default it is to ignore unless rdf:RDF at top level) L - If non-rdf attributes have no namespace prefix, assume in local <#> namespace D - Assume default namespace decalred as local document is assume xmlns="" R - Do not require an outer <rdf:RDF>, treating the file as RDF content (opposite of T) Note: The parser (sax2rdf) does not support reification, bagIds, or parseType=Literal. It does support the rest of RDF inc. datatypes, xml:lang, and nodeIds. $ On 2009-04 -17, at 09:52, Henry Story wrote:
|
|
|
Re: log:conjunction and named graphsOn Fri, 2009-04-17 at 13:39 -0400, Tim Berners-Lee wrote:
> Henry, > > > You are using owl:sameAs. > > > cwm does not do owl:sameAs processing by default. > > > It is an RDF processor, so it must be able to handle and input and > output owl:sameAs graphs without processing > > > There is some optional owl:sameAs processing with --closure=e which > does some smushing -- not much. you might also try mixing in some rules about owl:sameAs: { ?u = ?uu. ?u ?p ?v. } => { ?uu ?p ?v }. { ?u ?p ?v. ?v = ?vv } => { ?u ?p ?vv }. That's taken from http://www.w3.org/2000/10/swap/util/owlth.n3 it's a cwm-happy elaboration of rdfp11 from ter-Horst's work. # H.J. ter Horst, Completeness, Decidability and Complexity of Entailment for RDF # Schema and a Semantic Extension Involving the OWL Vocabulary, Revised and # extended version of [11], Journal of Web Semantics 3 (2005) 79-115. # http://www.websemanticsjournal.org/ps/pub/2005-15 -- Dan Connolly, W3C http://www.w3.org/People/Connolly/ gpg D3C2 887B 0F92 6005 C541 0875 0F91 96DE 6E52 C29E |
|
|
Re: log:conjunction and named graphsOn Sun, 2009-04-19 at 17:51 -0500, Dan Connolly wrote:
> On Fri, 2009-04-17 at 13:39 -0400, Tim Berners-Lee wrote: Never mind what I said: > you might also try mixing in some rules about owl:sameAs: I tested it and it doesn't help. What Tim said is more relevant: > > There is some optional owl:sameAs processing with --closure=e which > > does some smushing -- not much. You might try one of the backward chainers, i.e. Euler... maybe fuxi would help. But as you're quantifying over formulas, those engines might not help either. -- Dan Connolly, W3C http://www.w3.org/People/Connolly/ gpg D3C2 887B 0F92 6005 C541 0875 0F91 96DE 6E52 C29E |
| Free embeddable forum powered by Nabble | Forum Help |