- From: Jeff Heflin <heflin@cs.umd.edu>
- Date: Thu, 11 May 2000 12:40:46 -0400
- To: Dan Connolly <connolly@w3.org>, www-rdf-interest@w3.org
Hi all, As the main spokesperson for SHOE I though I'd comment on Dan's post. I'd like to say that I think that translations between the various semantic web languages is important because it can leverage the work of others. When I have the time, I intend to write a translator from RDF to SHOE, which will enable you to use the SHOE query tools (see http://www.cs.umd.edu/projects/plus/SHOE/) on RDF data. First, Dan is correct in that there is no syntactic distinction between resources and literals in SHOE. The distinction is in the semantics of the ontology. If the ontology defines an argument to be of the type of some category, then any value for that argument must be the key of an object (i.e., a resource). If the type is .STRING, .DATE, .NUMBER, etc. then its a literal. Unfortunately this is probably something you can't determine with XSLT. A hack is to treat anything that begins with "http://" as a resource identifier. It will work in most cases. Second, SHOE use-ontology statements are similar to the way RDF use namespaces to identify schemas. I say similar and not equivalent because a use-ontology says that I specifically agree only to the semantics implied by this ontology and those ontologies which it extends. It's not clear that RDF Schema has such a feature. For example if you have a schema http://schema.org/web which defines the class Web_Developer, what does it mean when someone else creates another schema (say http://hacker.org/hah) that includes the following RDF: <rdfs:Class rdf:about="http://schema.org/web#Web_Developer"> <rdfs:subclassOf rdf:resource="#Silly_Person"> </rdfs:Class> I do not see any restrictions in the RDFS spec to prevent such a statement. Also, as I understand it way namespaces are used in RDF is only to uniquely identify what object you're talking about, not which sets of definitions you subscribe to. Thus, if I state that I am Web_Developer, then do I also imply that I am a Silly_Person? Note that in SHOE, you cannot state that a class defined elsewhere is the subclass of another class, and even if you could, the semantics for reasoning about web pages are those that the web page explicitly commits to. As an aside, we have worked out a formal model that deals with intended perspectives (what the author explictly believes can be reasoned from his web page) and alternate perspectives (what the user wants to conclude from a web page). These issues are discussed in a paper that will appear in the Seventeenth National Conference on Artificial Intelligence (AAAI-2000). The paper is available online from http://www.cs.umd.edu/projects/plus/SHOE/pubs/#aaai2000. Third, SHOE objects can be defined in one ontology and reused in other ontologies via either prefix chaining or renaming (creating a local alias for the name). To get this to truly work in RDF, you would have to resolve each prefixed SHOE name to the name in the originating ontology and then translate that to the corresponding RDF schema. I hope these comments help clarify some points in translating SHOE to RDF. If anyone has any further questions on SHOE, please feel free to contact me. Jeff Heflin heflin@cs.umd.edu University of Maryland, College Park BTW: Dan, some of the links on your SHOE to RDF page appear to be broken, or at least not available to the public. In particular the tidy configuration, RDF output, and xhtmlized PLUS page. Dan Connolly wrote: > > More XSLT and RDF fun: > > Transforming SHOE to RDF > http://www.w3.org/2000/04shoe-swell/ > > I took some shoe pages and then xhtml-ized them: > (1) xml-ized them using tidy > with a config file for allowing SHOE tags > (2) added the SHOE namespace to the shoe tags > > So much for un-crufting the pages... then I actually converted > them to RDF. I started proceeding methodically thru the > SHOE spec, but then got sloppy and just hacked on a case-by-case > basis thru the SHOE tutorial. I got thru the first two > pages of the tutorial (basic ontologies and instances) > but I haven't tackled inferences (i.e. horn clauses, i.e. > if/then's with variables) yet. > > Some @@'s from the code, and a bit of annotation: > > <xsl:with-param name="value" select="shoe:arg/@value"/> <!-- @@ URI > or not??? --> > > -- in shoe relations, there's no syntactic distinction > between literals and URIs, so I can't > tell when to use rdf:resource and when not to. :-{ > > <!-- @@ we treat use-ontology as purely syntactic; > should we extract any semantics from it? > --> > > <xsl:message>@@found n-ary predicate; only binary predicates are > implemented</xsl:message> > > <!-- @@FIX: only one level of prefix is supported --> > > -- SHOE allows x.y.z in names, to mean > "the thing called z in the thing called y in the thing > that I call x, which is at URL ..." > > <!-- use a shoe URL directly as an RDF namespace, > or do some sort of mapping? @@ --> > > -- > Dan Connolly, W3C http://www.w3.org/People/Connolly/
Received on Thursday, 11 May 2000 12:40:50 UTC