sumguysr / oxpath Goto Github PK
View Code? Open in Web Editor NEWAutomatically exported from code.google.com/p/oxpath
Automatically exported from code.google.com/p/oxpath
Dear all,
I want to extract rainfall data from
http://hydrology.gov.np/new/bull3/index.php/hydrology/basin website. The
sequeces of clicking is given below:
1. Enter url <http://hydrology.gov.np/new/bull3/index.php/hydrology/basin>
2. Click for One zone, e.g. Bagmati.
<http://hydrology.gov.np/new/bull3/index.php/hydrology/basin/view?basinId=8>
3. Click for thankot > rainfall
<http://hydrology.gov.np/new/bull3/index.php/hydrology/station/graph_view?statio
nId=22&deviceId=19&categoryId=5>
4. Enter date in Select Date field, say "2012-05-12" and hourly and click view
<http://hydrology.gov.np/new/bull3/index.php/hydrology/station/graph_view?device
Id=19&stationId=22&categoryId=5&startDate=2012-05-12&type=hourly>
6. Extract Hour, hourly rainfall and hourly cummulative rainfall from table.
For this, I have written a templete of expression which is saved in
hydrology.txt which is given below:
doc("http://hydrology.gov.np/new/bull3/index.php/hydrology/basin")
//a[starts-with(.,'Bagmati')]/{click/}
//following::a[starts-with(.,'Thankot')]/following::a[starts-with(.,'Rainfall')]/{click/}
//input[@name='_date']/{'2013-05-12'/}/following::button[@name='graph_view'][5]/{click/}
/html/body/div[3]/div/div[2]/div/div/div[3]/div/table/tbody:<Rainfall>
[? .//tbody[1]/tr[1]/td[2]:<hour=string(.)>]
I run the following command:
$java -jar oxpath1.1.jar --xml -query hydrology.txt
It produces the following output:
-----------------------------------
suresh@suresh-Latitude-E6430:~/aksw/implementation/OXPath/cli$ java -jar
oxpath1.1.jar --xml -query hydrology.txt
2013-11-11 17:37:06 [INFO] The current main class is
'uk.ac.ox.cs.diadem.oxpath.core.OXPathCLI', isTestRun=false.
2013-11-11 17:37:06 [INFO] The system type is identified as 'Linux'.
2013-11-11 17:37:06 [INFO] Reading default configuration file
'Configuration.xml'...
2013-11-11 17:37:06 [INFO] finished reading configuration file.
2013-11-11 17:37:06 [INFO] Platform 'MacOSX' has configuration file
'MacOSXPlatformConfiguration.xml'
2013-11-11 17:37:06 [INFO] Platform 'Linux' has configuration file
'LinuxPlatformConfiguration.xml'
2013-11-11 17:37:06 [INFO] Platform 'Unknown' has configuration file
'LinuxPlatformConfiguration.xml'
2013-11-11 17:37:06 [INFO] Platform 'Windows' has configuration file
'WindowsPlatformConfiguration.xml'
2013-11-11 17:37:06 [INFO] Reading platform configuration file
'LinuxPlatformConfiguration.xml'...
2013-11-11 17:37:06 [INFO] finished reading configuration file.
2013-11-11 17:37:06 [INFO] No default configuration file
'/uk/ac/ox/cs/diadem/nlp/annotator/Configuration.xml'...
2013-11-11 17:37:06 [INFO] No default configuration file
'/uk/ac/ox/cs/diadem/storage/Configuration.xml'...
2013-11-11 17:37:06 [INFO] Reading default configuration file
'/uk/ac/ox/cs/diadem/webapi/Configuration.xml'...
2013-11-11 17:37:06 [INFO] finished reading configuration file.
2013-11-11 17:37:06 [INFO] Reading default configuration file
'/uk/ac/ox/cs/diadem/oxpath/Configuration.xml'...
2013-11-11 17:37:06 [INFO] finished reading configuration file.
2013-11-11 17:37:06 [INFO] No default configuration file
'/uk/ac/ox/cs/diadem/oxpath/server/Configuration.xml'...
2013-11-11 17:37:06 [INFO] No default configuration file
'/uk/ac/ox/cs/diadem/domFactsGenerator/Configuration.xml'...
2013-11-11 17:37:06 [INFO] No default configuration file
'/uk/ac/ox/cs/diadem/oxtractor/datte/Configuration.xml'...
2013-11-11 17:37:06 [INFO] No default configuration file
'/uk/ac/ox/cs/diadem/form/Configuration.xml'...
2013-11-11 17:37:06 [INFO] No default configuration file
'/uk/ac/ox/cs/diadem/form/client/Configuration.xml'...
2013-11-11 17:37:06 [INFO] No default configuration file
'/uk/ac/ox/cs/diadem/result/Configuration.xml'...
2013-11-11 17:37:06 [INFO] No default configuration file
'/uk/ac/ox/cs/diadem/generator/Configuration.xml'...
2013-11-11 17:37:06 [INFO] No default configuration file
'/uk/ac/ox/cs/diadem/generator/client/Configuration.xml'...
2013-11-11 17:37:06 [INFO] No default configuration file
'/uk/ac/ox/cs/diadem/widgex/client/Configuration.xml'...
2013-11-11 17:37:06 [INFO] Reading default configuration file
'/uk/ac/ox/cs/diadem/util/Configuration.xml'...
2013-11-11 17:37:06 [INFO] finished reading configuration file.
2013-11-11 17:37:06 [INFO] No default configuration file
'/uk/ac/ox/cs/diadem/reasoning/Configuration.xml'...
2013-11-11 17:37:06 [INFO] No default configuration file
'/uk/ac/ox/cs/diadem/detailspage/Configuration.xml'...
2013-11-11 17:37:06 [INFO] Reading default configuration file
'/uk/ac/ox/cs/diadem/env/Configuration.xml'...
2013-11-11 17:37:06 [INFO] finished reading configuration file.
2013-11-11 17:37:06 [INFO] No default configuration file
'/uk/ac/ox/cs/diadem/beryl/Configuration.xml'...
2013-11-11 17:37:06 [INFO] No default configuration file
'/uk/ac/ox/cs/diadem/beryl_legacy/Configuration.xml'...
2013-11-11 17:37:06 [INFO] No default configuration file
'/uk/ac/ox/cs/diadem/processing/Configuration.xml'...
2013-11-11 17:37:06 [INFO] No default configuration file
'/uk/ac/ox/cs/diadem/processing/actions/Configuration.xml'...
2013-11-11 17:37:06 [INFO] No default configuration file
'/uk/ac/ox/cs/diadem/processing/reasoning/Configuration.xml'...
2013-11-11 17:37:06 [INFO] No default configuration file
'/uk/ac/ox/cs/diadem/processing/factfinders/Configuration.xml'...
2013-11-11 17:37:06 [INFO] No default configuration file
'/uk/ac/ox/cs/diadem/processing/browsers/Configuration.xml'...
2013-11-11 17:37:06 [INFO] No default configuration file
'/uk/ac/ox/cs/diadem/processing/generator/Configuration.xml'...
2013-11-11 17:37:06 [INFO] No default configuration file
'/uk/ac/ox/cs/diadem/scheduler/Configuration.xml'...
2013-11-11 17:37:06 [INFO] No default configuration file
'/uk/ac/ox/cs/diadem/dom/shadow/Configuration.xml'...
2013-11-11 17:37:06 [INFO] Collection optionals from global, plattform, and
package configuration (NOTE: optionals NEVER override each other!)...
2013-11-11 17:37:06 [INFO] Optional configuration slot 'Domain' defaults to
'RealEstate' and is set to 'RealEstate'.
2013-11-11 17:37:06 [INFO] Optional configuration slot 'Domain' has option
'RealEstate' with file 'RealEstateDomainConfiguration.xml'.
2013-11-11 17:37:06 [INFO] Optional configuration slot 'Domain' has option
'UsedCars' with file 'UsedCarDomainConfiguration.xml'.
2013-11-11 17:37:06 [INFO] finished collecting optionals from global,
plattform, and package configurations.
2013-11-11 17:37:06 [INFO] Reading optional configuration file
'RealEstateDomainConfiguration.xml' ...
2013-11-11 17:37:06 [INFO] finished reading configuration file.
2013-11-11 17:37:06 [INFO] No configuration
'/uk/ac/ox/cs/diadem/nlp/annotator/RealEstateDomainConfiguration.xml' for
configuration slot 'Domain'.
2013-11-11 17:37:06 [INFO] No configuration
'/uk/ac/ox/cs/diadem/storage/RealEstateDomainConfiguration.xml' for
configuration slot 'Domain'.
2013-11-11 17:37:06 [INFO] No configuration
'/uk/ac/ox/cs/diadem/webapi/RealEstateDomainConfiguration.xml' for
configuration slot 'Domain'.
2013-11-11 17:37:06 [INFO] No configuration
'/uk/ac/ox/cs/diadem/oxpath/RealEstateDomainConfiguration.xml' for
configuration slot 'Domain'.
2013-11-11 17:37:06 [INFO] No configuration
'/uk/ac/ox/cs/diadem/oxpath/server/RealEstateDomainConfiguration.xml' for
configuration slot 'Domain'.
2013-11-11 17:37:06 [INFO] No configuration
'/uk/ac/ox/cs/diadem/domFactsGenerator/RealEstateDomainConfiguration.xml' for
configuration slot 'Domain'.
2013-11-11 17:37:06 [INFO] No configuration
'/uk/ac/ox/cs/diadem/oxtractor/datte/RealEstateDomainConfiguration.xml' for
configuration slot 'Domain'.
2013-11-11 17:37:06 [INFO] No configuration
'/uk/ac/ox/cs/diadem/form/RealEstateDomainConfiguration.xml' for configuration
slot 'Domain'.
2013-11-11 17:37:06 [INFO] No configuration
'/uk/ac/ox/cs/diadem/form/client/RealEstateDomainConfiguration.xml' for
configuration slot 'Domain'.
2013-11-11 17:37:06 [INFO] No configuration
'/uk/ac/ox/cs/diadem/result/RealEstateDomainConfiguration.xml' for
configuration slot 'Domain'.
2013-11-11 17:37:06 [INFO] No configuration
'/uk/ac/ox/cs/diadem/generator/RealEstateDomainConfiguration.xml' for
configuration slot 'Domain'.
2013-11-11 17:37:06 [INFO] No configuration
'/uk/ac/ox/cs/diadem/generator/client/RealEstateDomainConfiguration.xml' for
configuration slot 'Domain'.
2013-11-11 17:37:06 [INFO] No configuration
'/uk/ac/ox/cs/diadem/widgex/client/RealEstateDomainConfiguration.xml' for
configuration slot 'Domain'.
2013-11-11 17:37:06 [INFO] No configuration
'/uk/ac/ox/cs/diadem/util/RealEstateDomainConfiguration.xml' for configuration
slot 'Domain'.
2013-11-11 17:37:06 [INFO] No configuration
'/uk/ac/ox/cs/diadem/reasoning/RealEstateDomainConfiguration.xml' for
configuration slot 'Domain'.
2013-11-11 17:37:06 [INFO] No configuration
'/uk/ac/ox/cs/diadem/detailspage/RealEstateDomainConfiguration.xml' for
configuration slot 'Domain'.
2013-11-11 17:37:06 [INFO] No configuration
'/uk/ac/ox/cs/diadem/env/RealEstateDomainConfiguration.xml' for configuration
slot 'Domain'.
2013-11-11 17:37:06 [INFO] No configuration
'/uk/ac/ox/cs/diadem/beryl/RealEstateDomainConfiguration.xml' for configuration
slot 'Domain'.
2013-11-11 17:37:06 [INFO] No configuration
'/uk/ac/ox/cs/diadem/beryl_legacy/RealEstateDomainConfiguration.xml' for
configuration slot 'Domain'.
2013-11-11 17:37:06 [INFO] No configuration
'/uk/ac/ox/cs/diadem/processing/RealEstateDomainConfiguration.xml' for
configuration slot 'Domain'.
2013-11-11 17:37:06 [INFO] No configuration
'/uk/ac/ox/cs/diadem/processing/actions/RealEstateDomainConfiguration.xml' for
configuration slot 'Domain'.
2013-11-11 17:37:06 [INFO] No configuration
'/uk/ac/ox/cs/diadem/processing/reasoning/RealEstateDomainConfiguration.xml'
for configuration slot 'Domain'.
2013-11-11 17:37:06 [INFO] No configuration
'/uk/ac/ox/cs/diadem/processing/factfinders/RealEstateDomainConfiguration.xml'
for configuration slot 'Domain'.
2013-11-11 17:37:06 [INFO] No configuration
'/uk/ac/ox/cs/diadem/processing/browsers/RealEstateDomainConfiguration.xml' for
configuration slot 'Domain'.
2013-11-11 17:37:06 [INFO] No configuration
'/uk/ac/ox/cs/diadem/processing/generator/RealEstateDomainConfiguration.xml'
for configuration slot 'Domain'.
2013-11-11 17:37:06 [INFO] No configuration
'/uk/ac/ox/cs/diadem/scheduler/RealEstateDomainConfiguration.xml' for
configuration slot 'Domain'.
2013-11-11 17:37:06 [INFO] No configuration
'/uk/ac/ox/cs/diadem/dom/shadow/RealEstateDomainConfiguration.xml' for
configuration slot 'Domain'.
2013-11-11 17:37:06 [INFO] No local configuration file
'src/main/config/Configuration.xml'.
2013-11-11 17:37:06 [INFO] Configurations 'global configuration' and 'platform
configuration' have an overlap for key 'platform.name': platform wins
2013-11-11 17:37:06 [INFO] Switching to logging configuration in file
'/uk/ac/ox/cs/diadem/env/configuration/DefaultLog4j.properties'.
2013-11-11 17:37:06 diadem.oxpath.core.OXPathCLI [INFO] XML OUTPUT HANDLER;
2013-11-11 17:37:20 diadem.oxpath.core.ActionEngine [INFO] Taking action
'CLICK' on element ['a' : 'Bagmati']
2013-11-11 17:37:26 webapi.dom.impl.HTMLUnitBrowser212 [INFO] after click,
current page is
'http://hydrology.gov.np/new/bull3/index.php/hydrology/basin/view?basinId=8' in
window 'TopLevelWindow[name=""]':
2013-11-11 17:37:29 diadem.oxpath.core.ActionEngine [INFO] Taking action
'CLICK' on element ['a' : 'Rainfall']
2013-11-11 17:37:34 webapi.dom.impl.HTMLUnitBrowser212 [INFO] after click,
current page is
'http://hydrology.gov.np/new/bull3/index.php/hydrology/station/graph_view?statio
nId=22&deviceId=19&categoryId=5' in window 'TopLevelWindow[name=""]':
Exception in thread "main" 2013-11-11 17:37:34
diadem.oxpath.output.XMLOutputHandler [ERROR]
java.lang.ClassCastException: com.gargoylesoftware.htmlunit.svg.SvgSvg cannot
be cast to com.gargoylesoftware.htmlunit.html.HtmlElement
at uk.ac.ox.cs.diadem.webapi.dom.impl.HTMLUnitBrowser212.wrapProperObject(HTMLUnitBrowser212.java:1903)
at uk.ac.ox.cs.diadem.webapi.dom.impl.HTMLUnitBrowser212$DOMXPathEvaluatorOnHTMLUnitImpl$1.snapshotItem(HTMLUnitBrowser212.java:1925)
at uk.ac.ox.cs.diadem.oxpath.model.OXPathContextNode.getByXPath(OXPathContextNode.java:173)
at uk.ac.ox.cs.diadem.oxpath.model.OXPathContextNode.getByOXPath(OXPathContextNode.java:285)
at uk.ac.ox.cs.diadem.oxpath.model.OXPathContextNode.getByOXPath(OXPathContextNode.java:255)
at uk.ac.ox.cs.diadem.oxpath.core.PAATEval_Visitor.visitNode(PAATEval_Visitor.java:138)
at uk.ac.ox.cs.diadem.oxpath.core.PAATEval_Visitor.visitNode(PAATEval_Visitor.java:1)
at uk.ac.ox.cs.diadem.oxpath.parser.visitor.OXPathVisitorGenericAdaptor.visit(OXPathVisitorGenericAdaptor.java:92)
at uk.ac.ox.cs.diadem.oxpath.parser.ast.ASTSimpleOXPathStepPath.jjtAccept(ASTSimpleOXPathStepPath.java:20)
at uk.ac.ox.cs.diadem.oxpath.parser.visitor.OXPathVisitorGenericAdaptor.accept(OXPathVisitorGenericAdaptor.java:169)
at uk.ac.ox.cs.diadem.oxpath.core.PAATEval_Visitor.eval_(PAATEval_Visitor.java:411)
at sun.reflect.GeneratedMethodAccessor51.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:616)
at uk.ac.ox.cs.diadem.oxpath.utils.OXPathMemoizer.invoke(OXPathMemoizer.java:77)
at uk.ac.ox.cs.diadem.oxpath.utils.OXPathMemoizer.invoke(OXPathMemoizer.java:67)
at sun.proxy.$Proxy13.eval_(Unknown Source)
at uk.ac.ox.cs.diadem.oxpath.core.PAATEvalVisitor.visitNode(PAATEvalVisitor.java:207)
at uk.ac.ox.cs.diadem.oxpath.core.PAATEvalVisitor.visitNode(PAATEvalVisitor.java:1)
at uk.ac.ox.cs.diadem.oxpath.parser.visitor.OXPathVisitorGenericAdaptor.visit(OXPathVisitorGenericAdaptor.java:86)
at uk.ac.ox.cs.diadem.oxpath.parser.ast.ASTRelativeOXPathLocationPath.jjtAccept(ASTRelativeOXPathLocationPath.java:20)
at uk.ac.ox.cs.diadem.oxpath.parser.visitor.OXPathVisitorGenericAdaptor.accept(OXPathVisitorGenericAdaptor.java:169)
at uk.ac.ox.cs.diadem.oxpath.core.PAATEvalVisitor.visitNode(PAATEvalVisitor.java:363)
at uk.ac.ox.cs.diadem.oxpath.core.PAATEvalVisitor.visitNode(PAATEvalVisitor.java:1)
at uk.ac.ox.cs.diadem.oxpath.parser.visitor.OXPathVisitorGenericAdaptor.visit(OXPathVisitorGenericAdaptor.java:104)
at uk.ac.ox.cs.diadem.oxpath.parser.ast.ASTOXPathActionPath.jjtAccept(ASTOXPathActionPath.java:20)
at uk.ac.ox.cs.diadem.oxpath.parser.visitor.OXPathVisitorGenericAdaptor.accept(OXPathVisitorGenericAdaptor.java:169)
at uk.ac.ox.cs.diadem.oxpath.core.PAATEvalVisitor.visitNode(PAATEvalVisitor.java:215)
at uk.ac.ox.cs.diadem.oxpath.core.PAATEvalVisitor.visitNode(PAATEvalVisitor.java:1)
at uk.ac.ox.cs.diadem.oxpath.parser.visitor.OXPathVisitorGenericAdaptor.visit(OXPathVisitorGenericAdaptor.java:86)
at uk.ac.ox.cs.diadem.oxpath.parser.ast.ASTRelativeOXPathLocationPath.jjtAccept(ASTRelativeOXPathLocationPath.java:20)
at uk.ac.ox.cs.diadem.oxpath.parser.visitor.OXPathVisitorGenericAdaptor.accept(OXPathVisitorGenericAdaptor.java:169)
at uk.ac.ox.cs.diadem.oxpath.core.PAATEvalVisitor.visitNode(PAATEvalVisitor.java:363)
at uk.ac.ox.cs.diadem.oxpath.core.PAATEvalVisitor.visitNode(PAATEvalVisitor.java:1)
at uk.ac.ox.cs.diadem.oxpath.parser.visitor.OXPathVisitorGenericAdaptor.visit(OXPathVisitorGenericAdaptor.java:104)
at uk.ac.ox.cs.diadem.oxpath.parser.ast.ASTOXPathActionPath.jjtAccept(ASTOXPathActionPath.java:20)
at uk.ac.ox.cs.diadem.oxpath.parser.visitor.OXPathVisitorGenericAdaptor.accept(OXPathVisitorGenericAdaptor.java:169)
at uk.ac.ox.cs.diadem.oxpath.core.PAATEvalVisitor.visitNode(PAATEvalVisitor.java:215)
at uk.ac.ox.cs.diadem.oxpath.core.PAATEvalVisitor.visitNode(PAATEvalVisitor.java:1)
at uk.ac.ox.cs.diadem.oxpath.parser.visitor.OXPathVisitorGenericAdaptor.visit(OXPathVisitorGenericAdaptor.java:86)
at uk.ac.ox.cs.diadem.oxpath.parser.ast.ASTRelativeOXPathLocationPath.jjtAccept(ASTRelativeOXPathLocationPath.java:20)
at uk.ac.ox.cs.diadem.oxpath.parser.visitor.OXPathVisitorGenericAdaptor.accept(OXPathVisitorGenericAdaptor.java:169)
at uk.ac.ox.cs.diadem.oxpath.core.PAATEvalVisitor.visitNode(PAATEvalVisitor.java:363)
at uk.ac.ox.cs.diadem.oxpath.core.PAATEvalVisitor.visitNode(PAATEvalVisitor.java:1)
at uk.ac.ox.cs.diadem.oxpath.parser.visitor.OXPathVisitorGenericAdaptor.visit(OXPathVisitorGenericAdaptor.java:104)
at uk.ac.ox.cs.diadem.oxpath.parser.ast.ASTOXPathActionPath.jjtAccept(ASTOXPathActionPath.java:20)
at uk.ac.ox.cs.diadem.oxpath.parser.visitor.OXPathVisitorGenericAdaptor.accept(OXPathVisitorGenericAdaptor.java:169)
at uk.ac.ox.cs.diadem.oxpath.core.PAATEvalVisitor.visitNode(PAATEvalVisitor.java:215)
at uk.ac.ox.cs.diadem.oxpath.core.PAATEvalVisitor.visitNode(PAATEvalVisitor.java:1)
at uk.ac.ox.cs.diadem.oxpath.parser.visitor.OXPathVisitorGenericAdaptor.visit(OXPathVisitorGenericAdaptor.java:86)
at uk.ac.ox.cs.diadem.oxpath.parser.ast.ASTRelativeOXPathLocationPath.jjtAccept(ASTRelativeOXPathLocationPath.java:20)
at uk.ac.ox.cs.diadem.oxpath.parser.visitor.OXPathVisitorGenericAdaptor.accept(OXPathVisitorGenericAdaptor.java:169)
at uk.ac.ox.cs.diadem.oxpath.core.PAATEvalVisitor.visitNode(PAATEvalVisitor.java:168)
at uk.ac.ox.cs.diadem.oxpath.core.PAATEvalVisitor.visitNode(PAATEvalVisitor.java:1)
at uk.ac.ox.cs.diadem.oxpath.parser.visitor.OXPathVisitorGenericAdaptor.visit(OXPathVisitorGenericAdaptor.java:80)
at uk.ac.ox.cs.diadem.oxpath.parser.ast.ASTExpression.jjtAccept(ASTExpression.java:20)
at uk.ac.ox.cs.diadem.oxpath.parser.visitor.OXPathVisitorGenericAdaptor.accept(OXPathVisitorGenericAdaptor.java:169)
at uk.ac.ox.cs.diadem.oxpath.core.OXPath.invoke(OXPath.java:126)
at uk.ac.ox.cs.diadem.oxpath.core.OXPath.evaluate(OXPath.java:58)
at uk.ac.ox.cs.diadem.oxpath.core.OXPathCLI.main(OXPathCLI.java:81)
Thanks,
Best Regards,
Suresh Pokharel
Original issue reported on code.google.com by [email protected]
on 11 Nov 2013 at 4:45
What steps will reproduce the problem?
1.
2.
3.
What is the expected output? What do you see instead?
Please use labels and text to provide additional information.
Original issue reported on code.google.com by [email protected]
on 2 Jun 2014 at 5:07
the current implementation does not support style axis
Original issue reported on code.google.com by [email protected]
on 15 Feb 2013 at 3:34
The current implementation does not support intensional axis
Original issue reported on code.google.com by [email protected]
on 15 Feb 2013 at 3:32
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.