1. A method of operating a client for a database system, the database system having a server which stores data in the form of data items and properties of the data items, wherein the data items are grouped into classes,
wherein at least one of relations between properties and relations between classes are defined, relations between properties being defined as directed links linking pairs of properties as superproperty and subproperty, the subproperty inheriting from the superproperty and from any properties from which the superproperty inherits, relations between classes being defined as directed links between pairs of classes, each pair including a superclass and a subclass, the subclass inheriting from the superclass and from any classes from which the superclass inherits, the method comprising:
accepting an input query including at least one reference to a property;
rewriting the input query as a rewritten query by including together with a reference to a property that is a superproperty a reference to one or more properties which inherit from the superproperty andor including together with a reference to a class that is a superclass a reference to one or more classes which inherit from the superclass;
sending the rewritten query to the database server; and
receiving the results from the server.
2. A method according to claim 1 further comprising, when the results from the server include a reference to a subproperty, rewriting the results to add together with a reference to the subproperty references to at least one property from which the subproperty inherits.
3. A method according to claim 1 wherein only relations between properties are defined and the step of rewriting the input query only rewrites references to properties.
4. A method according to claim 1 wherein only relations between classes are defined and the step of rewriting the input query only rewrites references to classes.
5. A method according to claim 1 wherein both relations between properties and classes are defined and the step of rewriting the input query rewrites references to both properties and classes.
6. A method according to claim 1, the method further comprising the steps of:
calculating the transitive closure of the directed graph of classes and storing the transitive closure as one or more lists, and
using at least one of the one or more lists to rewrite a query containing a reference to a class that is a superclass.
7. A method according to claim 6 comprising storing the transitive closure as a hash map of lists.
8. A method according to claim 1, the method further comprising the steps of:
calculating the transitive closure of the directed graph of all properties and storing the transitive closure as one or more lists, and
using at least one of the one or more lists to rewrite a query referencing a property.
9. A method according to claim 8 comprising storing the transitive closure as a hash map of lists.
10. A computer program product which is arranged, when installed in a client, to cause the client to execute a method according to claim 1.
11. A computer program product for a database system having a server which stores data in the form of data items and properties of the data items,
wherein at least one of relations between properties and relations between classes are defined, relations between properties being defined as directed links linking pairs of properties as superproperty and subproperty, the subproperty inheriting from the superproperty and from any properties from which the superproperty inherits, relations between classes being defined as directed links between pairs of classes, each pair including a superclass and a subclass, the subclass inheriting from the superclass and from any classes from which the superclass inherits, the program product comprising:
accepting an input query including at least one reference to a property;
rewriting the input query as a rewritten query by including together with a reference to a property that is a superproperty a reference to one or more properties which inherit from the superproperty andor including together with a reference to a class that is a superclass a reference to one or more classes which inherit from the superclass;
sending the rewritten query to the database server; and
receiving the results from the server.
12. A computer program product according to claim 11 wherein the computer program product when installed in the client controls the client to rewrite the results, when the results from the server include a reference to a subproperty, to add together with a reference to the subproperty references to at least one property from which the subproperty inherits.
13. A client for a database system having a database server and a client, the database server storing data in the form of data items and properties of the data items, wherein at least one of relations between properties and relations between classes are defined, relations between properties being defined as directed links linking pairs of properties as superproperty and subproperty, the subproperty inheriting from the superproperty and from any properties from which the superproperty inherits, relations between classes being defined as directed links between pairs of classes, each pair including a superclass and a subclass, the subclass inheriting from the superclass and from any classes from which the superclass inherits, the client comprising:
an input for accepting an input query including at least one reference to a property;
code arranged to rewrite the input query as a rewritten query by including together with a reference to a property that is a superproperty a reference to one or more properties which inherit from the superproperty andor including together with a reference to a class that is a superclass a reference to one or more classes which inherit from the superclass;
a network connection for connecting to the database server to send the rewritten query to the database server and to receive results from the database server in response to the rewritten query; and
code arranged to rewrite the results by combining results generated from subproperties into the single superproperty.
14. A client according to claim 13 wherein the code arranged to rewrite the results from the server is arranged, when the results from the server include a reference to a subproperty, to rewrite the results from the server to add together with a reference to the subproperty references to at least one property that is upstream of the subproperty.
15. A client according to claim 13 wherein relations between classes are defined, the client further comprising a data store storing the transitive closure of the directed graph of classes.
16. A client according to claim 13 wherein relations between properties are defined, the client further comprising a data store storing the transitive closure of the directed graph of properties.
17. A database system comprising:
a client according to claim 13; and
a database server storing data in the form of data items and properties of the data items.
18. A method for a database system having a server which stores data in the form of data items and properties of the data items, wherein at least one of relations between properties and relations between classes are defined, relations between properties being defined as directed links linking pairs of properties as superproperty and subproperty, the subproperty inheriting from the superproperty and from any properties from which the superproperty inherits, relations between classes being defined as directed links between pairs of classes, each pair including a superclass and a subclass, the subclass inheriting from the superclass and from any classes from which the superclass inherits, the method comprising:
accepting an input query including at least one reference to a property;
rewriting the input query as a rewritten query by including together with a reference to a property that is a superproperty a reference to one or more properties which inherit from the superproperty andor including together with a reference to a class that is a superclass a reference to one or more classes which inherit from the superclass;
sending the rewritten query to the database server; and
receiving the results from the server.
19. A method according to claim 18 further comprising, when the results from the server include a reference to a subproperty, rewriting the results from the server to add together with a reference to the subproperty references to at least one property from which the subproperty inherits.
20. A method of operating a client for a database system, the database system having a server which stores data in the form of data items and properties of the data items,
wherein relations between properties are defined as directed links linking pairs of properties as superproperty and subproperty, the subproperty inheriting from the superproperty and from any properties from which the superproperty inherits, the method comprising:
accepting an input query including at least one reference to a property;
rewriting the input query as a rewritten query by including together with a reference to a property that is a superproperty a reference to one or more properties which inherit from the superproperty,
sending the rewritten query to the database server; and
receiving the results from the server.
21. A method of operating a client for a database system, the database system having a server which stores data in the form of data items, wherein the data items are grouped into classes,
wherein relations between classes are defined as directed links between pairs of classes, each pair including a superclass and a subclass, the subclass inheriting from the superclass and from any classes from which the superclass inherits, the method comprising:
accepting an input query including at least one reference to a property;
rewriting the input query as a rewritten query by including together with a reference to a class that is a superclass a reference to one or more classes which inherit from the superclass,
sending the rewritten query to the database server; and
receiving the results from the server.
22. A method of operating a client for a database which stores data in the form of (i) data items grouped into classes which pair with each other as sub and super class when the subclass is a specific instance of the superclass, thereby inheriting from the superclass and any classes from which that superclass inherits; and
(ii) properties of the data items which pair with each other as sub and super property when the subproperty is a specific instance of the superproperty, thereby inheriting from the superproperty and from any properties from which that superproperty inherits, the method comprising:
accepting an input query which references a property or a class;
rewriting the input query by one or more of:
including together with a reference to a superproperty a reference to one or more properties which inherit from the superproperty; and
including together with a reference to a class that is a superclass a reference to one or more classes which inherit from the superclass,
sending the rewritten query to the database server.
23. A computer readable medium comprising:
at least one sequence of instructions which, when executed by a computer, cause the computer to:
accept an input query including at least one reference to a property;
rewrite the input query as a rewritten query by including together with a reference to a property that is a superproperty a reference to one or more properties which inherit from the superproperty andor including together with a reference to a class that is a superclass a reference to one or more classes which inherit from the superclass, wherein at least one of relations between properties and relations between classes are defined, relations between properties being defined as directed links linking pairs of properties as superproperty and subproperty, the subproperty inheriting from the superproperty and from any properties from which the superproperty inherits, relations between classes being defined as directed links between pairs of classes, each pair including a superclass and a subclass, the subclass inheriting from the superclass and from any classes from which the superclass inherits;
send the rewritten query to a database server comprising a server which stores data in the form of data items and properties of the data items, wherein the data items are grouped into classes; and
receive the results from the server.
The claims below are in addition to those above.
All refrences to claim(s) which appear below refer to the numbering after this setence.
1. A stand for an IP camera, comprising:
a base;
a shaft;
a supporting component standing on the base and configured to hold the IP camera, the supporting component including two end portions and a long portion located between the two end portions, the shaft connecting the supporting component and the IP camera, the hole being disposed between the hinge and the base, the supporting component having a hole penetrating through two opposite elongated surfaces of the long portion; and
a cable organizer, wherein the cable organizer is configured for being inserted into the hole of the long portion such that the cable organizer crosses the long portion, the cable organizer has a first surface, a second surface and a side surface, the second surface is opposite to the first surface, the side surface connects the first surface with the second surface, the cable organizer comprises at least one through hole portion, the through hole portion has a slit that allows a cable to be received through and organized in the through hole portion by passing through the slit, the hole has a first end and a second end corresponding to the first surface and the second surface, respectively, an area of the second end is larger than an area of the first end, the cable organizer includes a board portion and a body portion connected to the board portion, a cross-sectional area of one end of the body portion is larger than a cross-sectional area of anther end of the body portion, and the supporting component is a pillar.
2. The stand of claim 1, wherein the cable organizer is made of an elastic material, and the cable organizer penetrates through the two opposite elongated surfaces of the long portion along a direction perpendicular to the long portion.
3. The stand of claim 2, wherein the elastic material is rubber.
4. The stand of claim 1, wherein the through hole portion is formed through the cable organizer from the first surface to the second surface, and the slit is cut from the side surface into the through hole portion to allow the cable to pass through the cable organizer through the through hole portion.
5. The stand of claim 1, wherein the through hole portion is formed through the cable organizer substantially along the second surface, and the slit is cut into the through hole portion along the second surface to allow the cable to be held on the second surface through the through hole portion.
6. The stand of claim 5, wherein the number of the at least one through hole portion is two.
7. The stand of claim 1, wherein an area of the second surface is larger than a cross-sectional area of the hole such that a portion of the cable organizer is located outside the hole.
8. An IP camera, comprising:
a camera; and
a stand for supporting the camera, the stand comprising:
a base;
a shaft;
a supporting component standing on the base and supporting the camera, the supporting component including two end portions and a long portion located between the two end portions, the shaft connecting the supporting component and the IP camera, the hole being disposed between the hinge and the base, the supporting component having a hole penetrating through two opposite elongated surfaces of the long portion; and
a cable organizer, wherein the cable organizer is configured for being inserted into the hole of the long portion, such that the cable organizer crosses the long portion, the cable organizer has a first surface, a second surface and a side surface, the second surface is opposite to the first surface, the side surface connects the first surface with the second surface, the cable organizer comprises at least one through hole portion, the through hole portion has a slit that allows a cable to be received through and organized in the through hole portion by passing through the slit, the hole has a first end and a second end corresponding to the first surface and the second surface, respectively, an area of the second end is larger than an area of the first end, the cable organizer includes a board portion and a body portion connected to the board portion, a cross-sectional area of one end of the body portion is larger than a cross-sectional area of anther end of the body portion, and the supporting component is a pillar.
9. The IP camera of claim 8, wherein the cable organizer is made of an elastic material, and the cable organizer penetrates through the two opposite elongated surfaces of the long portion along a direction perpendicular to the long portion.
10. The IP camera of claim 9, wherein the elastic material is rubber.
11. The IP camera of claim 8, wherein the through hole portion is formed through the cable organizer from the first surface to the second surface, and the slit is cut from the side surface into the through hole portion to allow the cable to pass through the cable organizer through the through hole portion.
12. The IP camera of claim 8, wherein the through hole portion is formed through the cable organizer substantially along the second surface, and the slit is cut into the through hole portion along the second surface to allow the cable to be held on the second surface through the through hole portion.
13. The IP camera of claim 12, wherein the number of the at least one through hole portion is two.