#  Dependencies with W3C roadmap concepts.
#  Edited by hand. See makefile.

# To do:
#  Expand Voice from Dave's slides
#  Expand xHTML to 1.1, modularization needed by DI, Ruby needed by I18n

@keywords a, is, of.

@prefix doc: <http://www.w3.org/2000/10/swap/pim/doc#>.
@prefix log: <http://www.w3.org/2000/10/swap/log#>.
@prefix rm:    <http://www.w3.org/2001/04/roadmap/vocab#>.   #  @@@@@@@@@@@@@
@prefix u: <http://www.w3.org/2000/01/rdf-schema#>.
@prefix dot: <http://www.w3.org/2001/02pd/gv#>.
@prefix : <http://www.w3.org/2001/04/roadmap/w3c#>.
@prefix w: <http://www.w3.org/2001/04/roadmap/w3c#>.

@prefix ontaria: <ontaria.n3#>.

<> doc:version "$Id: w3c.n3,v 1.18 2006/07/29 17:57:27 timbl Exp $".


##############################################################  W3C dependencies

:fullpotential a rm:goal;
	dot:label "Full\\nPotential\\nOf The\\nWeb";
	rm:needs :busapp, :ui, :creative, :docs, :agents, :uni, :social.   # @@docs?

:busapp
    a rm:goal;
    dot:label "Business\\nAutomation";			rm:needs :directory, :flow, :xmlp2,
								:busmodel, :attachments,
								:busdesc, :busexec .


:busmodel
   dot:label "Model actual\\nbusiness processes";
   a rm:external;					rm:needs :busdesc;
							rm:influencedBy :ebXML, :uddi.

:busdesc dot:label "WS Choreography\\nDescription";
	a rm:planned;
							rm:influencedBy :damls, :wsci, :bpel, :owls.

:owls a rm:external; dot:label "OWL-S"; rm:needs :ontology.

:wsci dot:label "WSCI"; a rm:external.
:bpel dot:label "(bpel4ws)"; a rm:external.

:busexec dot:label "Bus. process\\nExecution"; a rm:planned;
							rm:influencedBy :rules, :bpel.

:damls dot:label "DAML Services"; a rm:external;	rm:needs :dpo.

:agents dot:label "Agents"; a rm:goal;			rm:needs :logic, :rdfquery, :rules, :trust.

:docs dot:label "document\\nprocessing"; a rm:goal;	rm:needs :xml2. 

:trust dot:label "Trust"; a rm:subgoal;			rm:needs :security, :proof, :rules.
:proof dot:label "Proof"; a rm:planned;			rm:needs :logic.
:security dot:label "Security"; a rm:subgoal;		rm:needs :sig, :encryption, :xkms, :saml.
 
:xkms dot:label "XKMS";
	a rm:current.
:saml dot:label "SAML";
	a rm:external.

:logic dot:label "Logic";a rm:planned;			rm:needs :rules.

:flow dot:label "Flow\\n(paper trail)";
    a rm:planned;					rm:influencedBy :picalc.

#:choreography dot:label "WS Choreography";
#    a rm:current; 					rm:needs :wsdv.

:picalc dot:label "e.g. Pi\\ncalculus?";
    a rm:external.

:directory dot:label "service\\ndirectory\\nservice";
    a rm:planned;					rm:needs  :rdfquery,  :wsdv.

:wsdv dot:label "Service Description.";
    a rm:current;					rm:needs  :flow, :rdf, :wsdv;
    							rm:influencedBy :wsdl.

:wsdl 	dot:label "WSDL"; a rm:external; 		rm:needs :xmls1, :xmls2.
:ebXML	dot:label "ebXML"; a rm:external.
:uddi	dot:label "UDDI"; a rm:external.

:xmlp2 dot:label "XML Prococol\\nEnhanced";
    a rm:subgoal;  # Actually a group @@
 							rm:needs :soap, :reliable,
							 :routing, :attachments, :privacy,
							 :security, :qos.

:privacy dot:label "services\\nprivacy"; a rm:planned;	rm:influencedBy :p3p.
:qos dot:label "QoS"; a rm:planned.

:reliable dot:label "Reliable\\nmessaging";
    a rm:planned;					rm:needs :flow .

:routing dot:label "Routing"; a rm:planned.

