superuserdev / schemaserver Goto Github PK
View Code? Open in Web Editor NEWA microdata-based API server written in PHP using PostgreSQL
License: GNU Lesser General Public License v3.0
A microdata-based API server written in PHP using PostgreSQL
License: GNU Lesser General Public License v3.0
Since table names now include uppercase, they will need to be quoted in Traits\Database
.
The project is being transferred to organization account. This means that all namespaces will need to be changed from shgysk8zer0\SchemaServer
to SuperUserDev\SchemaServer
.
A simple find-and-replace should work.
Changing owners shouldn't affect any working / checked-out code. It will only be an issue if namespace does not match cloned directory.
Need to be able to correctly parse and create
{"str1", "str2", ...}
text[]
{'{"key": "value"}, ...'}
jsonb[]
{"key": "value", ...}
jsonb
Will need to create a method to distinguish between types text
, text[]
, jsonb
, & jsonb[]
Need the typical:
Should have URLs valid for geo:
, mailto:
, bitcoin:
, tel:
Will probably involve stripping off the protocol and validating the data. Perhaps PHP's URL parsing functions can assist here.
Database component of #6
Create tables for each new class created. Dump database structure and commit.
Still need:
Anything else necessary for inheritance and critical properties of the above.
This is one of those questions that needs a VERY solid answer. How can I, for example, set multiple values for image
for a Person
? Performance will be heavily impacted by the solution to this problem.
Need to be able to reference several Thing
s and be able to to construct them from whatever is stored in this field.
Implement at least some basic linting of PHP scripts for Travis-CI
Everything will be assigned to me in some way for now, but...
https://github.com/blog/2392-introducing-code-owners
If you would like a new property or type defined, please first have it added
to schema.org
Many properties are missing. Since this class is the base/parent for
Article
,ImageObject
, and many others, full implementation is a high priority.
GeoShape
can be a line, circle, rectangle, or polygon. Each of these takes in at least one GPS coordinates (longitude, latitude).
Should I include a helper class/trait/interface that adds points (GeoCoordinates
) to a given shape and generates the correct shape?
public static function makePolygon(GeoCoordinates ...$coords): String;
public static function makeCircle(GeoCoordinates $origin, Float $radius): String;
public static function makeBox(GeoCoordinates $pt1, GeoCoordinates $pt2): String;
public static function makeLine(GeoCoordinates $pt1, GeoCoordinates $pt2): String;
class_exists
.test/
directoryShould things like Distance
be stored with their own table? I don't see that an object for 5 feet would benefit from having an image for that distance, nor that it would make sense to share that value with all other things that are 5 feet.
Perhaps this would make more sense to store as simple jsonb
. It would even end up saving some sub-queries if, for example, querying for an extension cord that is 5' long.
On the other hand, reuse would end up saving space and would make classes, tables, & schemas consistent.
Using a trait, implement method saving days too database.
For future simplicity, the SQL should be generated by PHP, allowing any class/object to just call this method to save itself.
Should return a hash it id.
Using the _set
method only allows for setting a single value. Need to create an _add
method that will append values to an array (or SplObjectStorage
).
Will then need to add appropriate methods such as Thing::addImage()
and update database structure to allow jsonb[]
storage.
There are 64 tables created in db.sql
, but 66 classes.
Really need a way of checking that all classes & tables exist. Which would be easier if the only PHP scripts in root directory were classes.
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.