1.-13. (canceled)
14. A method implemented by a server for handling a database query directed to a semantic database having information stored according to a preset ontology structure and annotated in a machine-readable format as element identifiers comprising triplets with a subject, predicate, and object, the method comprising:
collecting statistics derived from the information stored in the database, wherein collecting the statistics comprises:
determining a number NSP of distinct subjects appearing in triplets with a predicate P;
determining a number NOP of distinct objects appearing in triplets with the predicate P;
wherein the determining of NSP and NOP is performed for individual unique predicates P1, P2, . . . PM appearing in the database;
defining semantic rules relating to conclusions implied by the information stored in the database;
receiving a database query including a first set of sub-queries;
rewriting the received database query as a second set of sub-queries in the triplet format based on at least one of: the ontology structure, the collected statistics, and the defined rules;
calculating a Reduction Rate for the second set of sub-queries based on the collected statistics, wherein the Reduction Rate relates to the numbers of distinct subjects and objects appearing in triplets in the database with predicates provided in the second set of sub-queries; and
providing the second set of sub-queries as a modified query in which the sub-queries of the second set are in an order arranged at least partly according to decreasing Reduction Rate, for execution in that order when searching the database.
15. The method of claim 14, wherein the received database query has a SPARQL format.
16. The method of claim 14, wherein the sub-queries of the first and second sets are defined in terms of \u201cSELECT-WHERE\u201d clauses.
17. The method of claim 14, wherein NSP and NOP are determined by executing predefined queries with the unique predicates in the database and with variable subjects and objects.
18. The method of claim 14, wherein the Reduction Rate (RR) is calculated for a given sub-query of the second set with a predicate Pm as:
RR
P
m
=
MUB
\ue8a0
(
V
s
)
N
s
P
m
\ue89e
MUB
\ue8a0
(
V
o
)
N
o
P
m
where MUB(VS) is a Minimum Upper Bound for subject variable VS in the given sub-query; MUB(VO) is a Minimum Upper Bound for object variable VO in the given sub-query; NSPm is a number of distinct subjects S appearing in triplets with the predicate Pm; and NOPm is a number of distinct objects appearing in triplets with the predicate Pm.
19. The method of claim 18:
wherein the Minimum Upper Bound for the subject variable MUB(VS) is determined as a minimum value of statistics collected for the subject variable;
wherein the Minimum Upper Bound for the object variable MUB(VO) is determined as a minimum value of statistics collected for the object variable; and
wherein a Minimum Upper Bound is determined for substantially all variables appearing in the sub-queries of the second set.
20. The method of claim 14, wherein the order of sub-queries of the second set in the modified query is entirely arranged according to decreasing Reduction Rate.
21. A server configured to handle a database query directed to a semantic database having information stored according to a preset ontology structure and annotated in a machine-readable format as element identifiers comprising triplets with a subject, predicate and object, wherein the server comprises:
a data analyzer configured to collect statistics derived from the information in the database by being configured to:
collect the statistics by determining a number NSP of distinct subjects appearing in triplets with a predicate P;
determine a number NOP of distinct objects appearing in triplets with the predicate P;
wherein NSP and NOP are determined for individual unique predicates P1, P2, . . . PM appearing in the database; and
wherein the data analyser is configured to define semantic rules relating to conclusions implied by the information in the database;
a communication module configured to receive a database query including a first set of sub-queries; and
a query optimizer configured to:
rewrite the received database query as a second set of sub-queries in the triplet format based on at least one of: the ontology structure, the collected statistics, and the defined rules;
calculate a Reduction Rate for the second set of sub-queries based on the statistics collected by the data analyzer, wherein the Reduction Rate relates to the numbers of distinct subjects and objects appearing in triplets in the database with predicates provided in the second set of sub-queries; and
provide the second set of sub-queries as a modified query in which the sub-queries of the second set are in an order arranged at least partly according to decreasing Reduction Rate, for execution in that order when searching the database.
22. The server of claim 21, further comprising:
a search module configured to perform a search by executing the second set of sub-queries in the database;
wherein the communication module is further configured to return a response with results from the search.
23. The server of claim 21, wherein the data analyzer is further configured to determine NSP and NOP by executing predefined queries with the unique predicates in the database and with variable subjects and objects.
24. The server of claim 21, wherein the query optimizer is further configured to calculate the Reduction Rate (RR) for a given sub-query of the second set with a predicate Pm as:
RR
P
m
=
MUB
\ue8a0
(
V
s
)
N
s
P
m
\ue89e
MUB
\ue8a0
(
V
o
)
N
o
P
m
where MUB(VS) is a Minimum Upper Bound for a subject variable VS in the given sub-query; MUB(VO) is a Minimum Upper Bound for object variable VO in the given sub-query; NSPm is the number of distinct subjects S appearing in triplets with the predicate Pm; and NOPm is a number of distinct objects O appearing in triplets with the predicate Pm.
25. The server of claim 14, wherein the query optimizer is further configured to:
determine the Minimum Upper Bound for the subject variable MUB(VS) as a minimum value of statistics collected for the subject variable;
determine the Minimum Upper Bound for the object variable MUB(VO) as a minimum value of statistics collected for the object variable; and
determine a Minimum Upper Bound for substantially all variables appearing in the sub-queries of the second set.
26. The server of claim 21, wherein the order of sub-queries of the second set in the modified query is entirely arranged according to decreasing Reduction Rate.
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 printed wiring board comprising a substrate, a plurality of pads formed on the substrate, a surface conductor layer formed around the pads, and a solder resist layer formed to expose at least portions of the pads on the substrate on which the pads and the surface conductor layer are formed,
wherein at least one of said plurality of pads is partially in contact with the surface conductor layer.
2. A board according to claim 1, wherein the substrate comprises an internal conductor pattern, and a via hole including a conductor pattern for extracting the internal conductor pattern to a substrate surface, and the conductor in the via hole and the internal conductor pattern are entirely in contact with each other.
3. A board according to claim 1, further comprising a plurality of pads arranged to mount a ball grid array package comprising a plurality of solder balls,
wherein at least one of pads positioned in corners of the ball grid array package is partially in contact with the surface conductor layer.
4. A board according to claim 3, wherein in a portion of at least one row of a plurality of pads positioned in an outer peripheral region, said each pad and the surface conductor layer are partially in contact with each other.
5. A board according to claim 1, wherein a contact portion of the pad and the surface conductor layer is formed along a direction in which an electric current flows.
6. A printed circuit board comprising a packaging structure in which a printed wiring board comprising a substrate, a plurality of pads formed on the substrate, a surface conductor layer formed around the pads, and a solder resist layer formed to expose at least portions of the pads on the substrate on which the pads and the surface conductor layer are formed and a ball grid array package comprising a plurality of solder balls are connected by melting the solder balls on the pads,
wherein at least one of said plurality of pads is partially in contact with the surface conductor layer.
7. A board according to claim 6, wherein the substrate comprises an internal conductor pattern, and a via hole including a conductor pattern for extracting the internal conductor pattern to a substrate surface, and the conductor in the via hole and the internal conductor pattern are entirely in contact with each other.
8. A board according to claim 6, wherein at least one of pads positioned in corners of an outer peripheral region of the ball grid array package is partially in contact with the surface conductor layer.
9. A board according to claim 8, wherein a portion of at least one row of pads positioned in the outer peripheral region is partially in contact with the surface conductor layer.
10. A board according to claim 6, wherein a contact portion of the pad and the surface conductor layer is formed along a direction in which an electric current flows.