:attachments dot:label "Binary\\nattachments";
    a rm:planned.

:soap dot:label "SOAP 1.2"; a rm:current;		rm:needs :http11, :smtp, :xmls1;
							rm:influencedBy :soap1_1.
:soap1_1 dot:label "SOAP 1.1"; a rm:external.

:rdfquery dot:label "Query\\nService";
    a rm:prototyped;					rm:needs :sparql, :xmlp2.

:sparql  dot:label "Query\\nprotocol";
	a rm:prototyped;  # real soon now
    							rm:needs :rdf;
    							rm:influencedBy  :xmlquery.

:rules  dot:label "Rule\\nlanguage";
	a rm:prototyped;  # real soon now
    							rm:needs :rdf;
    							rm:influencedBy  :xmlquery.

:ontology dot:label "OWL - Web\\nOntology"; a rm:current;
							rm:needs :rdf, :rdfs,
								ontaria:ID127 ;  # Community center
							rm:influencedBy :dpo.

:dpo dot:label "DAML+OIL"; a rm:external;	 	rm:needs :rdfs.
:rdfs dot:label "RDF\\nSchema"; a rm:done;		rm:needs :rdf.
:rdf dot:label "RDF"; a rm:done;			rm:needs :xmlns, :xmls2, :cannon.

:xml 		dot:label "XML"; a rm:done; 		rm:needs :unicode, :xmlarch.
:xmlns	dot:label "xml +\\nnamespaces"; a rm:done;	rm:needs :xml, :uri.

:xmlarch	dot:label "processing\\nmodel";
		a rm:planned.
:unicode 	dot:label "Unicode"; a rm:external.
 
:sig dot:label "XML\\nSignature"; a rm:done;		rm:needs :xmlns, :cannon.
:cannon dot:label "XML Cannonicalization"; a rm:current.

:encryption dot:label "XML\\nEncryption";
	a rm:current;					rm:needs :xmlns.

:iri dot:label "IRI"; a rm:planned; rm:needs :uri.
:uri dot:label "URI"; a rm:done.

########################################################################

:ui		dot:label """Cool\\nU.I.""";
		a rm:goal;				rm:needs :html, :mathml, :smil, :svg,
									:screen, :ink, :natlang,
									:png, :xforms, :dom, :voice, :multim.

:multim	dot:label "Multimodal"; a rm:planned;		rm:needs :events.

:events dot:label "Events"; a rm:planned; 		rm:needs :dom, :xmlevents.
:xmlevents dot:label "xml Events"; a rm:planned.

:ink		dot:label "Ink"; a rm:planned;
		rm:needs :srgs.
:natlang 	dot:label "Natural language"; a rm:planned;
		rm:needs :srgs.
:screen 	dot:label "2D\\nintegration"; a rm:planned; rm:needs :html, :xforms, :mathml, :smil, :svg.
:html 		dot:label "XHTML"; a rm:done; 		rm:needs :xmlns, :htmlv, :css.
:htmlv		dot:label "XHTML\\nvalidator";
		a rm:program, rm:done.
:xforms 	dot:label "XForms"; 	a rm:current; 	rm:needs :xmlns, :css, :xmls1, :xpath.
:mathml 	dot:label "MathML"; 	a rm:closed;  	rm:needs :xmlns, :css.
:smil 		dot:label "SMIL"; 	a rm:closed; 		rm:needs :xmlns, :xlink.
:svg  		dot:label "SVG";	a rm:done;	rm:needs :xmlns, :xlink, :dom, :png,
									:css, :rdf.
:png		dot:label "PNG";	a rm:done.

:uni		dot:label "Universality\\nand Accessibility";
		a rm:goal;				rm:needs :sep, :di, :wai, :i18n.

:wai		dot:label "WAI"; 	a rm:current;	rm:needs :wai_many.
:wai_many	dot:label "many..."; a rm:external.

:i18n		dot:label "I18n"; a rm:current;		rm:needs :i18n_many.
:i18n_many	dot:label "many..."; a rm:external.

:sep		dot:label "Separate Form\\n and Content";
		a rm:subgoal;				rm:needs :css, :xslt, :fo, :ccpp, :html.

:di		dot:label "Device\\nIndependence";
	 	a rm:current; 				rm:needs :sep, :ccpp.

:ccpp		dot:label "CC/PP"; a rm:current;	rm:needs :rdf.
:fo		dot:label "Formatting\\nobjects";
		a rm:current;				rm:influencedBy :css.

:css		dot:label "CSS";	a rm:done;	rm:needs :cssv.

:cssv		dot:label "CSS\\nvalidator";
		a rm:program, rm:done.

:xlink	dot:label "xlink";  a rm:current;		rm:needs :xmlns, :xmlarch, :iri, :xpointer.
:xpointer	dot:label "xpointer";  a rm:current;	rm:needs :xmlns, :xmlarch, :iri, :xpath.

:voice		dot:label "Voice";  a rm:current;	rm:needs :vxml, :cc, :semint, :srgs, :ssml.
:vxml		dot:label "VXML"; a rm:current; 	rm:needs :xmlns.
:srgs		dot:label "Speech Recognition\\nGrammar";
		a rm:current;				rm:needs :xmlns.  # :uri :mime etc formally
:cc		dot:label "Call control"; a rm:current;	rm:needs :xmlns.
:semint		dot:label "Semantic Interpretation";
		a rm:current;				rm:needs :xmlns.
:ssml		dot:label "SSML\\nSpeech Synthesis";
		a rm:current;				rm:needs :vxml, :css, :xmlns;
							rm:influencedBy :jsml.
:jsml		dot:label "JSML"; a rm:external.


# Voice details:
# :vxml :rm:needs :synthesisml, :gml; 
# :synthesisml a :current.
# :gml: rm:needs :gmlabnf, :gmlxml.
# :natural_language_semantics a :planned.

:xml2		dot:label "xml\\nEnhanced"; a rm:subgoal;
							rm:needs :xmls, :xlink, :xpointer,
										 :xmlquery, :xslt,:dom.
:xmls		dot:label "xml Schema"; a rm:done;
		rm:needs :xmls1, :xmls2, :xmlns, :xmlsv, :iri.
:xmls1		dot:label"xml schema 1\\nStructures"; a rm:done.
:xmls2		dot:label"xml schema 2\\nDatatypes"; a rm:done.

:xmlsv	dot:label "XSV"; a rm:program, rm:done;	rm:needs :infoset.
:infoset	dot:label "infoset"; a rm:done;		rm:needs :xmlns.
:xslt		dot:label "XSLT"; a rm:done;		rm:needs :xmlarch, :xpath.
:dom		dot:label "DOM"; a rm:done;		rm:needs :xmlarch, :infoset.
:xmlquery	dot:label "xml Query"; a rm:current;	rm:needs :xmlarch, :xpath, :xmls1.

:xpath		dot:label "XPath"; a rm:current;	rm:needs :xmlns, :xmls1.

:creative	dot:label "Creative\\nSpace"; a rm:goal;
    rm:needs :amaya, :annotea, :jigsaw.

:annotea 	dot:label "Annotea";
		a rm:program, rm:external;		rm:needs :amaya, :jigsaw;
							rm:prototypes :rdfquery,
							  :xpointer, :http11, :rdf, :png, :xlink, :xpointer.
:amaya	dot:label "Amaya";
		a rm:program, rm:closed;			rm:prototypes :http11, :mathml, :svg, :html, :png,
								:css, :xlink, :xpointer.

:http11	dot:label "HTTP 1.1"; a rm:closed;		rm:needs :tcp, :dns, :mime.
:webdav	dot:label "WebDAV"; a rm:external;		rm:needs :http11, :xmlns.

:smtp		dot:label "SMTP"; a rm:external;		rm:needs :tcp, :dns, :mime.
:mime		dot:label "MIME"; a rm:external.
:tcp		dot:label "TCP"; a rm:external;		rm:needs :ip.
:dns		dot:label "DNS"; a rm:external;		rm:needs :ip.
:ip		dot:label "IP"; a rm:external.

:jigsaw	dot:label "Jigsaw";
		a rm:program, rm:external;		rm:prototypes :http11, :webdav, :soap.

:social	dot:label "Needs of\\nSociety";
		a rm:goal; 						rm:needs  :p3p, :security, :ipr.
:p3p		dot:label "P3P";  a rm:done.
:ipr		dot:label "Digital rights\\nmanagement"; a rm:planned;	rm:needs :ontology.

# ends
